Make issue categories inheritable on subprojects (can be disabled in Admin -> Settings -> Projects).

git-svn-id: http://redmine.rubyforge.org/svn/branches/work@1060 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang committed 2008-01-13 10:53:12 +00:00
1 parent 75f6463c18
commit 13c17c2ad5
7 files changed
+19 -7

No files matched your search

@@ -43,7 +43,7 @@ class ReportsController < ApplicationController
render :template => "reports/issue_report_details" render :template => "reports/issue_report_details"
when "category" when "category"
@field = "category_id" @field = "category_id"
@rows = @project.issue_categories @rows = @project.assignable_categories
@data = issues_by_category @data = issues_by_category
@report_title = l(:field_category) @report_title = l(:field_category)
render :template => "reports/issue_report_details" render :template => "reports/issue_report_details"
@@ -63,7 +63,7 @@ class ReportsController < ApplicationController
@trackers = @project.trackers @trackers = @project.trackers
@versions = @project.assignable_versions @versions = @project.assignable_versions
@priorities = Enumeration::get_values('IPRI') @priorities = Enumeration::get_values('IPRI')
@categories = @project.issue_categories @categories = @project.assignable_categories
@authors = @project.members.collect { |m| m.user } @authors = @project.members.collect { |m| m.user }
@subprojects = @project.active_children @subprojects = @project.active_children
issues_by_tracker issues_by_tracker
+7 -1
View File
@@ -164,10 +164,16 @@ class Project < ActiveRecord::Base
def assignable_versions def assignable_versions
v = versions v = versions
v += parent.versions if Setting.subprojects_inherit_versions? && parent v += parent.versions if Setting.subprojects_inherit_versions? && parent
v.sort v.sort
end end
def assignable_categories
c = issue_categories
c += parent.issue_categories if Setting.subprojects_inherit_categories? && parent
c.sort
end
# Returns the mail adresses of users that should be always notified on project events # Returns the mail adresses of users that should be always notified on project events
def recipients def recipients
members.select {|m| m.mail_notification? || m.user.mail_notification?}.collect {|m| m.user.mail} members.select {|m| m.mail_notification? || m.user.mail_notification?}.collect {|m| m.user.mail}
+1 -1
View File
@@ -155,7 +155,7 @@ class Query < ActiveRecord::Base
if project if project
# project specific filters # 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["category_id"] = { :type => :list_optional, :order => 6, :values => @project.assignable_categories.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] } } @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? 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] } } @available_filters["subproject_id"] = { :type => :list_one_or_more, :order => 13, :values => @project.active_children.collect{|s| [s.name, s.id.to_s] } }
@@ -9,7 +9,7 @@
<label><%= l(:field_priority) %>: <label><%= l(:field_priority) %>:
<%= select_tag('priority_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(Enumeration.get_values('IPRI'), :id, :name)) %></label> <%= select_tag('priority_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(Enumeration.get_values('IPRI'), :id, :name)) %></label>
<label><%= l(:field_category) %>: <label><%= l(:field_category) %>:
<%= select_tag('category_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(@project.issue_categories, :id, :name)) %></label> <%= select_tag('category_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(@project.assignable_categories, :id, :name)) %></label>
</p> </p>
<p> <p>
<label><%= l(:field_assigned_to) %>: <label><%= l(:field_assigned_to) %>:
@@ -17,7 +17,7 @@
content_tag('option', l(:label_nobody), :value => 'none') + content_tag('option', l(:label_nobody), :value => 'none') +
options_from_collection_for_select(@project.assignable_users, :id, :name)) %></label> options_from_collection_for_select(@project.assignable_users, :id, :name)) %></label>
<label><%= l(:field_fixed_version) %>: <label><%= l(:field_fixed_version) %>:
<%= select_tag('fixed_version_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(@project.versions, :id, :name)) %></label> <%= select_tag('fixed_version_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(@project.assignable_versions, :id, :name)) %></label>
</p> </p>
<p> <p>
@@ -10,7 +10,7 @@
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), :required => true %></p> <p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), :required => true %></p>
<p><%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), :include_blank => true %></p> <p><%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), :include_blank => true %></p>
<p><%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank => true %> <p><%= f.select :category_id, (@project.assignable_categories.collect {|c| [c.name, c.id]}), :include_blank => true %>
<%= prompt_to_remote(l(:label_issue_category_new), <%= prompt_to_remote(l(:label_issue_category_new),
l(:label_issue_category_new), 'category[name]', l(:label_issue_category_new), 'category[name]',
{:controller => 'projects', :action => 'add_issue_category', :id => @project}, {:controller => 'projects', :action => 'add_issue_category', :id => @project},
@@ -8,6 +8,10 @@
<p><label><%= l(:setting_subprojects_inherit_versions) %></label> <p><label><%= l(:setting_subprojects_inherit_versions) %></label>
<%= check_box_tag 'settings[subprojects_inherit_versions]', 1, Setting.subprojects_inherit_versions? %> <%= check_box_tag 'settings[subprojects_inherit_versions]', 1, Setting.subprojects_inherit_versions? %>
<%= hidden_field_tag 'settings[subprojects_inherit_versions]', 0 %></p> <%= hidden_field_tag 'settings[subprojects_inherit_versions]', 0 %></p>
<p><label><%= l(:setting_subprojects_inherit_categories) %></label>
<%= check_box_tag 'settings[subprojects_inherit_categories]', 1, Setting.subprojects_inherit_categories? %>
<%= hidden_field_tag 'settings[subprojects_inherit_categories]', 0 %></p>
</div> </div>
<%= submit_tag l(:button_save) %> <%= submit_tag l(:button_save) %>
+2
View File
@@ -109,3 +109,5 @@ subprojects_inherit_members:
default: 1 default: 1
subprojects_inherit_versions: subprojects_inherit_versions:
default: 1 default: 1
subprojects_inherit_categories:
default: 1