diff --git a/app/assets/javascripts/my_modules/protocols.js.erb b/app/assets/javascripts/my_modules/protocols.js.erb index e4bd3fa4c..7ec127408 100644 --- a/app/assets/javascripts/my_modules/protocols.js.erb +++ b/app/assets/javascripts/my_modules/protocols.js.erb @@ -15,7 +15,7 @@ function init() { initCopyToRepository(); initLinkUpdate(); initLoadFromRepository(); - initRefreshStatusBar(); + refreshProtocolStatusBar(); initImport(); } @@ -384,20 +384,6 @@ function loadFromRepository() { } } -function initRefreshStatusBar() { - // The following actions need a refresh of status bar: - // - Edit protocol description - // - Create new step - // - Edit existing step - // - Move steps up/down - // - Delete step - // - New Office file - // - Edit image - // - Office Online edit file (???) - - // TODO - this function will probably become reduntant -} - function refreshProtocolStatusBar() { // Get the status bar URL var url = $("[data-role='protocol-status-bar-url']").attr("data-url"); diff --git a/app/assets/javascripts/protocols/steps.js.erb b/app/assets/javascripts/protocols/steps.js.erb index f7f2f960d..c1e6e7600 100644 --- a/app/assets/javascripts/protocols/steps.js.erb +++ b/app/assets/javascripts/protocols/steps.js.erb @@ -162,7 +162,7 @@ }); } - // Set callback for click on edit button + // Set callback for click on move step function applyMoveStepCallBack() { $("[data-action='move-step']").off("ajax:success"); $("[data-action='move-step']") @@ -188,6 +188,8 @@ $stepUp.find(".badge").html(stepUpPosition+1); $("html, body").animate({ scrollTop: $step.offset().top - window.innerHeight / 2 }); } + + refreshProtocolStatusBar(); }); } @@ -605,6 +607,7 @@ DragNDropSteps.clearFiles(); FilePreviewModal.init(); $.initTooltips(); + refreshProtocolStatusBar(); }, error: function(xhr) { if (xhr.responseJSON['assets.file']) { diff --git a/app/assets/javascripts/sitewide/file_preview.js b/app/assets/javascripts/sitewide/file_preview.js index 908a5c64a..1f77788b9 100644 --- a/app/assets/javascripts/sitewide/file_preview.js +++ b/app/assets/javascripts/sitewide/file_preview.js @@ -404,6 +404,7 @@ var FilePreviewModal = (function() { imageEditor = {}; $('#tui-image-editor').html(''); $('#fileEditModal').modal('hide'); + refreshProtocolStatusBar(); }); }); @@ -466,6 +467,7 @@ var FilePreviewModal = (function() { modal.find('.file-name').text(name); modal.find('.preview-close').click(function() { modal.modal('hide'); + refreshProtocolStatusBar(); }); modal.modal(); modal.find('a[disabled=disabled]').click(function(ev) { diff --git a/app/controllers/assets_controller.rb b/app/controllers/assets_controller.rb index 4eedf319e..af9269ae8 100644 --- a/app/controllers/assets_controller.rb +++ b/app/controllers/assets_controller.rb @@ -156,6 +156,8 @@ class AssetsController < ApplicationController tkn = current_user.get_wopi_token @token = tkn.token @ttl = (tkn.ttl * 1000).to_s + @asset.step&.protocol&.update(updated_at: Time.now) + create_wopi_file_activity(current_user, true) render layout: false @@ -185,6 +187,7 @@ class AssetsController < ApplicationController @asset.team.release_space(orig_file_size) # Post process file here @asset.post_process_file(@asset.team) + @asset.step&.protocol&.update(updated_at: Time.now) render_html = if @asset.step asset_position = @asset.step.asset_position(@asset) @@ -239,6 +242,7 @@ class AssetsController < ApplicationController render_403 && return unless can_manage_protocol_in_module?(step.protocol) || can_manage_protocol_in_repository?(step.protocol) step_asset = StepAsset.create!(step: step, asset: asset) + step.protocol&.update(updated_at: Time.now) edit_url = edit_asset_url(step_asset.asset_id) elsif params[:element_type] == 'Result'