diff --git a/project_inheritance/app/controllers/reports_controller.rb b/project_inheritance/app/controllers/reports_controller.rb index cca0b37ab..3f150522c 100644 --- a/project_inheritance/app/controllers/reports_controller.rb +++ b/project_inheritance/app/controllers/reports_controller.rb @@ -43,7 +43,7 @@ class ReportsController < ApplicationController render :template => "reports/issue_report_details" when "category" @field = "category_id" - @rows = @project.issue_categories + @rows = @project.assignable_categories @data = issues_by_category @report_title = l(:field_category) render :template => "reports/issue_report_details" @@ -63,7 +63,7 @@ class ReportsController < ApplicationController @trackers = @project.trackers @versions = @project.assignable_versions @priorities = Enumeration::get_values('IPRI') - @categories = @project.issue_categories + @categories = @project.assignable_categories @authors = @project.members.collect { |m| m.user } @subprojects = @project.active_children issues_by_tracker diff --git a/project_inheritance/app/models/project.rb b/project_inheritance/app/models/project.rb index ea369c0bf..35442cb73 100644 --- a/project_inheritance/app/models/project.rb +++ b/project_inheritance/app/models/project.rb @@ -164,10 +164,16 @@ class Project < ActiveRecord::Base def assignable_versions v = versions - v += parent.versions if Setting.subprojects_inherit_versions? && parent + v += parent.versions if Setting.subprojects_inherit_versions? && parent v.sort 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 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 afdae5946..368ce83c4 100644 --- a/project_inheritance/app/models/query.rb +++ b/project_inheritance/app/models/query.rb @@ -155,7 +155,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["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] } } 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] } } diff --git a/project_inheritance/app/views/issues/_bulk_edit_form.rhtml b/project_inheritance/app/views/issues/_bulk_edit_form.rhtml index e9e1cef86..de5814dc2 100644 --- a/project_inheritance/app/views/issues/_bulk_edit_form.rhtml +++ b/project_inheritance/app/views/issues/_bulk_edit_form.rhtml @@ -9,7 +9,7 @@ +<%= select_tag('category_id', "" + options_from_collection_for_select(@project.assignable_categories, :id, :name)) %>

+<%= select_tag('fixed_version_id', "" + options_from_collection_for_select(@project.assignable_versions, :id, :name)) %>

diff --git a/project_inheritance/app/views/issues/_form.rhtml b/project_inheritance/app/views/issues/_form.rhtml index fbf0a98f0..52e4b8041 100644 --- a/project_inheritance/app/views/issues/_form.rhtml +++ b/project_inheritance/app/views/issues/_form.rhtml @@ -10,7 +10,7 @@

<%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), :required => true %>

<%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), :include_blank => true %>

-

<%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank => true %> +

<%= f.select :category_id, (@project.assignable_categories.collect {|c| [c.name, c.id]}), :include_blank => true %> <%= prompt_to_remote(l(:label_issue_category_new), l(:label_issue_category_new), 'category[name]', {:controller => 'projects', :action => 'add_issue_category', :id => @project}, diff --git a/project_inheritance/app/views/settings/_projects.rhtml b/project_inheritance/app/views/settings/_projects.rhtml index 5dabba13c..886d7e4d1 100644 --- a/project_inheritance/app/views/settings/_projects.rhtml +++ b/project_inheritance/app/views/settings/_projects.rhtml @@ -8,6 +8,10 @@

<%= check_box_tag 'settings[subprojects_inherit_versions]', 1, Setting.subprojects_inherit_versions? %> <%= hidden_field_tag 'settings[subprojects_inherit_versions]', 0 %>

+ +

+<%= check_box_tag 'settings[subprojects_inherit_categories]', 1, Setting.subprojects_inherit_categories? %> +<%= hidden_field_tag 'settings[subprojects_inherit_categories]', 0 %>

<%= submit_tag l(:button_save) %> diff --git a/project_inheritance/config/settings.yml b/project_inheritance/config/settings.yml index d93c08c76..109a2ce23 100644 --- a/project_inheritance/config/settings.yml +++ b/project_inheritance/config/settings.yml @@ -109,3 +109,5 @@ subprojects_inherit_members: default: 1 subprojects_inherit_versions: default: 1 +subprojects_inherit_categories: + default: 1