summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2016-01-09 09:14:51 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2016-01-09 09:14:51 +0000
commit18d0e407118105eee2a91718e7dbaab4765576ce (patch)
tree604fee213ed181f94873a9c654559aee44b3c5c3
parentfd39037b508f80ef96bae1963bf7193c97ab138c (diff)
downloadredmine-18d0e407118105eee2a91718e7dbaab4765576ce.tar.gz
redmine-18d0e407118105eee2a91718e7dbaab4765576ce.zip
Merged r14985 (#21535).
git-svn-id: http://svn.redmine.org/redmine/branches/3.2-stable@15023 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/custom_fields_controller.rb2
-rw-r--r--app/views/custom_fields/_index.html.erb3
-rw-r--r--test/ui/custom_fields_test_ui.rb38
3 files changed, 41 insertions, 2 deletions
diff --git a/app/controllers/custom_fields_controller.rb b/app/controllers/custom_fields_controller.rb
index 169e93c29..aa9c6aff0 100644
--- a/app/controllers/custom_fields_controller.rb
+++ b/app/controllers/custom_fields_controller.rb
@@ -56,7 +56,7 @@ class CustomFieldsController < ApplicationController
if @custom_field.update_attributes(params[:custom_field])
flash[:notice] = l(:notice_successful_update)
call_hook(:controller_custom_fields_edit_after_save, :params => params, :custom_field => @custom_field)
- redirect_to edit_custom_field_path(@custom_field)
+ redirect_back_or_default edit_custom_field_path(@custom_field)
else
render :action => 'edit'
end
diff --git a/app/views/custom_fields/_index.html.erb b/app/views/custom_fields/_index.html.erb
index 858665e93..b0d3c277b 100644
--- a/app/views/custom_fields/_index.html.erb
+++ b/app/views/custom_fields/_index.html.erb
@@ -12,6 +12,7 @@
</tr></thead>
<tbody>
<% (@custom_fields_by_type[tab[:name]] || []).sort.each do |custom_field| -%>
+ <% back_url = custom_fields_path(:tab => tab[:name]) %>
<tr class="<%= cycle("odd", "even") %>">
<td class="name"><%= link_to custom_field.name, edit_custom_field_path(custom_field) %></td>
<td><%= l(custom_field.format.label) %></td>
@@ -20,7 +21,7 @@
<td><%= checked_image custom_field.is_for_all? %></td>
<td><%= l(:label_x_projects, :count => custom_field.projects.count) if custom_field.is_a? IssueCustomField and !custom_field.is_for_all? %></td>
<% end %>
- <td class="reorder"><%= reorder_links('custom_field', {:action => 'update', :id => custom_field}, :put) %></td>
+ <td class="reorder"><%= reorder_links('custom_field', {:action => 'update', :id => custom_field, :back_url => back_url}, :put) %></td>
<td class="buttons">
<%= delete_link custom_field_path(custom_field) %>
</td>
diff --git a/test/ui/custom_fields_test_ui.rb b/test/ui/custom_fields_test_ui.rb
new file mode 100644
index 000000000..7a2c39100
--- /dev/null
+++ b/test/ui/custom_fields_test_ui.rb
@@ -0,0 +1,38 @@
+# Redmine - project management software
+# Copyright (C) 2006-2015 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('../base', __FILE__)
+
+class Redmine::UiTest::CustomFieldsTest < Redmine::UiTest::Base
+ fixtures :projects, :users, :email_addresses, :roles, :members, :member_roles,
+ :trackers, :projects_trackers, :enabled_modules,
+ :custom_fields, :custom_values, :custom_fields_trackers
+
+ def test_reordering_should_redirect_to_index
+ assert_equal 1, UserCustomField.find(4).position
+ log_user 'admin', 'admin'
+ visit '/custom_fields'
+
+ # click 'User' tab
+ page.first('a#tab-UserCustomField').click
+ # click 'Move down' link on the first row
+ page.first('td.reorder a:nth-child(3)').click
+
+ assert_equal "/custom_fields?tab=UserCustomField", URI.parse(current_url).request_uri
+ assert_equal 2, UserCustomField.find(4).position
+ end
+end