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)%>
+
+