Fix inventory card view for snapshots as default view

This commit is contained in:
Mojca Lorber 2020-08-05 15:43:43 +02:00
parent 6853caa0c8
commit 3a8fc01ff7
2 changed files with 57 additions and 54 deletions

View file

@ -4,9 +4,9 @@ class RepositoryRowsController < ApplicationController
include ApplicationHelper
include MyModulesHelper
before_action :load_repository
before_action :load_repository_row, only: %i(update show assigned_task_list)
before_action :check_read_permissions, except: %i(create update delete_records copy_records)
before_action :load_repository, except: :show
before_action :load_repository_row, only: %i(update assigned_task_list)
before_action :check_read_permissions, except: %i(show create update delete_records copy_records)
before_action :check_snapshotting_status, only: %i(create update delete_records copy_records)
before_action :check_create_permissions, only: :create
before_action :check_delete_permissions, only: %i(delete_records archive_records restore_records)
@ -51,7 +51,12 @@ class RepositoryRowsController < ApplicationController
end
def show
@assigned_modules = @repository_row.my_modules.joins(experiment: :project)
@repository_row = RepositoryRow.find_by(id: params[:id])
render_403 unless can_read_repository?(@repository_row.repository)
row = RepositoryRow.find_by(id: @repository_row.parent_id) if @repository_row.parent_id
row ||= @repository_row
@assigned_modules = row.my_modules.joins(experiment: :project)
@viewable_modules = @assigned_modules.viewable_by_user(current_user, current_user.teams)
@private_modules = @assigned_modules - @viewable_modules

View file

@ -39,58 +39,56 @@
<% end %>
</p>
<% if @repository_row.repository.is_a?(Repository) %>
<% if @assigned_modules.size.positive? %>
<div>
<%= t('repository_row.modal_info.title', nr: @assigned_modules.size) %>
<%= t('repository_row.modal_info.private_tasks', nr: @private_modules.size) if @private_modules.size.positive? %>
</div>
<% if @viewable_modules.size.positive? %>
<div class="linked-children-datatable">
<table id="repository_row-info-table" class="table dataTable no-footer" role="grid">
<tbody>
<% @viewable_modules.each do |my_module| %>
<tr role="row">
<td class="sorting_1">
<ol class='breadcrumb'>
<li>
<span class='fas fa-users'></span>&nbsp;
<%= render partial: 'search/results/partials/team_text.html.erb',
locals: { team: my_module.experiment.project.team } %>
</li>
<li>
<%= image_tag 'icon_small/project.svg' %>
<%= render partial: 'search/results/partials/project_text.html.erb',
locals: { project: my_module.experiment.project } %>
</li>
<li>
<%= image_tag 'icon_small/experiment.svg' %>
<%= render partial: 'search/results/partials/experiment_text.html.erb',
locals: { experiment: my_module.experiment } %>
</li>
<li>
<%= image_tag 'icon_small/task.svg' %>
<%= render partial: 'search/results/partials/my_module_text.html.erb',
locals: { my_module: my_module,
link_to_page: :repositories,
repository: @repository_row.repository } %>
</li>
</ol>
</td>
</tr>
<% end %>
</tbody>
<thead>
<tr>
<th></th>
<% if @assigned_modules.size.positive? %>
<div>
<%= t('repository_row.modal_info.title', nr: @assigned_modules.size) %>
<%= t('repository_row.modal_info.private_tasks', nr: @private_modules.size) if @private_modules.size.positive? %>
</div>
<% if @viewable_modules.size.positive? %>
<div class="linked-children-datatable">
<table id="repository_row-info-table" class="table dataTable no-footer" role="grid">
<tbody>
<% @viewable_modules.each do |my_module| %>
<tr role="row">
<td class="sorting_1">
<ol class='breadcrumb'>
<li>
<span class='fas fa-users'></span>&nbsp;
<%= render partial: 'search/results/partials/team_text.html.erb',
locals: { team: my_module.experiment.project.team } %>
</li>
<li>
<%= image_tag 'icon_small/project.svg' %>
<%= render partial: 'search/results/partials/project_text.html.erb',
locals: { project: my_module.experiment.project } %>
</li>
<li>
<%= image_tag 'icon_small/experiment.svg' %>
<%= render partial: 'search/results/partials/experiment_text.html.erb',
locals: { experiment: my_module.experiment } %>
</li>
<li>
<%= image_tag 'icon_small/task.svg' %>
<%= render partial: 'search/results/partials/my_module_text.html.erb',
locals: { my_module: my_module,
link_to_page: :repositories,
repository: @repository_row.repository } %>
</li>
</ol>
</td>
</tr>
</thead>
</table>
</div>
<% end %>
<% else %>
<em><%= t('repository_row.modal_info.no_tasks') %></em>
<% end %>
</tbody>
<thead>
<tr>
<th></th>
</tr>
</thead>
</table>
</div>
<% end %>
<% else %>
<em><%= t('repository_row.modal_info.no_tasks') %></em>
<% end %>
</div>
<script>FilePreviewModal.init()</script>