Update export action in protocol repository [SCI-7901]

This commit is contained in:
Anton 2023-02-15 13:48:40 +01:00
parent cb332f163f
commit a4e622b903
3 changed files with 25 additions and 5 deletions

View file

@ -420,13 +420,13 @@ var ProtocolsIndex = (function() {
});
}
function initArchiveMyModules() {
function initArchiveProtocols() {
$('.protocols-index').on('click', '#archiveProtocol', function(e) {
archiveMyModules(e.currentTarget.dataset.url, rowsSelected);
archiveProtocols(e.currentTarget.dataset.url, rowsSelected);
});
}
function archiveMyModules(url, ids) {
function archiveProtocols(url, ids) {
$.post(url, { protocol_ids: ids }, (data) => {
HelperModule.flashAlertMsg(data.message, 'success');
protocolsDatatable.ajax.reload();
@ -435,6 +435,24 @@ var ProtocolsIndex = (function() {
});
}
function initExportProtocols() {
$('.protocols-index').on('click', '#exportProtocol', function(e) {
exportProtocols(e.currentTarget.dataset.url, rowsSelected);
});
}
function exportProtocols(url, ids) {
if (ids.length > 0) {
let params = '?protocol_ids[]=' + ids[0];
for (let i = 1; i < ids.length; i += 1) {
params += '&protocol_ids[]=' + ids[i];
}
params = encodeURI(params);
window.location.href = url + params;
}
}
function initLinkedChildrenModal() {
// Only do this if the repository is public/private
if (repositoryType !== 'archive') {
@ -951,7 +969,8 @@ var ProtocolsIndex = (function() {
init();
initManageAccessButton();
initArchiveMyModules();
initArchiveProtocols();
initExportProtocols();
initdeleteDraftModal();
return {

View file

@ -803,6 +803,7 @@ class ProtocolsController < ApplicationController
# Create folder and xml file for each protocol and populate it
@protocols.each do |protocol|
protocol = protocol.published_versions.order(version_number: :desc).first || protocol
protocol_dir = get_guid(protocol.id).to_s
ostream.put_next_entry("#{protocol_dir}/eln.xml")
ostream.print(generate_protocol_xml(protocol))

View file

@ -11,7 +11,7 @@
<i class="fas fa-copy"></i>
<span class="button-text"><%= t("protocols.index.action_toolbar.duplicate") %></span>
</button>
<button id="moveTask" class="btn btn-light multiple-object-action hidden only-active">
<button id="exportProtocol" class="btn btn-light single-object-action hidden only-active" data-url="<%= export_protocols_path %>">
<i class="fas fa-download"></i>
<span class="button-text"><%= t("protocols.index.action_toolbar.export") %></span>
</button>