##// END OF EJS Templates
Set enumeration positions and default priority (Normal) in default configuration data....
Jean-Philippe Lang -
r805:df631e8c06d7
parent child
Show More
@@ -1,168 +1,168
1 desc 'Load Redmine default configuration data'
1 desc 'Load Redmine default configuration data'
2
2
3 namespace :redmine do
3 namespace :redmine do
4 task :load_default_data => :environment do
4 task :load_default_data => :environment do
5 include GLoc
5 include GLoc
6 set_language_if_valid('en')
6 set_language_if_valid('en')
7 puts
7 puts
8
8
9 while true
9 while true
10 print "Select language: "
10 print "Select language: "
11 print GLoc.valid_languages.sort {|x,y| x.to_s <=> y.to_s }.join(", ")
11 print GLoc.valid_languages.sort {|x,y| x.to_s <=> y.to_s }.join(", ")
12 print " [#{GLoc.current_language}] "
12 print " [#{GLoc.current_language}] "
13 lang = STDIN.gets.chomp!
13 lang = STDIN.gets.chomp!
14 break if lang.empty?
14 break if lang.empty?
15 break if set_language_if_valid(lang)
15 break if set_language_if_valid(lang)
16 puts "Unknown language!"
16 puts "Unknown language!"
17 end
17 end
18
18
19 puts "===================================="
19 puts "===================================="
20
20
21 begin
21 begin
22 # check that no data already exists
22 # check that no data already exists
23 if Role.find(:first, :conditions => {:builtin => 0})
23 if Role.find(:first, :conditions => {:builtin => 0})
24 raise "Some roles are already defined."
24 raise "Some roles are already defined."
25 end
25 end
26 if Tracker.find(:first)
26 if Tracker.find(:first)
27 raise "Some trackers are already defined."
27 raise "Some trackers are already defined."
28 end
28 end
29 if IssueStatus.find(:first)
29 if IssueStatus.find(:first)
30 raise "Some statuses are already defined."
30 raise "Some statuses are already defined."
31 end
31 end
32 if Enumeration.find(:first)
32 if Enumeration.find(:first)
33 raise "Some enumerations are already defined."
33 raise "Some enumerations are already defined."
34 end
34 end
35
35
36 puts "Loading default configuration data for language: #{current_language}"
36 puts "Loading default configuration data for language: #{current_language}"
37
37
38 # roles
38 # roles
39 manager = Role.create :name => l(:default_role_manager),
39 manager = Role.create :name => l(:default_role_manager),
40 :position => 1
40 :position => 1
41 manager.permissions = manager.setable_permissions.collect {|p| p.name}
41 manager.permissions = manager.setable_permissions.collect {|p| p.name}
42 manager.save
42 manager.save
43
43
44 developper = Role.create :name => l(:default_role_developper),
44 developper = Role.create :name => l(:default_role_developper),
45 :position => 2,
45 :position => 2,
46 :permissions => [:manage_versions,
46 :permissions => [:manage_versions,
47 :manage_categories,
47 :manage_categories,
48 :add_issues,
48 :add_issues,
49 :edit_issues,
49 :edit_issues,
50 :manage_issue_relations,
50 :manage_issue_relations,
51 :add_issue_notes,
51 :add_issue_notes,
52 :change_issue_status,
52 :change_issue_status,
53 :save_queries,
53 :save_queries,
54 :view_gantt,
54 :view_gantt,
55 :view_calendar,
55 :view_calendar,
56 :log_time,
56 :log_time,
57 :view_time_entries,
57 :view_time_entries,
58 :comment_news,
58 :comment_news,
59 :view_documents,
59 :view_documents,
60 :view_wiki_pages,
60 :view_wiki_pages,
61 :edit_wiki_pages,
61 :edit_wiki_pages,
62 :delete_wiki_pages,
62 :delete_wiki_pages,
63 :add_messages,
63 :add_messages,
64 :view_files,
64 :view_files,
65 :manage_files,
65 :manage_files,
66 :browse_repository,
66 :browse_repository,
67 :view_changesets]
67 :view_changesets]
68
68
69 reporter = Role.create :name => l(:default_role_reporter),
69 reporter = Role.create :name => l(:default_role_reporter),
70 :position => 3,
70 :position => 3,
71 :permissions => [:add_issues,
71 :permissions => [:add_issues,
72 :add_issue_notes,
72 :add_issue_notes,
73 :change_issue_status,
73 :change_issue_status,
74 :save_queries,
74 :save_queries,
75 :view_gantt,
75 :view_gantt,
76 :view_calendar,
76 :view_calendar,
77 :log_time,
77 :log_time,
78 :view_time_entries,
78 :view_time_entries,
79 :comment_news,
79 :comment_news,
80 :view_documents,
80 :view_documents,
81 :view_wiki_pages,
81 :view_wiki_pages,
82 :add_messages,
82 :add_messages,
83 :view_files,
83 :view_files,
84 :browse_repository,
84 :browse_repository,
85 :view_changesets]
85 :view_changesets]
86
86
87 Role.non_member.update_attribute :permissions, [:add_issues,
87 Role.non_member.update_attribute :permissions, [:add_issues,
88 :add_issue_notes,
88 :add_issue_notes,
89 :change_issue_status,
89 :change_issue_status,
90 :save_queries,
90 :save_queries,
91 :view_gantt,
91 :view_gantt,
92 :view_calendar,
92 :view_calendar,
93 :view_time_entries,
93 :view_time_entries,
94 :comment_news,
94 :comment_news,
95 :view_documents,
95 :view_documents,
96 :view_wiki_pages,
96 :view_wiki_pages,
97 :add_messages,
97 :add_messages,
98 :view_files,
98 :view_files,
99 :browse_repository,
99 :browse_repository,
100 :view_changesets]
100 :view_changesets]
101
101
102 Role.anonymous.update_attribute :permissions, [:view_gantt,
102 Role.anonymous.update_attribute :permissions, [:view_gantt,
103 :view_calendar,
103 :view_calendar,
104 :view_time_entries,
104 :view_time_entries,
105 :view_documents,
105 :view_documents,
106 :view_wiki_pages,
106 :view_wiki_pages,
107 :view_files,
107 :view_files,
108 :browse_repository,
108 :browse_repository,
109 :view_changesets]
109 :view_changesets]
110
110
111 # trackers
111 # trackers
112 Tracker.create(:name => l(:default_tracker_bug), :is_in_chlog => true, :is_in_roadmap => false, :position => 1)
112 Tracker.create(:name => l(:default_tracker_bug), :is_in_chlog => true, :is_in_roadmap => false, :position => 1)
113 Tracker.create(:name => l(:default_tracker_feature), :is_in_chlog => true, :is_in_roadmap => true, :position => 2)
113 Tracker.create(:name => l(:default_tracker_feature), :is_in_chlog => true, :is_in_roadmap => true, :position => 2)
114 Tracker.create(:name => l(:default_tracker_support), :is_in_chlog => false, :is_in_roadmap => false, :position => 3)
114 Tracker.create(:name => l(:default_tracker_support), :is_in_chlog => false, :is_in_roadmap => false, :position => 3)
115
115
116 # issue statuses
116 # issue statuses
117 new = IssueStatus.create(:name => l(:default_issue_status_new), :is_closed => false, :is_default => true, :html_color => 'F98787', :position => 1)
117 new = IssueStatus.create(:name => l(:default_issue_status_new), :is_closed => false, :is_default => true, :html_color => 'F98787', :position => 1)
118 assigned = IssueStatus.create(:name => l(:default_issue_status_assigned), :is_closed => false, :is_default => false, :html_color => 'C0C0FF', :position => 2)
118 assigned = IssueStatus.create(:name => l(:default_issue_status_assigned), :is_closed => false, :is_default => false, :html_color => 'C0C0FF', :position => 2)
119 resolved = IssueStatus.create(:name => l(:default_issue_status_resolved), :is_closed => false, :is_default => false, :html_color => '88E0B3', :position => 3)
119 resolved = IssueStatus.create(:name => l(:default_issue_status_resolved), :is_closed => false, :is_default => false, :html_color => '88E0B3', :position => 3)
120 feedback = IssueStatus.create(:name => l(:default_issue_status_feedback), :is_closed => false, :is_default => false, :html_color => 'F3A4F4', :position => 4)
120 feedback = IssueStatus.create(:name => l(:default_issue_status_feedback), :is_closed => false, :is_default => false, :html_color => 'F3A4F4', :position => 4)
121 closed = IssueStatus.create(:name => l(:default_issue_status_closed), :is_closed => true, :is_default => false, :html_color => 'DBDBDB', :position => 5)
121 closed = IssueStatus.create(:name => l(:default_issue_status_closed), :is_closed => true, :is_default => false, :html_color => 'DBDBDB', :position => 5)
122 rejected = IssueStatus.create(:name => l(:default_issue_status_rejected), :is_closed => true, :is_default => false, :html_color => 'F5C28B', :position => 6)
122 rejected = IssueStatus.create(:name => l(:default_issue_status_rejected), :is_closed => true, :is_default => false, :html_color => 'F5C28B', :position => 6)
123
123
124 # workflow
124 # workflow
125 Tracker.find(:all).each { |t|
125 Tracker.find(:all).each { |t|
126 IssueStatus.find(:all).each { |os|
126 IssueStatus.find(:all).each { |os|
127 IssueStatus.find(:all).each { |ns|
127 IssueStatus.find(:all).each { |ns|
128 Workflow.create(:tracker_id => t.id, :role_id => manager.id, :old_status_id => os.id, :new_status_id => ns.id) unless os == ns
128 Workflow.create(:tracker_id => t.id, :role_id => manager.id, :old_status_id => os.id, :new_status_id => ns.id) unless os == ns
129 }
129 }
130 }
130 }
131 }
131 }
132
132
133 Tracker.find(:all).each { |t|
133 Tracker.find(:all).each { |t|
134 [new, assigned, resolved, feedback].each { |os|
134 [new, assigned, resolved, feedback].each { |os|
135 [assigned, resolved, feedback, closed].each { |ns|
135 [assigned, resolved, feedback, closed].each { |ns|
136 Workflow.create(:tracker_id => t.id, :role_id => developper.id, :old_status_id => os.id, :new_status_id => ns.id) unless os == ns
136 Workflow.create(:tracker_id => t.id, :role_id => developper.id, :old_status_id => os.id, :new_status_id => ns.id) unless os == ns
137 }
137 }
138 }
138 }
139 }
139 }
140
140
141 Tracker.find(:all).each { |t|
141 Tracker.find(:all).each { |t|
142 [new, assigned, resolved, feedback].each { |os|
142 [new, assigned, resolved, feedback].each { |os|
143 [closed].each { |ns|
143 [closed].each { |ns|
144 Workflow.create(:tracker_id => t.id, :role_id => reporter.id, :old_status_id => os.id, :new_status_id => ns.id) unless os == ns
144 Workflow.create(:tracker_id => t.id, :role_id => reporter.id, :old_status_id => os.id, :new_status_id => ns.id) unless os == ns
145 }
145 }
146 }
146 }
147 Workflow.create(:tracker_id => t.id, :role_id => reporter.id, :old_status_id => resolved.id, :new_status_id => feedback.id)
147 Workflow.create(:tracker_id => t.id, :role_id => reporter.id, :old_status_id => resolved.id, :new_status_id => feedback.id)
148 }
148 }
149
149
150 # enumerations
150 # enumerations
151 Enumeration.create(:opt => "DCAT", :name => l(:default_doc_category_user))
151 Enumeration.create(:opt => "DCAT", :name => l(:default_doc_category_user), :position => 1)
152 Enumeration.create(:opt => "DCAT", :name => l(:default_doc_category_tech))
152 Enumeration.create(:opt => "DCAT", :name => l(:default_doc_category_tech), :position => 2)
153
153
154 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_low))
154 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_low), :position => 1)
155 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_normal))
155 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_normal), :position => 2, :is_default => true)
156 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_high))
156 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_high), :position => 3)
157 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_urgent))
157 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_urgent), :position => 4)
158 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_immediate))
158 Enumeration.create(:opt => "IPRI", :name => l(:default_priority_immediate), :position => 5)
159
159
160 Enumeration.create(:opt => "ACTI", :name => l(:default_activity_design))
160 Enumeration.create(:opt => "ACTI", :name => l(:default_activity_design), :position => 1)
161 Enumeration.create(:opt => "ACTI", :name => l(:default_activity_development))
161 Enumeration.create(:opt => "ACTI", :name => l(:default_activity_development), :position => 2)
162
162
163 rescue => error
163 rescue => error
164 puts "Error: " + error
164 puts "Error: " + error
165 puts "Default configuration data can't be loaded."
165 puts "Default configuration data can't be loaded."
166 end
166 end
167 end
167 end
168 end
168 end
General Comments 0
You need to be logged in to leave comments. Login now