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])) %>');