#1414 Empty default version by default
This commit is contained in:
parent
0a3604630e
commit
f4eb85200a
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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) %>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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: اسناد قفل شدهی من
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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: 自分がロック中の文書
|
||||
|
||||
@ -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: 내 잠긴 파일
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
3
init.rb
3
init.rb
@ -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
|
||||
|
||||
|
||||
53
test/unit/dmsf_upload_test.rb
Normal file
53
test/unit/dmsf_upload_test.rb
Normal 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
|
||||
Loading…
x
Reference in New Issue
Block a user