mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-02-27 17:30:32 +08:00
Add wopi file activity
SCI-393 #close
This commit is contained in:
parent
ed8df3cc62
commit
ff47f29dc2
5 changed files with 50 additions and 1 deletions
|
@ -1,4 +1,6 @@
|
|||
class AssetsController < ApplicationController
|
||||
include WopiUtil
|
||||
|
||||
before_action :load_vars, except: [:signature]
|
||||
before_action :check_read_permission, except: [:signature, :file_present]
|
||||
before_action :check_edit_permission, only: [ :edit ]
|
||||
|
@ -71,6 +73,7 @@ class AssetsController < ApplicationController
|
|||
@favicon_url = @asset.favicon_url('edit')
|
||||
@token = current_user.get_wopi_token
|
||||
@ttl = (current_user.wopi_token_ttl * 1000).to_s
|
||||
create_wopi_file_activity(current_user, true)
|
||||
end
|
||||
|
||||
def view
|
||||
|
|
|
@ -143,6 +143,8 @@ class WopiController < ActionController::Base
|
|||
if @asset.lock == lock
|
||||
@asset.unlock
|
||||
@asset.post_process_file # Space is already taken in put_file
|
||||
create_wopi_file_activity(@user, false)
|
||||
|
||||
response.headers['X-WOPI-ItemVersion'] = @asset.version
|
||||
render nothing: :true, status: 200 and return
|
||||
else
|
||||
|
|
|
@ -39,7 +39,9 @@ class Activity < ActiveRecord::Base
|
|||
:delete_step_comment,
|
||||
:edit_result_comment,
|
||||
:delete_result_comment,
|
||||
:destroy_result
|
||||
:destroy_result,
|
||||
:start_edit_wopi_file,
|
||||
:unlock_wopi_file
|
||||
]
|
||||
|
||||
validates :type_of, presence: true
|
||||
|
|
|
@ -70,4 +70,42 @@ module WopiUtil
|
|||
discovery = WopiDiscovery.first
|
||||
discovery.destroy if discovery
|
||||
end
|
||||
|
||||
def create_wopi_file_activity(current_user, started_editing)
|
||||
if @assoc.class == Step
|
||||
activity = Activity.new(
|
||||
type_of: :start_edit_wopi_file,
|
||||
user: current_user,
|
||||
message: t(
|
||||
started_editing ? 'activities.start_edit_wopi_file_step' :
|
||||
'activities.unlock_wopi_file_step',
|
||||
user: current_user.full_name,
|
||||
file: @asset.file_file_name,
|
||||
step: @asset.step.position + 1,
|
||||
step_name: @asset.step.name
|
||||
)
|
||||
)
|
||||
|
||||
if @protocol.in_module?
|
||||
activity.my_module = @protocol.my_module
|
||||
activity.project = @protocol.my_module.experiment.project
|
||||
end
|
||||
|
||||
activity.save
|
||||
else
|
||||
Activity.create(
|
||||
type_of: :start_edit_wopi_file,
|
||||
user: current_user,
|
||||
project: @my_module.experiment.project,
|
||||
my_module: @my_module,
|
||||
message: t(
|
||||
started_editing ? 'activities.start_edit_wopi_file_result' :
|
||||
'activities.unlock_wopi_file_result',
|
||||
user: current_user.full_name,
|
||||
file: @asset.file_file_name,
|
||||
result: @asset.result.name
|
||||
)
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1052,6 +1052,10 @@ en:
|
|||
delete_step_comment: "<i>%{user}</i> deleted comment on Step %{step} <strong>%{step_name}</strong>."
|
||||
edit_result_comment: "<i>%{user}</i> edited comment on result <strong>%{result}</strong>."
|
||||
delete_result_comment: "<i>%{user}</i> deleted comment on result <strong>%{result}</strong>."
|
||||
start_edit_wopi_file_step: "<i>%{user}</i> started editing File %{file} on Step %{step} <strong>%{step_name}</strong>."
|
||||
start_edit_wopi_file_result: "<i>%{user}</i> started editing File %{file} on Result <strong>%{result}</strong>."
|
||||
unlock_wopi_file_step: "<i>%{user}</i> closed File %{file} for editing on Step %{step} <strong>%{step_name}</strong>."
|
||||
unlock_wopi_file_result: "<i>%{user}</i> started editing File %{file} on Result <strong>%{result}</strong>."
|
||||
|
||||
user_my_modules:
|
||||
new:
|
||||
|
|
Loading…
Reference in a new issue