#1192 Approval workflow state
This commit is contained in:
parent
39f15bd3b8
commit
54cd6ad3e1
@ -208,7 +208,8 @@ module DmsfQueriesHelper
|
||||
else
|
||||
url = log_dmsf_workflow_path(project_id: item.project_id, id: item.workflow_id, dmsf_link_id: item.id)
|
||||
end
|
||||
link_to h(DmsfWorkflow.workflow_str(value.to_i)), url, remote: true
|
||||
text, names = DmsfWorkflow.workflow_info(item.workflow, item.workflow_id, item.revision_id)
|
||||
link_to h(text), url, remote: true, title: names
|
||||
else
|
||||
h(DmsfWorkflow.workflow_str(value.to_i))
|
||||
end
|
||||
@ -225,7 +226,12 @@ module DmsfQueriesHelper
|
||||
when :size
|
||||
ActiveSupport::NumberHelper.number_to_human_size value
|
||||
when :workflow
|
||||
DmsfWorkflow.workflow_str value.to_i
|
||||
if value
|
||||
text, names = DmsfWorkflow.workflow_info(object.workflow, object.workflow_id, object.revision_id)
|
||||
text
|
||||
else
|
||||
super column, object, value
|
||||
end
|
||||
when :author
|
||||
if value
|
||||
user = User.find_by(id: value)
|
||||
|
||||
@ -113,7 +113,9 @@ class DmsfQuery < Query
|
||||
add_available_filter 'title', type: :text
|
||||
add_available_filter 'updated', type: :date_past
|
||||
add_available_filter 'locked', type: :list, values: [[l(:general_text_yes), '1'], [l(:general_text_no), '0']]
|
||||
add_custom_fields_filters DmsfFileRevisionCustomField.all
|
||||
add_available_filter 'workflow', type: :list, values: [[l(:title_waiting_for_approval), '1'],
|
||||
[l(:title_approved), '2'], [l(:title_assigned), '3'], [l(:title_rejected), '4'], [l(:title_obsolete), '5']]
|
||||
add_custom_fields_filters DmsfFileRevisionCustomField.visible
|
||||
end
|
||||
|
||||
def statement
|
||||
|
||||
@ -55,6 +55,27 @@ class DmsfWorkflow < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
def self.workflow_info(workflow, workflow_id, revision_id)
|
||||
text = ''
|
||||
names = ''
|
||||
dmsf_workflow = DmsfWorkflow.find_by(id: workflow_id)
|
||||
if dmsf_workflow
|
||||
assignments = dmsf_workflow.next_assignments(revision_id)
|
||||
if assignments.any?
|
||||
user_ids = assignments.map{ |a| a.user_id }
|
||||
users = User.where(id: user_ids).all
|
||||
names = users.map{ |u| u.name }.join(',')
|
||||
workflow_step_id = assignments.first[:dmsf_workflow_step_id]
|
||||
if workflow_step_id
|
||||
step = DmsfWorkflowStep.find_by_id(workflow_step_id)
|
||||
text = step.name if(step&.name.present?)
|
||||
end
|
||||
end
|
||||
end
|
||||
text = DmsfWorkflow.workflow_str(workflow.to_i) if(text.blank?)
|
||||
[text, names]
|
||||
end
|
||||
|
||||
def participiants
|
||||
users = Array.new
|
||||
dmsf_workflow_steps.each do |step|
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user