The same version feature doen't work as expected #526

This commit is contained in:
Karel Picman 2016-04-21 14:56:47 +02:00
parent c49881dbf9
commit 8507ee9b09
5 changed files with 26 additions and 35 deletions

View File

@ -128,24 +128,18 @@ class DmsfFilesController < ApplicationController
revision.major_version = last_revision.major_version
revision.minor_version = last_revision.minor_version
version = params[:version].to_i
if version == 3
revision.major_version = params[:custom_version_major].to_i
revision.minor_version = params[:custom_version_minor].to_i
else
revision.increase_version(version)
end
file_upload = params[:file_upload]
unless file_upload
revision.disk_filename = last_revision.disk_filename
if version == 3
revision.major_version = params[:custom_version_major].to_i
revision.minor_version = params[:custom_version_minor].to_i
else
revision.increase_version(version, false)
end
revision.mime_type = last_revision.mime_type
revision.size = last_revision.size
revision.disk_filename = last_revision.disk_filename
revision.mime_type = last_revision.mime_type
else
if version == 3
revision.major_version = params[:custom_version_major].to_i
revision.minor_version = params[:custom_version_minor].to_i
else
revision.increase_version(version, true)
end
revision.size = file_upload.size
revision.disk_filename = revision.new_storage_filename
revision.mime_type = Redmine::MimeType.of(file_upload.original_filename)

View File

@ -183,7 +183,7 @@ class DmsfUploadController < ApplicationController
new_revision.major_version = commited_file[:custom_version_major].to_i
new_revision.minor_version = commited_file[:custom_version_minor].to_i
else
new_revision.increase_version(version, true)
new_revision.increase_version(version)
end
new_revision.mime_type = Redmine::MimeType.of(new_revision.name)
new_revision.size = File.size(commited_disk_filepath)

View File

@ -200,23 +200,20 @@ class DmsfFileRevision < ActiveRecord::Base
wf.assign(self.id) if wf && self.id
end
def increase_version(version_to_increase, new_content)
if new_content
def increase_version(version_to_increase)
self.minor_version = case version_to_increase
when 2 then 0
else self.minor_version + 1
end
when 1
self.minor_version + 1
when 2
0
else
self.minor_version = case version_to_increase
when 1 then self.minor_version + 1
when 2 then 0
else self.minor_version
self.minor_version
end
end
self.major_version = case version_to_increase
when 2 then self.major_version + 1
else self.major_version
when 2
self.major_version + 1
else
major_version
end
end

View File

@ -62,7 +62,7 @@
</div>
<%= render(:partial => '/dmsf/path',
:locals => {:folder => @file.folder, :filename => @file.title, :title => nil}) %>
:locals => {:folder => @file.dmsf_folder, :filename => @file.title, :title => nil}) %>
<% if User.current.allowed_to?(:file_manipulation, @file.project) && !@file.locked_for_user? %>
<%= error_messages_for('file') %>

View File

@ -105,7 +105,7 @@ module RedmineDmsf
# Hunt for files parent path
f = false
if (parent.projectless_path != '/')
f = parent.dmsf_folder if parent.dmsf_folder
f = parent.folder if parent.folder
else
f = nil
end
@ -199,8 +199,8 @@ module RedmineDmsf
return MethodNotAllowed if exist? # If we already exist, why waste the time trying to save?
parent_folder = nil
if (parent.projectless_path != '/')
return Conflict unless parent.dmsf_folder
parent_folder = parent.dmsf_folder.id
return Conflict unless parent.folder
parent_folder = parent.folder.id
end
f = DmsfFolder.new
f.title = basename
@ -498,7 +498,7 @@ module RedmineDmsf
new_revision.title = DmsfFileRevision.filename_to_title(basename)
new_revision.description = nil
new_revision.comment = nil
new_revision.increase_version(1, true)
new_revision.increase_version(1)
new_revision.mime_type = Redmine::MimeType.of(new_revision.name)
# Phusion passenger does not have a method "length" in its model