Merge pull request #1683 from jbargu/jg_3179

Archived results are now separated in exported project
This commit is contained in:
Jure Grabnar 2019-04-19 18:26:22 +02:00 committed by GitHub
commit 1da1558849
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 44 additions and 13 deletions

View file

@ -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'

View file

@ -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 %>

View file

@ -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 %>

View file

@ -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) %>