mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-11-05 05:23:38 +08:00
Merge pull request #8281 from scinote-eln/revert-8063-ma_SCI_11279
Revert "Prevent creation of blank WOPI file versions [SCI-11279]"
This commit is contained in:
commit
ddea1262a1
3 changed files with 5 additions and 17 deletions
|
|
@ -33,7 +33,7 @@ class AssetSyncController < ApplicationController
|
|||
ActiveRecord::Base.transaction do
|
||||
@asset.update(last_modified_by: current_user)
|
||||
if wopi_file?(@asset)
|
||||
@asset.wopi_update_contents(request.body)
|
||||
@asset.update_contents(request.body)
|
||||
else
|
||||
@asset.attach_file_version(io: request.body, filename: @asset.file.filename)
|
||||
@asset.touch
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ class WopiController < ActionController::Base
|
|||
logger.warn 'WOPI: replacing file'
|
||||
|
||||
@asset.last_modified_by = @user
|
||||
@asset.wopi_update_contents(request.body)
|
||||
@asset.update_contents(request.body)
|
||||
@asset.save
|
||||
|
||||
@team.take_space(@asset.estimated_size)
|
||||
|
|
@ -219,7 +219,7 @@ class WopiController < ActionController::Base
|
|||
elsif !@asset.file_size.nil? && @asset.file_size.zero?
|
||||
logger.warn 'WOPI: initializing empty file'
|
||||
|
||||
@asset.wopi_update_contents(request.body)
|
||||
@asset.update_contents(request.body)
|
||||
@asset.last_modified_by = @user
|
||||
@asset.save
|
||||
@team.save
|
||||
|
|
|
|||
|
|
@ -359,20 +359,8 @@ class Asset < ApplicationRecord
|
|||
end
|
||||
end
|
||||
|
||||
def wopi_update_contents(new_file)
|
||||
# Only start attaching new versions after an actual first version is created.
|
||||
# This avoids empty file versions when using WOPI.
|
||||
# The first actual version is version 3:
|
||||
# Version 1: Empty 0KB placeholder file.
|
||||
# Version 2: Empty document file, created when first opening the document in Office Online.
|
||||
# Version 3: First actual save of file contents.
|
||||
|
||||
if version.to_i > 2
|
||||
attach_file_version(io: new_file, filename: file_name)
|
||||
else
|
||||
file.attach(io: new_file, filename: file_name)
|
||||
end
|
||||
|
||||
def update_contents(new_file)
|
||||
attach_file_version(io: new_file, filename: file_name)
|
||||
self.version = version.nil? ? 1 : version + 1
|
||||
save
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue