#1192 Approval workflow state

This commit is contained in:
Karel Pičman 2022-10-13 12:25:39 +02:00
parent 54cd6ad3e1
commit 6566a2a33e
3 changed files with 14 additions and 7 deletions

View File

@ -103,17 +103,21 @@ module DmsfWorkflowsHelper
def change_status_link(workflow)
url = { controller: 'dmsf_workflows', action: 'update', id: workflow.id }
if workflow.locked?
link_to l(:button_unlock), url.merge(dmsf_workflow: { status: DmsfWorkflow::STATUS_ACTIVE }), method: :put, class: 'icon icon-unlock'
link_to l(:button_unlock), url.merge(dmsf_workflow: { status: DmsfWorkflow::STATUS_ACTIVE }), method: :put,
class: 'icon icon-unlock'
else
link_to l(:button_lock), url.merge(dmsf_workflow: { status: DmsfWorkflow::STATUS_LOCKED }), method: :put, class: 'icon icon-lock'
link_to l(:button_lock), url.merge(dmsf_workflow: { status: DmsfWorkflow::STATUS_LOCKED }), method: :put,
class: 'icon icon-lock'
end
end
def workflows_status_options_for_select(selected)
worflows_count_by_status = DmsfWorkflow.global.group('status').count.to_hash
options_for_select([[l(:label_all), ''],
["#{l(:status_active)} (#{worflows_count_by_status[DmsfWorkflow::STATUS_ACTIVE].to_i})", DmsfWorkflow::STATUS_ACTIVE.to_s],
["#{l(:status_locked)} (#{worflows_count_by_status[DmsfWorkflow::STATUS_LOCKED].to_i})", DmsfWorkflow::STATUS_LOCKED.to_s]], selected.to_s)
["#{l(:status_active)} (#{worflows_count_by_status[DmsfWorkflow::STATUS_ACTIVE].to_i})",
DmsfWorkflow::STATUS_ACTIVE.to_s],
["#{l(:status_locked)} (#{worflows_count_by_status[DmsfWorkflow::STATUS_LOCKED].to_i})",
DmsfWorkflow::STATUS_LOCKED.to_s]], selected.to_s)
end
end

View File

@ -21,9 +21,8 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class DmsfFolder < ActiveRecord::Base
include RedmineDmsf::Lockable
belongs_to :project
belongs_to :dmsf_folder
belongs_to :deleted_by_user, class_name: 'User', foreign_key: 'deleted_by_user_id'

View File

@ -23,8 +23,13 @@ require File.expand_path('../../test_helper', __FILE__)
class DmsfQueriesHelperTest < RedmineDmsf::Test::HelperTest
include DmsfQueriesHelper
fixtures :dmsf_folders
def setup
@folder1 = DmsfFolder.find 1
super
end
def test_csv_value
c_size = QueryColumn.new(:size)
@ -32,7 +37,6 @@ class DmsfQueriesHelperTest < RedmineDmsf::Test::HelperTest
c_workflow = QueryColumn.new(:workflow)
assert_equal '1 KB', csv_value(c_size, nil, 1024)
assert_equal 'John Smith', csv_value(c_author, @jsmith, @jsmith.id)
assert_equal 'Approved', csv_value(c_workflow, nil, DmsfWorkflow::STATE_APPROVED)
end
def test_column_value