diff --git a/app/controllers/dmsf_workflows_controller.rb b/app/controllers/dmsf_workflows_controller.rb index 80aea615..d47d790f 100644 --- a/app/controllers/dmsf_workflows_controller.rb +++ b/app/controllers/dmsf_workflows_controller.rb @@ -233,6 +233,18 @@ class DmsfWorkflowsController < ApplicationController end def log + if params[:dmsf_file_revision_id].present? + @revision = DmsfFileRevision.find_by(id: params[:dmsf_file_revision_id]) + elsif params[:dmsf_file_id].present? + dmsf_file = DmsfFile.find_by(id: params[:dmsf_file_id]) + @revision = dmsf_file.last_revision if dmsf_file + elsif params[:dmsf_link_id].present? + dmsf_link = DmsfLink.find_by(id: params[:dmsf_link_id]) + if dmsf_link + dmsf_file = dmsf_link.target_file + @revision = dmsf_file.last_revision + end + end respond_to do |format| format.html format.js diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index 6ba4a6c9..c36245e8 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -239,6 +239,12 @@ class DmsfFile < ActiveRecord::Base self.project_id = project.id self.dmsf_folder = folder new_revision = last_revision.clone + new_revision.workflow = nil + new_revision.dmsf_workflow_id = nil + new_revision.dmsf_workflow_assigned_by_user_id = nil + new_revision.dmsf_workflow_assigned_at = nil + new_revision.dmsf_workflow_started_by_user_id = nil + new_revision.dmsf_workflow_started_at = nil new_revision.dmsf_file = self new_revision.comment = l(:comment_moved_from, source: source) new_revision.custom_values = [] diff --git a/app/models/dmsf_query.rb b/app/models/dmsf_query.rb index b8596cac..3f63a694 100644 --- a/app/models/dmsf_query.rb +++ b/app/models/dmsf_query.rb @@ -186,8 +186,10 @@ class DmsfQuery < Query users.lastname AS lastname, users.id AS author, 'folder' AS type, + dmsf_folders.deleted AS deleted, 0 AS sort #{cf_columns}}). - joins('LEFT JOIN users ON dmsf_folders.user_id = users.id') + joins('LEFT JOIN users ON dmsf_folders.user_id = users.id')#. + #visible(!deleted) if deleted scope.where(dmsf_folders: { project_id: project.id, deleted: deleted }) else @@ -218,6 +220,7 @@ class DmsfQuery < Query users.lastname AS lastname, users.id AS author, 'folder-link' AS type, + dmsf_links.deleted AS deleted, 0 AS sort #{cf_columns}}). joins('LEFT JOIN dmsf_folders ON dmsf_links.target_id = dmsf_folders.id'). joins('LEFT JOIN users ON users.id = COALESCE(dmsf_folders.user_id, dmsf_links.user_id)') @@ -252,6 +255,7 @@ class DmsfQuery < Query users.lastname AS lastname, users.id AS author, 'file' AS type, + dmsf_files.deleted AS deleted, 1 AS sort #{cf_columns}}). joins(:dmsf_file_revisions). joins('LEFT JOIN users ON dmsf_file_revisions.user_id = users.id '). @@ -286,6 +290,7 @@ class DmsfQuery < Query users.lastname AS lastname, users.id AS author, 'file-link' AS type, + dmsf_links.deleted AS deleted, 1 AS sort #{cf_columns}}). joins('JOIN dmsf_files ON dmsf_files.id = dmsf_links.target_id'). joins('JOIN dmsf_file_revisions ON dmsf_file_revisions.dmsf_file_id = dmsf_files.id'). @@ -321,6 +326,7 @@ class DmsfQuery < Query users.lastname AS lastname, users.id AS author, 'url-link' AS type, + dmsf_links.deleted AS deleted, 1 AS sort #{cf_columns}}). joins('LEFT JOIN users ON dmsf_links.user_id = users.id ') if deleted diff --git a/app/models/dmsf_workflow.rb b/app/models/dmsf_workflow.rb index 6abd5bb5..6bde0300 100644 --- a/app/models/dmsf_workflow.rb +++ b/app/models/dmsf_workflow.rb @@ -39,6 +39,21 @@ class DmsfWorkflow < ActiveRecord::Base STATUS_LOCKED = 0 STATUS_ACTIVE = 1 + def self.workflow_str(workflow) + case workflow + when STATE_WAITING_FOR_APPROVAL + l(:title_waiting_for_approval) + when STATE_APPROVED + l(:title_approved) + when STATE_ASSIGNED + l(:title_assigned) + when STATE_REJECTED + l(:title_rejected) + when DmsfWorkflow::STATE_OBSOLETE + l(:title_obsolete) + end + end + def participiants users = Array.new dmsf_workflow_steps.each do |step| diff --git a/app/views/dmsf_files/_file_new_revision.html.erb b/app/views/dmsf_files/_file_new_revision.html.erb index a38e478e..7680e1f4 100644 --- a/app/views/dmsf_files/_file_new_revision.html.erb +++ b/app/views/dmsf_files/_file_new_revision.html.erb @@ -23,8 +23,8 @@ %>
<%= l(:info_file_locked) %>
<% else %> diff --git a/app/views/dmsf_files/show.html.erb b/app/views/dmsf_files/show.html.erb index a7db2f39..31bc5aa6 100644 --- a/app/views/dmsf_files/show.html.erb +++ b/app/views/dmsf_files/show.html.erb @@ -79,21 +79,25 @@