mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-02-28 01:36:33 +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
|
class AssetsController < ApplicationController
|
||||||
|
include WopiUtil
|
||||||
|
|
||||||
before_action :load_vars, except: [:signature]
|
before_action :load_vars, except: [:signature]
|
||||||
before_action :check_read_permission, except: [:signature, :file_present]
|
before_action :check_read_permission, except: [:signature, :file_present]
|
||||||
before_action :check_edit_permission, only: [ :edit ]
|
before_action :check_edit_permission, only: [ :edit ]
|
||||||
|
@ -71,6 +73,7 @@ class AssetsController < ApplicationController
|
||||||
@favicon_url = @asset.favicon_url('edit')
|
@favicon_url = @asset.favicon_url('edit')
|
||||||
@token = current_user.get_wopi_token
|
@token = current_user.get_wopi_token
|
||||||
@ttl = (current_user.wopi_token_ttl * 1000).to_s
|
@ttl = (current_user.wopi_token_ttl * 1000).to_s
|
||||||
|
create_wopi_file_activity(current_user, true)
|
||||||
end
|
end
|
||||||
|
|
||||||
def view
|
def view
|
||||||
|
|
|
@ -143,6 +143,8 @@ class WopiController < ActionController::Base
|
||||||
if @asset.lock == lock
|
if @asset.lock == lock
|
||||||
@asset.unlock
|
@asset.unlock
|
||||||
@asset.post_process_file # Space is already taken in put_file
|
@asset.post_process_file # Space is already taken in put_file
|
||||||
|
create_wopi_file_activity(@user, false)
|
||||||
|
|
||||||
response.headers['X-WOPI-ItemVersion'] = @asset.version
|
response.headers['X-WOPI-ItemVersion'] = @asset.version
|
||||||
render nothing: :true, status: 200 and return
|
render nothing: :true, status: 200 and return
|
||||||
else
|
else
|
||||||
|
|
|
@ -39,7 +39,9 @@ class Activity < ActiveRecord::Base
|
||||||
:delete_step_comment,
|
:delete_step_comment,
|
||||||
:edit_result_comment,
|
:edit_result_comment,
|
||||||
:delete_result_comment,
|
:delete_result_comment,
|
||||||
:destroy_result
|
:destroy_result,
|
||||||
|
:start_edit_wopi_file,
|
||||||
|
:unlock_wopi_file
|
||||||
]
|
]
|
||||||
|
|
||||||
validates :type_of, presence: true
|
validates :type_of, presence: true
|
||||||
|
|
|
@ -70,4 +70,42 @@ module WopiUtil
|
||||||
discovery = WopiDiscovery.first
|
discovery = WopiDiscovery.first
|
||||||
discovery.destroy if discovery
|
discovery.destroy if discovery
|
||||||
end
|
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
|
end
|
||||||
|
|
|
@ -1052,6 +1052,10 @@ en:
|
||||||
delete_step_comment: "<i>%{user}</i> deleted comment on Step %{step} <strong>%{step_name}</strong>."
|
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>."
|
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>."
|
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:
|
user_my_modules:
|
||||||
new:
|
new:
|
||||||
|
|
Loading…
Reference in a new issue