]> source.dussan.org Git - redmine.git/commitdiff
Adds custom fields for versions (#4219).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 15 Nov 2009 15:22:55 +0000 (15:22 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 15 Nov 2009 15:22:55 +0000 (15:22 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3064 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/versions_controller.rb
app/helpers/custom_fields_helper.rb
app/models/version.rb
app/models/version_custom_field.rb [new file with mode: 0644]
app/views/versions/_form.rhtml
app/views/versions/_overview.rhtml

index 6513d080c86611f677394a7d8fb5640878975768..7be042d9f11fecc6bccf89146530de4095e6240e 100644 (file)
@@ -21,6 +21,8 @@ class VersionsController < ApplicationController
   before_filter :find_project, :only => :close_completed
   before_filter :authorize
 
+  helper :custom_fields
+  
   def show
   end
   
index 13348546b2875b4bc80b75cef14b83a0286205fb..e11f7ccfe5f024cc52adc0d5233e0039996222d5 100644 (file)
@@ -21,6 +21,7 @@ module CustomFieldsHelper
     tabs = [{:name => 'IssueCustomField', :partial => 'custom_fields/index', :label => :label_issue_plural},
             {:name => 'TimeEntryCustomField', :partial => 'custom_fields/index', :label => :label_spent_time},
             {:name => 'ProjectCustomField', :partial => 'custom_fields/index', :label => :label_project_plural},
+            {:name => 'VersionCustomField', :partial => 'custom_fields/index', :label => :label_version_plural},
             {:name => 'UserCustomField', :partial => 'custom_fields/index', :label => :label_user_plural},
             {:name => 'GroupCustomField', :partial => 'custom_fields/index', :label => :label_group_plural},
             {:name => 'TimeEntryActivityCustomField', :partial => 'custom_fields/index', :label => TimeEntryActivity::OptionName},
index dc72e821285006b7ec1e1a2bc43177492f5f118f..e63ed46cf04777d3b5342cc17e0ce01667346ecc 100644 (file)
@@ -19,6 +19,7 @@ class Version < ActiveRecord::Base
   before_destroy :check_integrity
   belongs_to :project
   has_many :fixed_issues, :class_name => 'Issue', :foreign_key => 'fixed_version_id'
+  acts_as_customizable
   acts_as_attachable :view_permission => :view_files,
                      :delete_permission => :manage_files
 
diff --git a/app/models/version_custom_field.rb b/app/models/version_custom_field.rb
new file mode 100644 (file)
index 0000000..400caf0
--- /dev/null
@@ -0,0 +1,22 @@
+# Redmine - project management software
+# Copyright (C) 2006-2009  Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+class VersionCustomField < CustomField
+  def type_name
+    :label_version_plural
+  end
+end
index dfdbc18fee7f94582b6bb7867f0b383d103193b1..13579b8b63793f16cd4dc40bf9b41ad4d2758919 100644 (file)
@@ -6,4 +6,8 @@
 <p><%= f.select :status, Version::VERSION_STATUSES.collect {|s| [l("version_status_#{s}"), s]} %></p>
 <p><%= f.text_field :wiki_page_title, :label => :label_wiki_page, :size => 60, :disabled => @project.wiki.nil? %></p>
 <p><%= f.text_field :effective_date, :size => 10 %><%= calendar_for('version_effective_date') %></p>
+
+<% @version.custom_field_values.each do |value| %>
+       <p><%= custom_field_tag_with_label :version, value %></p>
+<% end %>
 </div>
index 724f9f92375a7017fc47abb179a4b39e91369e7e..550cf3e78bf899c6c790caea9e5e4e5124a737fc 100644 (file)
@@ -5,6 +5,13 @@
 <% end %>
 
 <p><%=h version.description %></p>
+<ul>
+       <% version.custom_values.each do |custom_value| %>
+               <% if !custom_value.value.blank? %>
+                  <li><%=h custom_value.custom_field.name %>: <%=h show_value(custom_value) %></li>
+               <% end %>
+       <% end %>
+</ul>
 
 <% if version.fixed_issues.count > 0 %>
     <%= progress_bar([version.closed_pourcent, version.completed_pourcent], :width => '40em', :legend => ('%0.0f%' % version.completed_pourcent)) %>