From 197b9a52a27d7df254b172e0bcaec01bf65d7dd0 Mon Sep 17 00:00:00 2001 From: Karel Picman Date: Mon, 13 Feb 2017 14:50:14 +0100 Subject: [PATCH] Broken paging on the Add approver form #662 --- CHANGELOG.md | 1 + app/controllers/dmsf_workflows_controller.rb | 4 +++- app/helpers/dmsf_workflows_helper.rb | 7 +++---- .../dmsf_workflows/_new_step_form.html.erb | 4 ++-- .../dmsf_workflows/_new_step_modal.html.erb | 2 +- app/views/dmsf_workflows/add_step.html.erb | 12 ++++++++---- .../autocomplete_for_user.html.erb | 19 ------------------- .../autocomplete_for_user.js.erb | 3 +++ 8 files changed, 21 insertions(+), 31 deletions(-) delete mode 100644 app/views/dmsf_workflows/autocomplete_for_user.html.erb create mode 100644 app/views/dmsf_workflows/autocomplete_for_user.js.erb diff --git a/CHANGELOG.md b/CHANGELOG.md index f2071bd8..2aab9768 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ Changelog for Redmine DMSF Global title format for downloading New columns in the main DMSF view; columns are configurable from the plugin settings +* Bug: #662 - Broken paging on the Add approver form * Bug: #651 - Incomplete copy of a file to another project * New: #641 - Documents export * New: #635 - Edit approval workflow steps diff --git a/app/controllers/dmsf_workflows_controller.rb b/app/controllers/dmsf_workflows_controller.rb index 26c84f0d..bff25f54 100644 --- a/app/controllers/dmsf_workflows_controller.rb +++ b/app/controllers/dmsf_workflows_controller.rb @@ -279,7 +279,9 @@ class DmsfWorkflowsController < ApplicationController end def autocomplete_for_user - render :layout => false + respond_to do |format| + format.js + end end def new_step diff --git a/app/helpers/dmsf_workflows_helper.rb b/app/helpers/dmsf_workflows_helper.rb index 8a20acc2..9150970a 100644 --- a/app/helpers/dmsf_workflows_helper.rb +++ b/app/helpers/dmsf_workflows_helper.rb @@ -20,11 +20,11 @@ module DmsfWorkflowsHelper - def render_principals_for_new_dmsf_workflow_users(workflow, dmsf_workflow_step_assignment_id, dmsf_file_revision_id) + def render_principals_for_new_dmsf_workflow_users(workflow, dmsf_workflow_step_assignment_id = nil, dmsf_file_revision_id = nil) scope = workflow.delegates(params[:q], dmsf_workflow_step_assignment_id, dmsf_file_revision_id) principal_count = scope.count principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] - principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all + principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).to_a # Delegation if dmsf_workflow_step_assignment_id @@ -42,8 +42,7 @@ module DmsfWorkflowsHelper link_to text, autocomplete_for_user_dmsf_workflow_path(workflow, parameters.merge(:q => params[:q], :format => 'js')), :remote => true } - s += content_tag('p', links, :class => 'pagination') - s.html_safe + s + content_tag('span', links, :class => 'pagination') end def dmsf_workflow_steps_options_for_select(steps) diff --git a/app/views/dmsf_workflows/_new_step_form.html.erb b/app/views/dmsf_workflows/_new_step_form.html.erb index ce665151..cf9cc137 100644 --- a/app/views/dmsf_workflows/_new_step_form.html.erb +++ b/app/views/dmsf_workflows/_new_step_form.html.erb @@ -25,8 +25,8 @@

<%= label_tag 'user_search', l(:label_user_search) %><%= text_field_tag 'user_search', nil %>

<%= javascript_tag "observeSearchfield('user_search', 'users', '#{ escape_javascript autocomplete_for_user_dmsf_workflow_path(@dmsf_workflow, :dmsf_workflow_step_assignment_id => nil, :dmsf_file_revision_id => nil, :project_id => @project ? @project.id : nil) }')" %> -
- <%= render_principals_for_new_dmsf_workflow_users(@dmsf_workflow, nil, nil) %> +
+ <%= render_principals_for_new_dmsf_workflow_users(@dmsf_workflow) %>
diff --git a/app/views/dmsf_workflows/_new_step_modal.html.erb b/app/views/dmsf_workflows/_new_step_modal.html.erb index 4611060b..c282aba7 100644 --- a/app/views/dmsf_workflows/_new_step_modal.html.erb +++ b/app/views/dmsf_workflows/_new_step_modal.html.erb @@ -29,4 +29,4 @@ <%= f.submit l(:dmsf_or), :id => 'add-step-or' %> <%= f.submit l(:button_cancel), :name => nil, :onclick => 'hideModal(this);', :type => 'button' %>

-<% end %> \ No newline at end of file +<% end %> diff --git a/app/views/dmsf_workflows/add_step.html.erb b/app/views/dmsf_workflows/add_step.html.erb index d52ac993..4f776575 100644 --- a/app/views/dmsf_workflows/add_step.html.erb +++ b/app/views/dmsf_workflows/add_step.html.erb @@ -1,6 +1,9 @@ -<%# Redmine plugin for Document Management System "Features" +<% +# encoding: utf-8 # -# Copyright (C) 2013 Karel Pičman +# Redmine plugin for Document Management System "Features" +# +# Copyright (C) 2011-17 Karel Pičman # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -14,6 +17,7 @@ # # 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.%> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +%> -<%= render 'steps' %> \ No newline at end of file +<%= render 'steps' %> diff --git a/app/views/dmsf_workflows/autocomplete_for_user.html.erb b/app/views/dmsf_workflows/autocomplete_for_user.html.erb deleted file mode 100644 index be8dec18..00000000 --- a/app/views/dmsf_workflows/autocomplete_for_user.html.erb +++ /dev/null @@ -1,19 +0,0 @@ -<%# Redmine plugin for Document Management System "Features" -# -# Copyright (C) 2013 Karel Pičman -# -# 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.%> - -<%= render_principals_for_new_dmsf_workflow_users(@dmsf_workflow, params[:dmsf_workflow_step_assignment_id], params[:dmsf_file_revision_id]) %> diff --git a/app/views/dmsf_workflows/autocomplete_for_user.js.erb b/app/views/dmsf_workflows/autocomplete_for_user.js.erb new file mode 100644 index 00000000..43bb57a9 --- /dev/null +++ b/app/views/dmsf_workflows/autocomplete_for_user.js.erb @@ -0,0 +1,3 @@ +$('#new_approvers').html('<%= escape_javascript( + render_principals_for_new_dmsf_workflow_users( + @dmsf_workflow, params[:dmsf_workflow_step_assignment_id], params[:dmsf_file_revision_id])) %>');