diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2013-09-13 17:41:54 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2013-09-13 17:41:54 +0000 |
commit | 59b935aa469c44d7c8c00f199af31168ce4af4c7 (patch) | |
tree | a2fd4aa092174dcee31088d96872765899f10ab4 /app | |
parent | ae7304dd005ab50c2934a9318ed40c88ee0f77d3 (diff) | |
download | redmine-59b935aa469c44d7c8c00f199af31168ce4af4c7.tar.gz redmine-59b935aa469c44d7c8c00f199af31168ce4af4c7.zip |
Filters show issues with unused custom fields (#13537).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12133 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/models/issue_custom_field.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/app/models/issue_custom_field.rb b/app/models/issue_custom_field.rb index e811ccaae..513b96a54 100644 --- a/app/models/issue_custom_field.rb +++ b/app/models/issue_custom_field.rb @@ -28,6 +28,15 @@ class IssueCustomField < CustomField super || (roles & user.roles_for_project(project)).present? end + def visibility_by_project_condition(*args) + sql = super + additional_sql = "#{Issue.table_name}.tracker_id IN (SELECT tracker_id FROM #{table_name_prefix}custom_fields_trackers#{table_name_suffix} WHERE custom_field_id = #{id})" + unless is_for_all? + additional_sql << " AND #{Issue.table_name}.project_id IN (SELECT project_id FROM #{table_name_prefix}custom_fields_projects#{table_name_suffix} WHERE custom_field_id = #{id})" + end + "((#{sql}) AND (#{additional_sql}))" + end + def validate_custom_field super errors.add(:base, l(:label_role_plural) + ' ' + l('activerecord.errors.messages.blank')) unless visible? || roles.present? |