From af2f9e0a3e1f78b257ae5b1a0a84cc7b09e469fb Mon Sep 17 00:00:00 2001 From: wolfc01 Date: Mon, 5 Apr 2021 17:58:49 +0200 Subject: [PATCH] added zero minor version allowance for approval workflows --- app/models/dmsf_file.rb | 8 ++++++++ .../dmsf_context_menus/_approval_workflow.html.erb | 2 +- app/views/settings/_dmsf_settings.html.erb | 10 ++++++++++ config/locales/en.yml | 3 ++- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index a38533f4..ac623933 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -110,6 +110,14 @@ class DmsfFile < ActiveRecord::Base visible.find_by project_id: project_id, dmsf_folder_id: folder&.id, name: name end + def approval_allowed_zero_minor + if Setting.plugin_redmine_dmsf['only_approval_zero_minor_version'] + return last_revision.minor_version == 0 + else + return true + end + end + def last_revision unless defined?(@last_revision) @last_revision = deleted? ? dmsf_file_revisions.first : dmsf_file_revisions.visible.first diff --git a/app/views/dmsf_context_menus/_approval_workflow.html.erb b/app/views/dmsf_context_menus/_approval_workflow.html.erb index c3889e8b..5d743d77 100644 --- a/app/views/dmsf_context_menus/_approval_workflow.html.erb +++ b/app/views/dmsf_context_menus/_approval_workflow.html.erb @@ -22,7 +22,7 @@ <% workflows_available = DmsfWorkflow.where(['project_id = ? OR project_id IS NULL', project.id]).exists? %> <% wf = DmsfWorkflow.find_by(id: dmsf_file.last_revision.dmsf_workflow_id) if dmsf_file.last_revision.dmsf_workflow_id %> -<% file_approval_allowed = User.current.allowed_to?(:file_approval, project) %> +<% file_approval_allowed = User.current.allowed_to?(:file_approval, project) && (dmsf_file.approval_allowed_zero_minor)%> <% allowed = User.current && (dmsf_file.last_revision.dmsf_workflow_assigned_by_user == User.current) && wf %> <% if file_approval_allowed %> diff --git a/app/views/settings/_dmsf_settings.html.erb b/app/views/settings/_dmsf_settings.html.erb index 8dedab1b..90f619ee 100644 --- a/app/views/settings/_dmsf_settings.html.erb +++ b/app/views/settings/_dmsf_settings.html.erb @@ -200,6 +200,14 @@

+

+ <%= content_tag(:label, l(:only_approval_zero_minor_version)) %> + <%= check_box_tag 'settings[only_approval_zero_minor_version]', false, @settings['only_approval_zero_minor_version'], size: 50 %> + + <%= l(:only_approval_zero_minor_version) %>
<%= l(:label_default) %>: <%= l(:general_text_No)%> +
+

+
<%= l(:label_webdav) %> @@ -315,3 +323,5 @@ <%= l(:text_enable_cjk_ngrams) %>

+ + diff --git a/config/locales/en.yml b/config/locales/en.yml index dc324a7c..04dc3f84 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -421,4 +421,5 @@ en: activerecord: errors: messages: - error_contains_invalid_character: contains invalid character(s) \ No newline at end of file + error_contains_invalid_character: contains invalid character(s) + only_approval_zero_minor_version: only approval zero minor version \ No newline at end of file