*** redmine-4.1/app/models/issue.rb 2020-04-06 21:23:15.000000000 +0430 --- redmine/app/models/issue.rb 2021-12-02 20:37:21.797151377 +0330 *************** *** 683,694 **** end end workflow_rules.each do |attr, rules| ! next if rules.size < roles.size uniq_rules = rules.values.uniq if uniq_rules.size == 1 result[attr] = uniq_rules.first ! else ! result[attr] = 'required' end end end --- 683,704 ---- end end workflow_rules.each do |attr, rules| ! if rules.size < roles.size ! result[attr] = 'required' if rules.values.include?('required') ! next ! end uniq_rules = rules.values.uniq if uniq_rules.size == 1 result[attr] = uniq_rules.first ! else #supposed if size > 1 there is at least one 'required', because permissions are {nil, 'required', 'readonly'} ! # in this priority ! # nil = 0 ! # readonly = 1 ! # invisible = 2 ! # required = 3 ! result[attr] = 'readonly' if rules.values.include?('readonly') ! result[attr] = 'invisible' if rules.values.include?('invisible') ! result[attr] = 'required' if rules.values.include?('required') end end end