##// 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 34 def self.get_values(option)
35 35 find(:all, :conditions => {:opt => option}, :order => 'position')
36 36 end
37
38 def self.default(option)
39 find(:first, :conditions => {:opt => option, :is_default => true}, :order => 'position')
40 end
37 41
38 42 def option_name
39 43 OPTIONS[self.opt]
40 44 end
41
42 #def <=>(enumeration)
43 # position <=> enumeration.position
44 #end
45
46 def before_save
47 Enumeration.update_all("is_default = #{connection.quoted_false}", {:opt => opt}) if is_default?
48 end
45 49
46 50 def to_s; name end
47 51
@@ -46,9 +46,17 class Issue < ActiveRecord::Base
46 46 validates_numericality_of :estimated_hours, :allow_nil => true
47 47 validates_associated :custom_values, :on => :update
48 48
49 # set default status for new issues
50 def before_validation
51 self.status = IssueStatus.default if status.nil?
49 def after_initialize
50 if new_record?
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 60 end
53 61
54 62 def validate
@@ -5,5 +5,8
5 5
6 6 <p><label for="enumeration_name"><%=l(:field_name)%></label>
7 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 11 <!--[eoform:optvalue]-->
9 12 </div> No newline at end of file
@@ -9,6 +9,7
9 9 <% enumerations.each do |enumeration| %>
10 10 <tr class="<%= cycle('odd', 'even') %>">
11 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 13 <td style="width:15%;">
13 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 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 106 field_status: Status
107 107 field_notes: Notes
108 108 field_is_closed: Issue closed
109 field_is_default: Default status
109 field_is_default: Default value
110 110 field_html_color: Color
111 111 field_tracker: Tracker
112 112 field_subject: Subject
@@ -106,7 +106,7 field_issue: Demande
106 106 field_status: Statut
107 107 field_notes: Notes
108 108 field_is_closed: Demande fermée
109 field_is_default: Statut par défaut
109 field_is_default: Valeur par défaut
110 110 field_html_color: Couleur
111 111 field_tracker: Tracker
112 112 field_subject: Sujet
General Comments 0
You need to be logged in to leave comments. Login now