diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-01-12 12:05:31 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-01-12 12:05:31 +0000 |
commit | 2c9b04fdfd0c5c5488b1a82285b820604c6f0e9d (patch) | |
tree | 4f486bc75ec9588e8d32e7952e11ed73f2cba1ba | |
parent | d82334dd787cf6ff6392ed45777fa1c98f2f4196 (diff) | |
download | redmine-2c9b04fdfd0c5c5488b1a82285b820604c6f0e9d.tar.gz redmine-2c9b04fdfd0c5c5488b1a82285b820604c6f0e9d.zip |
Subprojects inherit versions from their parent project (can be disabled in Admin -> Settings -> Projects).
git-svn-id: http://redmine.rubyforge.org/svn/branches/work@1055 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | project_inheritance/app/controllers/reports_controller.rb | 4 | ||||
-rw-r--r-- | project_inheritance/app/models/project.rb | 6 | ||||
-rw-r--r-- | project_inheritance/app/models/query.rb | 2 | ||||
-rw-r--r-- | project_inheritance/app/views/issues/_form.rhtml | 2 | ||||
-rw-r--r-- | project_inheritance/app/views/settings/_projects.rhtml | 4 | ||||
-rw-r--r-- | project_inheritance/config/settings.yml | 2 |
6 files changed, 16 insertions, 4 deletions
diff --git a/project_inheritance/app/controllers/reports_controller.rb b/project_inheritance/app/controllers/reports_controller.rb index e18e117a6..cca0b37ab 100644 --- a/project_inheritance/app/controllers/reports_controller.rb +++ b/project_inheritance/app/controllers/reports_controller.rb @@ -31,7 +31,7 @@ class ReportsController < ApplicationController render :template => "reports/issue_report_details" when "version" @field = "fixed_version_id" - @rows = @project.versions.sort + @rows = @project.assignable_versions @data = issues_by_version @report_title = l(:field_version) render :template => "reports/issue_report_details" @@ -61,7 +61,7 @@ class ReportsController < ApplicationController render :template => "reports/issue_report_details" else @trackers = @project.trackers - @versions = @project.versions.sort + @versions = @project.assignable_versions @priorities = Enumeration::get_values('IPRI') @categories = @project.issue_categories @authors = @project.members.collect { |m| m.user } diff --git a/project_inheritance/app/models/project.rb b/project_inheritance/app/models/project.rb index 2829af5f7..16f81a08b 100644 --- a/project_inheritance/app/models/project.rb +++ b/project_inheritance/app/models/project.rb @@ -158,6 +158,12 @@ class Project < ActiveRecord::Base m.select {|m| m.role.assignable?}.collect {|m| m.user}.uniq.sort end + def assignable_versions + v = versions + v += parent.versions if Setting.subprojects_inherit_versions? && parent + v.sort + end + # Returns the mail adresses of users that should be always notified on project events def recipients members.select {|m| m.mail_notification? || m.user.mail_notification?}.collect {|m| m.user.mail} diff --git a/project_inheritance/app/models/query.rb b/project_inheritance/app/models/query.rb index 61a559d16..afdae5946 100644 --- a/project_inheritance/app/models/query.rb +++ b/project_inheritance/app/models/query.rb @@ -156,7 +156,7 @@ class Query < ActiveRecord::Base if project # project specific filters @available_filters["category_id"] = { :type => :list_optional, :order => 6, :values => @project.issue_categories.collect{|s| [s.name, s.id.to_s] } } - @available_filters["fixed_version_id"] = { :type => :list_optional, :order => 7, :values => @project.versions.sort.collect{|s| [s.name, s.id.to_s] } } + @available_filters["fixed_version_id"] = { :type => :list_optional, :order => 7, :values => @project.assignable_versions.collect{|s| [s.name, s.id.to_s] } } unless @project.active_children.empty? @available_filters["subproject_id"] = { :type => :list_one_or_more, :order => 13, :values => @project.active_children.collect{|s| [s.name, s.id.to_s] } } end diff --git a/project_inheritance/app/views/issues/_form.rhtml b/project_inheritance/app/views/issues/_form.rhtml index 203d1cca3..fbf0a98f0 100644 --- a/project_inheritance/app/views/issues/_form.rhtml +++ b/project_inheritance/app/views/issues/_form.rhtml @@ -30,7 +30,7 @@ :rows => (@issue.description.blank? ? 10 : [[10, @issue.description.length / 50].max, 100].min), :accesskey => accesskey(:edit), :class => 'wiki-edit' %></p> -<p><%= f.select :fixed_version_id, (@project.versions.sort.collect {|v| [v.name, v.id]}), { :include_blank => true } %></p> +<p><%= f.select :fixed_version_id, (@project.assignable_versions.collect {|v| [v.name, v.id]}), { :include_blank => true } %></p> <% for @custom_value in @custom_values %> <p><%= custom_field_tag_with_label @custom_value %></p> <% end %> diff --git a/project_inheritance/app/views/settings/_projects.rhtml b/project_inheritance/app/views/settings/_projects.rhtml index f58f37959..5dabba13c 100644 --- a/project_inheritance/app/views/settings/_projects.rhtml +++ b/project_inheritance/app/views/settings/_projects.rhtml @@ -4,6 +4,10 @@ <p><label><%= l(:setting_subprojects_inherit_members) %></label> <%= check_box_tag 'settings[subprojects_inherit_members]', 1, Setting.subprojects_inherit_members? %> <%= hidden_field_tag 'settings[subprojects_inherit_members]', 0 %></p> + +<p><label><%= l(:setting_subprojects_inherit_versions) %></label> +<%= check_box_tag 'settings[subprojects_inherit_versions]', 1, Setting.subprojects_inherit_versions? %> +<%= hidden_field_tag 'settings[subprojects_inherit_versions]', 0 %></p> </div> <%= submit_tag l(:button_save) %> diff --git a/project_inheritance/config/settings.yml b/project_inheritance/config/settings.yml index 64a7de752..d93c08c76 100644 --- a/project_inheritance/config/settings.yml +++ b/project_inheritance/config/settings.yml @@ -107,3 +107,5 @@ emails_footer: To change your notification preferences, please click here: http://hostname/my/account subprojects_inherit_members: default: 1 +subprojects_inherit_versions: + default: 1 |