comparison app/helpers/workflows_helper.rb @ 1464:261b3d9a4903 redmine-2.4

Update to Redmine 2.4 branch rev 12663
author Chris Cannam
date Tue, 14 Jan 2014 14:37:42 +0000
parents 433d4f72a19b
children e248c7af89ec
comparison
equal deleted inserted replaced
1296:038ba2d95de8 1464:261b3d9a4903
1 # encoding: utf-8 1 # encoding: utf-8
2 # 2 #
3 # Redmine - project management software 3 # Redmine - project management software
4 # Copyright (C) 2006-2012 Jean-Philippe Lang 4 # Copyright (C) 2006-2013 Jean-Philippe Lang
5 # 5 #
6 # This program is free software; you can redistribute it and/or 6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License 7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2 8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version. 9 # of the License, or (at your option) any later version.
20 module WorkflowsHelper 20 module WorkflowsHelper
21 def field_required?(field) 21 def field_required?(field)
22 field.is_a?(CustomField) ? field.is_required? : %w(project_id tracker_id subject priority_id is_private).include?(field) 22 field.is_a?(CustomField) ? field.is_required? : %w(project_id tracker_id subject priority_id is_private).include?(field)
23 end 23 end
24 24
25 def field_permission_tag(permissions, status, field) 25 def field_permission_tag(permissions, status, field, role)
26 name = field.is_a?(CustomField) ? field.id.to_s : field 26 name = field.is_a?(CustomField) ? field.id.to_s : field
27 options = [["", ""], [l(:label_readonly), "readonly"]] 27 options = [["", ""], [l(:label_readonly), "readonly"]]
28 options << [l(:label_required), "required"] unless field_required?(field) 28 options << [l(:label_required), "required"] unless field_required?(field)
29 html_options = {}
30 selected = permissions[status.id][name]
29 31
30 select_tag("permissions[#{name}][#{status.id}]", options_for_select(options, permissions[status.id][name])) 32 hidden = field.is_a?(CustomField) && !field.visible? && !role.custom_fields.to_a.include?(field)
33 if hidden
34 options[0][0] = l(:label_hidden)
35 selected = ''
36 html_options[:disabled] = true
37 end
38
39 select_tag("permissions[#{name}][#{status.id}]", options_for_select(options, selected), html_options)
31 end 40 end
32 end 41 end