From b3399a783793cbd883c6d8eb24dc7a6c5330eb54 Mon Sep 17 00:00:00 2001 From: Kevin Fischer Date: Mon, 21 Sep 2020 07:44:37 +0000 Subject: Patch for fix/33930 --- .../custom_field_enumerations/create.js.erb | 7 ++++ .../custom_field_enumerations/index.html.erb | 4 +-- test/system/custom_field_enumerations_test.rb | 36 +++++++++++++++++++ 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 test/system/custom_field_enumerations_test.rb diff --git a/app/views/custom_field_enumerations/create.js.erb b/app/views/custom_field_enumerations/create.js.erb index 9a9d40433..a81da16cb 100644 --- a/app/views/custom_field_enumerations/create.js.erb +++ b/app/views/custom_field_enumerations/create.js.erb @@ -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(); diff --git a/app/views/custom_field_enumerations/index.html.erb b/app/views/custom_field_enumerations/index.html.erb index 66a0977fd..83e9d59c9 100644 --- a/app/views/custom_field_enumerations/index.html.erb +++ b/app/views/custom_field_enumerations/index.html.erb @@ -26,9 +26,9 @@ <% end %> <% end %> -

<%= l(:label_enumeration_new) %>

+<%= form_tag custom_field_enumerations_path(@custom_field), :method => 'post', :remote => true, id: 'add-element' do %> +

<%= l(:label_enumeration_new) %>

-<%= form_tag custom_field_enumerations_path(@custom_field), :method => 'post', :remote => true do %>

<%= text_field_tag 'custom_field_enumeration[name]', '', :size => 40 %> <%= submit_tag(l(:button_add)) %>

<% end %> diff --git a/test/system/custom_field_enumerations_test.rb b/test/system/custom_field_enumerations_test.rb new file mode 100644 index 000000000..2ef64b0b3 --- /dev/null +++ b/test/system/custom_field_enumerations_test.rb @@ -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 -- 2.28.0