OSDN Git Service

Fixed Mantis importer: projects trackers and modules assignment
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 29 Nov 2007 20:08:14 +0000 (20:08 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 29 Nov 2007 20:08:14 +0000 (20:08 +0000)
Fixed Trac and Mantis importers: roles assignments

git-svn-id: http://redmine.rubyforge.org/svn/trunk@936 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/tasks/migrate_from_mantis.rake
lib/tasks/migrate_from_trac.rake
test/functional/search_controller_test.rb

index fff668b..593d59d 100644 (file)
@@ -53,9 +53,10 @@ task :migrate_from_mantis => :environment do
       TRACKER_BUG = Tracker.find_by_position(1)\r
       TRACKER_FEATURE = Tracker.find_by_position(2)\r
       \r
-      DEFAULT_ROLE = Role.find_by_position(3)\r
-      manager_role = Role.find_by_position(1)\r
-      developer_role = Role.find_by_position(2)\r
+      roles = Role.find(:all, :conditions => {:builtin => 0}, :order => 'position ASC')\r
+      manager_role = roles[0]\r
+      developer_role = roles[1]\r
+      DEFAULT_ROLE = roles.last\r
       ROLE_MAPPING = {10 => DEFAULT_ROLE,   # viewer\r
                       25 => DEFAULT_ROLE,   # reporter\r
                       40 => DEFAULT_ROLE,   # updater\r
@@ -268,6 +269,9 @@ task :migrate_from_mantis => :environment do
        p.identifier = project.identifier\r
        next unless p.save\r
        projects_map[project.id] = p.id\r
+       p.enabled_module_names = ['issue_tracking', 'news', 'wiki']\r
+        p.trackers << TRACKER_BUG\r
+        p.trackers << TRACKER_FEATURE\r
        print '.'\r
        \r
        # Project members\r
index 6467a54..429b396 100644 (file)
@@ -54,10 +54,11 @@ namespace :redmine do
                            'task' => TRACKER_FEATURE,
                            'patch' =>TRACKER_FEATURE
                            }
-                            
-        DEFAULT_ROLE = Role.find_by_position(3)
-        manager_role = Role.find_by_position(1)
-        developer_role = Role.find_by_position(2)
+        
+        roles = Role.find(:all, :conditions => {:builtin => 0}, :order => 'position ASC')
+        manager_role = roles[0]
+        developer_role = roles[1]
+        DEFAULT_ROLE = roles.last
         ROLE_MAPPING = {'admin' => manager_role,
                         'developer' => developer_role
                         }
@@ -173,7 +174,7 @@ namespace :redmine do
           elsif TracPermission.find_by_username_and_action(username, 'developer')
             role = ROLE_MAPPING['developer']
           end
-          Member.create(:user => u, :project => @target_project, :role => DEFAULT_ROLE)
+          Member.create(:user => u, :project => @target_project, :role => role)
           u.reload
         end
         u
index 4ed7931..5e3673a 100644 (file)
@@ -46,4 +46,9 @@ class SearchControllerTest < Test::Unit::TestCase
     assert_response :success
     assert_template 'index'
   end
+  
+  def test_tokens_with_quotes
+    get :index, :id => 1, :q => '"good bye" hello "bye bye"'
+    assert_equal ["good bye", "hello", "bye bye"], assigns(:tokens)
+  end
 end