#214 Required DMSF custom field prevents documents to be saved

This commit is contained in:
Karel Picman 2014-02-06 10:12:28 +01:00
parent efe1ae88fb
commit 29812ee402

View File

@ -1,6 +1,7 @@
# Redmine plugin for Document Management System "Features" # Redmine plugin for Document Management System "Features"
# #
# Copyright (C) 2011 Vít Jonáš <vit.jonas@gmail.com> # Copyright (C) 2011 Vít Jonáš <vit.jonas@gmail.com>
# Copyright (C) 2014 Karel Pičman <karel.picman@kontron.com>
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
@ -142,7 +143,13 @@ class DmsfUploadController < ApplicationController
end end
# Need to save file first to generate id for it in case of creation. # Need to save file first to generate id for it in case of creation.
# File id is needed to properly generate revision disk filename # File id is needed to properly generate revision disk filename
if commited_file['dmsf_file_revision'].present?
commited_file['dmsf_file_revision']['custom_field_values'].each_with_index do |v, i|
new_revision.custom_field_values[i].value = v[1]
end
end
if new_revision.valid? && file.save if new_revision.valid? && file.save
new_revision.disk_filename = new_revision.new_storage_filename new_revision.disk_filename = new_revision.new_storage_filename
else else
@ -157,15 +164,6 @@ class DmsfUploadController < ApplicationController
File.delete(commited_disk_filepath) File.delete(commited_disk_filepath)
file.set_last_revision new_revision file.set_last_revision new_revision
files.push(file) files.push(file)
if commited_file['dmsf_file_revision'].present?
commited_file['dmsf_file_revision']['custom_field_values'].each do |v|
cv = CustomValue.where(:customized_id => new_revision.id, :custom_field_id => v[0]).first
if cv
cv.value = v[1]
cv.save
end
end
end
else else
failed_uploads.push(commited_file) failed_uploads.push(commited_file)
end end