500 error when attempting to create custom field enumeration with empty name (#33930).

Patch by Kevin Fischer.


git-svn-id: http://svn.redmine.org/redmine/trunk@20583 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2020-12-06 02:55:10 +00:00
parent 7b926116e2
commit bb5acf4ec6
3 changed files with 45 additions and 2 deletions

View File

@@ -1,2 +1,9 @@
$('#errorExplanation').remove();
<% if @value.valid? %>
$('#content').html('<%= escape_javascript(render(:template => 'custom_field_enumerations/index')) %>');
<% else %>
$('form#add-element').prepend('<%= escape_javascript(error_messages_for(@value)) %>');
<% end %>
$('#custom_field_enumeration_name').focus();

View File

@@ -26,9 +26,9 @@
<% end %>
<% end %>
<p><%= l(:label_enumeration_new) %></p>
<%= form_tag custom_field_enumerations_path(@custom_field), :method => 'post', :remote => true, id: 'add-element' do %>
<p><%= l(:label_enumeration_new) %></p>
<%= form_tag custom_field_enumerations_path(@custom_field), :method => 'post', :remote => true do %>
<p><%= text_field_tag 'custom_field_enumeration[name]', '', :size => 40 %>
<%= submit_tag(l(:button_add)) %></p>
<% end %>

View File

@@ -0,0 +1,36 @@
# frozen_string_literal: true
# Redmine - project management software
# Copyright (C) 2006-2020 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.expand_path('../../application_system_test_case', __FILE__)
class CustomFieldEnumerationsTest < ApplicationSystemTestCase
fixtures :projects, :users, :email_addresses, :roles, :members, :member_roles,
:trackers, :projects_trackers, :enabled_modules, :issue_statuses, :issues,
:enumerations, :custom_fields, :custom_values, :custom_fields_trackers,
:watchers, :journals, :journal_details
def test_add_empty_value
custom_field = IssueCustomField.generate!(field_format: 'enumeration')
log_user('admin', 'admin')
visit "custom_fields/#{custom_field.id}/enumerations"
click_on 'Add'
assert page.has_css?('#errorExplanation', text: 'Name cannot be blank')
end
end