mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-03-09 06:04:46 +08:00
Archived results are now separated in exported project
Closes SCI-3179
This commit is contained in:
parent
12bfb7e51c
commit
1295c0583a
4 changed files with 44 additions and 13 deletions
|
@ -115,14 +115,27 @@ class TeamZipExport < ZipExport
|
|||
)
|
||||
|
||||
# Export results
|
||||
obj_filenames[:result_asset].merge!(
|
||||
export_assets(ResultAsset.where(result: my_module.results),
|
||||
:result, result_path)
|
||||
)
|
||||
obj_filenames[:result_table].merge!(
|
||||
export_tables(ResultTable.where(result: my_module.results),
|
||||
:result, result_path)
|
||||
)
|
||||
[false, true].each do |archived|
|
||||
obj_filenames[:result_asset].merge!(
|
||||
export_assets(
|
||||
ResultAsset.where(result: my_module.results.where(archived: archived)),
|
||||
:result,
|
||||
result_path,
|
||||
archived
|
||||
)
|
||||
)
|
||||
end
|
||||
|
||||
[false, true].each do |archived|
|
||||
obj_filenames[:result_table].merge!(
|
||||
export_tables(
|
||||
ResultTable.where(result: my_module.results.where(archived: archived)),
|
||||
:result,
|
||||
result_path,
|
||||
archived
|
||||
)
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -183,10 +196,17 @@ class TeamZipExport < ZipExport
|
|||
File.basename(file_name, ext) + suffix + ext
|
||||
end
|
||||
|
||||
# Helper method to extract given assets to the directory
|
||||
def export_assets(elements, type, directory)
|
||||
asset_indexes = {}
|
||||
def create_archived_results_folder(result_path)
|
||||
path = "#{result_path}/Archived attachments"
|
||||
FileUtils.mkdir_p(path) unless File.directory?(path)
|
||||
path
|
||||
end
|
||||
|
||||
# Helper method to extract given assets to the directory
|
||||
def export_assets(elements, type, directory, archived = false)
|
||||
directory = create_archived_results_folder(directory) if archived && elements.present?
|
||||
|
||||
asset_indexes = {}
|
||||
elements.each_with_index do |element, i|
|
||||
asset = element.asset
|
||||
|
||||
|
@ -206,9 +226,10 @@ class TeamZipExport < ZipExport
|
|||
end
|
||||
|
||||
# Helper method to extract given tables to the directory
|
||||
def export_tables(elements, type, directory)
|
||||
table_indexes = {}
|
||||
def export_tables(elements, type, directory, archived = false)
|
||||
directory = create_archived_results_folder(directory) if archived && elements.present?
|
||||
|
||||
table_indexes = {}
|
||||
elements.each_with_index do |element, i|
|
||||
table = element.table
|
||||
table_name = table.name.presence || 'Table'
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
</div>
|
||||
<div class="pull-left result-name">
|
||||
<%= result.name %>
|
||||
<% if result.archived? %>
|
||||
<span class="label label-warning"><%=t 'search.index.archived' %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="pull-left file-name">
|
||||
<% if defined? export_all and export_all %>
|
||||
|
|
|
@ -11,12 +11,16 @@
|
|||
</div>
|
||||
<div class="pull-left result-name">
|
||||
<%= result.name %>
|
||||
<% if result.archived? %>
|
||||
<span class="label label-warning"><%=t 'search.index.archived' %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<% if defined? export_all and export_all %>
|
||||
<div class="pull-left table-name">
|
||||
<a href="<%= path %>">
|
||||
<em><%=t "projects.reports.elements.result_table.table_name",
|
||||
name: filename %></em>
|
||||
|
||||
</a>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
</div>
|
||||
<div class="pull-left result-name">
|
||||
<%= name %>
|
||||
<% if result.archived? %>
|
||||
<span class="label label-warning"><%=t 'search.index.archived' %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="pull-left user-time">
|
||||
<%=t "projects.reports.elements.result_text.user_time", user: result.user.full_name, timestamp: l(timestamp, format: :full) %>
|
||||
|
|
Loading…
Reference in a new issue