#1414 Empty default version by default

This commit is contained in:
Karel Pičman 2023-01-05 11:01:18 +01:00
parent 0a3604630e
commit f4eb85200a
23 changed files with 112 additions and 7 deletions

View File

@ -165,7 +165,7 @@ module DmsfUploadHelper
# 1 -> 2, -1 -> -2, A -> B
def self.increase_version(version)
version ||= 0
return nil unless version
return 1 if ((version == ' ') || ((-version) == ' '.ord))
if Integer(version)
if version >= 0

View File

@ -274,7 +274,8 @@ class DmsfFileRevision < ActiveRecord::Base
# Patch version
self.patch_version = case version_to_increase
when PATCH_VERSION
DmsfUploadHelper.increase_version patch_version
patch_version = 0 unless patch_version
DmsfUploadHelper.increase_version patch_version
else
nil
end

View File

@ -82,8 +82,13 @@ class DmsfUpload
if file.nil? || file.last_revision.nil?
@title = DmsfFileRevision.filename_to_title(@name)
@description = uploaded[:comment]
@major_version = 0
@minor_version = 0
if Setting.plugin_redmine_dmsf['empty_minor_version_by_default']
@major_version = 1
@minor_version = nil
else
@major_version = 0
@minor_version = 0
end
@patch_version = nil
@workflow = nil
file = DmsfFile.new

View File

@ -36,8 +36,13 @@
DmsfUploadHelper::gui_version(DmsfUploadHelper.increase_version(revision_or_upload.patch_version))),
class: 'dmsf-select-version' %>
<% else %>
<%= select_tag select_tag_name_minor, options_for_select(DmsfUploadHelper::minor_version_select_options,
DmsfUploadHelper::gui_version(DmsfUploadHelper.increase_version(revision_or_upload.minor_version))),
<% if revision_or_upload.minor_version %>
<% minor_version = DmsfUploadHelper::gui_version(DmsfUploadHelper.increase_version(revision_or_upload.minor_version)) %>
<% else %>
<% minor_version = '' %>
<% end %>
<%= select_tag select_tag_name_minor,
options_for_select(DmsfUploadHelper::minor_version_select_options, minor_version),
class: 'dmsf-select-version' %>
<bold>.</bold>
<%= select_tag select_tag_name_patch, options_for_select(DmsfUploadHelper::patch_version_select_options,

View File

@ -160,6 +160,14 @@
</em>
</p>
<p>
<%= content_tag :label, l(:label_empty_minor_version_by_default) %>
<%= check_box_tag 'settings[empty_minor_version_by_default]', false, @settings['empty_minor_version_by_default'] %>
<em class="info">
<%= l(:label_default) %>: <%= l(:general_text_No) %>
</em>
</p>
<hr/>
<em class="info">
<%= l(:label_dmsf_columns) %>

View File

@ -464,6 +464,8 @@ cs:
note_dmsf_global_menu_disabled: Pokud je zašrtnuto, tak položka DMS není v hlavním menu.
error_dmsf_workflow_assigned: Použitý schvalovací proces nemůže být ani upraven ani smazán.
label_empty_minor_version_by_default: Prázdná vedlejší verze jako výchozí
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -460,6 +460,8 @@ de:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Der verwendete Genehmigungs-Workflow kann weder bearbeitet noch gelöscht werden.
label_empty_minor_version_by_default: Leere Unterversion als Standard
easy_pages:
modules:
dmsf_locked_documents: Von mir gesperrte Dokumente

View File

@ -464,6 +464,8 @@ en:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -464,6 +464,8 @@ es:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -443,6 +443,8 @@ fa:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: اسناد قفل شده‌ی من

View File

@ -464,6 +464,8 @@ fr:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -463,6 +463,8 @@ hu:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -464,6 +464,8 @@ it: # Italian strings thx 2 Matteo Arceci!
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -465,6 +465,8 @@ ja:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: 自分がロック中の文書

View File

@ -464,6 +464,8 @@ ko:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: 내 잠긴 파일

View File

@ -464,6 +464,8 @@ nl:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -464,6 +464,8 @@ pl:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -464,6 +464,8 @@ pt-BR:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -464,6 +464,8 @@ sl:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -463,6 +463,8 @@ zh-TW:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -464,6 +464,8 @@ zh:
note_dmsf_global_menu_disabled: If yes, DMS menu item is not present in the top menu.
error_dmsf_workflow_assigned: Approval workflow in use can be neither edited nor deleted.
label_empty_minor_version_by_default: Empty minor version by default
easy_pages:
modules:
dmsf_locked_documents: My locked documents

View File

@ -58,7 +58,8 @@ Redmine::Plugin.register :redmine_dmsf do
'dmsf_max_notification_receivers_info' => 10,
'office_bin' => 'libreoffice',
'dmsf_global_menu_disabled' => nil,
'dmsf_default_query' => nil
'dmsf_default_query' => nil,
'empty_minor_version_by_default' => nil
}
end

View File

@ -0,0 +1,53 @@
# encoding: utf-8
# frozen_string_literal: true
#
# Redmine plugin for Document Management System "Features"
#
# Copyright © 2011-23 Karel Pičman <karel.picman@kontron.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.expand_path('../../test_helper', __FILE__)
class DmsfUploadTest < RedmineDmsf::Test::UnitTest
fixtures :projects
def setup
super
@uploaded = {
disk_filename: '230105094726_1-TIOMAN_IMG_4391a.JPG',
content_type: 'image/jpeg',
original_filename: '1-TIOMAN_IMG_4391a.JPG',
comment: '',
tempfile_path: '/opt/redmine/files/2023/01/230105104724_1-TIOMAN_IMG_4391a.JPG',
digest: '3fae7e571666c3b9a70067970a00396b5019e6ea94b26398d13e989e695a1a39'
}
end
def test_initialize
with_settings plugin_redmine_dmsf: { 'empty_minor_version_by_default' => '1' } do
upload = DmsfUpload.new(@project1, nil, @uploaded)
assert_equal 1, upload.major_version
assert_nil upload.minor_version
end
with_settings plugin_redmine_dmsf: { 'empty_minor_version_by_default' => nil } do
upload = DmsfUpload.new(@project1, nil, @uploaded)
assert_equal 0, upload.major_version
assert_equal 0, upload.minor_version
end
end
end