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