mirror of
https://github.com/meineerde/redmine.git
synced 2026-02-03 23:53:23 +00:00
Skip validation of required custom fields when creating a project if user does not have permissions to see those custom fields (#36593).
Patch by mathieu-mbru. git-svn-id: https://svn.redmine.org/redmine/trunk@21488 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
72bebd1d45
commit
81575e7291
@ -963,6 +963,17 @@ class Project < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
# Overrides Redmine::Acts::Customizable::InstanceMethods#validate_custom_field_values
|
||||
# so that custom values that are not editable are not validated (eg. a custom field that
|
||||
# is marked as required should not trigger a validation error if the user is not allowed
|
||||
# to edit this field).
|
||||
def validate_custom_field_values
|
||||
user = User.current
|
||||
if new_record? || custom_field_values_changed?
|
||||
editable_custom_field_values(user).each(&:validate_value)
|
||||
end
|
||||
end
|
||||
|
||||
# Returns the custom_field_values that can be edited by the given user
|
||||
def editable_custom_field_values(user=nil)
|
||||
visible_custom_field_values(user)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<h2><%= l(:label_board_new) %></h2>
|
||||
<%# <h2><%= l(:label_board_new) %></h2>
|
||||
|
||||
<%= labelled_form_for @board, :url => project_boards_path(@project) do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f} %>
|
||||
<%= submit_tag l(:button_create) %>
|
||||
<% end %>
|
||||
<% end %> %>
|
||||
|
||||
@ -358,6 +358,13 @@ class ProjectTest < ActiveSupport::TestCase
|
||||
assert_equal parent.children.sort_by(&:name), parent.children.to_a
|
||||
end
|
||||
|
||||
def test_validate_custom_field_values_of_project
|
||||
User.current = User.find(3)
|
||||
ProjectCustomField.generate!(:name => 'CustomFieldTest', :field_format => 'int', :is_required => true, :visible => false, :role_ids => [1])
|
||||
p = Project.new(:name => 'Project test', :identifier => 'project-t')
|
||||
assert p.save!
|
||||
end
|
||||
|
||||
def test_set_parent_should_update_issue_fixed_version_associations_when_a_fixed_version_is_moved_out_of_the_hierarchy
|
||||
# Parent issue with a hierarchy project's fixed version
|
||||
parent_issue = Issue.find(1)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user