##// END OF EJS Templates
Added default value for enumerations....
Jean-Philippe Lang -
r792:73dba2ac044f
parent child
Show More
@@ -0,0 +1,9
1 class AddEnumerationsIsDefault < ActiveRecord::Migration
2 def self.up
3 add_column :enumerations, :is_default, :boolean, :default => false, :null => false
4 end
5
6 def self.down
7 remove_column :enumerations, :is_default
8 end
9 end
@@ -34,14 +34,18 class Enumeration < ActiveRecord::Base
34 def self.get_values(option)
34 def self.get_values(option)
35 find(:all, :conditions => {:opt => option}, :order => 'position')
35 find(:all, :conditions => {:opt => option}, :order => 'position')
36 end
36 end
37
38 def self.default(option)
39 find(:first, :conditions => {:opt => option, :is_default => true}, :order => 'position')
40 end
37
41
38 def option_name
42 def option_name
39 OPTIONS[self.opt]
43 OPTIONS[self.opt]
40 end
44 end
41
45
42 #def <=>(enumeration)
46 def before_save
43 # position <=> enumeration.position
47 Enumeration.update_all("is_default = #{connection.quoted_false}", {:opt => opt}) if is_default?
44 #end
48 end
45
49
46 def to_s; name end
50 def to_s; name end
47
51
@@ -46,9 +46,17 class Issue < ActiveRecord::Base
46 validates_numericality_of :estimated_hours, :allow_nil => true
46 validates_numericality_of :estimated_hours, :allow_nil => true
47 validates_associated :custom_values, :on => :update
47 validates_associated :custom_values, :on => :update
48
48
49 # set default status for new issues
49 def after_initialize
50 def before_validation
50 if new_record?
51 self.status = IssueStatus.default if status.nil?
51 # set default values for new records only
52 self.status ||= IssueStatus.default
53 self.priority ||= Enumeration.default('IPRI')
54 end
55 end
56
57 def priority_id=(pid)
58 self.priority = nil
59 write_attribute(:priority_id, pid)
52 end
60 end
53
61
54 def validate
62 def validate
@@ -5,5 +5,8
5
5
6 <p><label for="enumeration_name"><%=l(:field_name)%></label>
6 <p><label for="enumeration_name"><%=l(:field_name)%></label>
7 <%= text_field 'enumeration', 'name' %></p>
7 <%= text_field 'enumeration', 'name' %></p>
8
9 <p><label for="enumeration_is_default"><%=l(:field_is_default)%></label>
10 <%= check_box 'enumeration', 'is_default' %></p>
8 <!--[eoform:optvalue]-->
11 <!--[eoform:optvalue]-->
9 </div> No newline at end of file
12 </div>
@@ -9,6 +9,7
9 <% enumerations.each do |enumeration| %>
9 <% enumerations.each do |enumeration| %>
10 <tr class="<%= cycle('odd', 'even') %>">
10 <tr class="<%= cycle('odd', 'even') %>">
11 <td><%= link_to enumeration.name, :action => 'edit', :id => enumeration %></td>
11 <td><%= link_to enumeration.name, :action => 'edit', :id => enumeration %></td>
12 <td style="width:15%;"><%= image_tag('true.png') if enumeration.is_default? %></td>
12 <td style="width:15%;">
13 <td style="width:15%;">
13 <%= link_to image_tag('2uparrow.png', :alt => l(:label_sort_highest)), {:action => 'move', :id => enumeration, :position => 'highest'}, :method => :post, :title => l(:label_sort_highest) %>
14 <%= link_to image_tag('2uparrow.png', :alt => l(:label_sort_highest)), {:action => 'move', :id => enumeration, :position => 'highest'}, :method => :post, :title => l(:label_sort_highest) %>
14 <%= link_to image_tag('1uparrow.png', :alt => l(:label_sort_higher)), {:action => 'move', :id => enumeration, :position => 'higher'}, :method => :post, :title => l(:label_sort_higher) %> -
15 <%= link_to image_tag('1uparrow.png', :alt => l(:label_sort_higher)), {:action => 'move', :id => enumeration, :position => 'higher'}, :method => :post, :title => l(:label_sort_higher) %> -
@@ -106,7 +106,7 field_issue: Issue
106 field_status: Status
106 field_status: Status
107 field_notes: Notes
107 field_notes: Notes
108 field_is_closed: Issue closed
108 field_is_closed: Issue closed
109 field_is_default: Default status
109 field_is_default: Default value
110 field_html_color: Color
110 field_html_color: Color
111 field_tracker: Tracker
111 field_tracker: Tracker
112 field_subject: Subject
112 field_subject: Subject
@@ -106,7 +106,7 field_issue: Demande
106 field_status: Statut
106 field_status: Statut
107 field_notes: Notes
107 field_notes: Notes
108 field_is_closed: Demande fermée
108 field_is_closed: Demande fermée
109 field_is_default: Statut par défaut
109 field_is_default: Valeur par défaut
110 field_html_color: Couleur
110 field_html_color: Couleur
111 field_tracker: Tracker
111 field_tracker: Tracker
112 field_subject: Sujet
112 field_subject: Sujet
General Comments 0
You need to be logged in to leave comments. Login now