@@ -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 |
|
|
|
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 |
|
|
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: |
|
|
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