mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-20 23:16:15 +08:00
Fix my_modules archive page
This commit is contained in:
parent
5a023483d7
commit
2bd74866e0
|
@ -1,8 +1,14 @@
|
|||
class ExperimentsController < ApplicationController
|
||||
include PermissionHelper
|
||||
before_action :set_experiment, except: [:new, :create]
|
||||
before_action :set_project, only: [:new, :create, :samples_index, :samples]
|
||||
before_action :check_view_permissions, only: [:canvas]
|
||||
before_action :set_experiment,
|
||||
except: [:new, :create]
|
||||
before_action :set_project,
|
||||
only: [:new, :create, :samples_index,
|
||||
:samples, :module_archive]
|
||||
before_action :check_view_permissions,
|
||||
only: [:canvas, :module_archive]
|
||||
before_action :check_module_archive_permissions,
|
||||
only: [:module_archive]
|
||||
|
||||
# except parameter could be used but it is not working.
|
||||
layout :choose_layout
|
||||
|
@ -79,6 +85,9 @@ class ExperimentsController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def module_archive
|
||||
end
|
||||
|
||||
def samples
|
||||
@samples_index_link = samples_index_experiment_path(@experiment,
|
||||
format: :json)
|
||||
|
@ -120,6 +129,10 @@ class ExperimentsController < ApplicationController
|
|||
render_403 unless can_view_experiment(@experiment)
|
||||
end
|
||||
|
||||
def check_module_archive_permissions
|
||||
render_403 unless can_view_experiment_archive(@experiment)
|
||||
end
|
||||
|
||||
def choose_layout
|
||||
action_name.in?(%w(index archive)) ? 'main' : 'fluid'
|
||||
end
|
||||
|
|
|
@ -399,7 +399,8 @@ module PermissionHelper
|
|||
end
|
||||
|
||||
def can_restore_module(my_module)
|
||||
my_module.archived? and is_user_or_higher_of_project(my_module.project)
|
||||
my_module.archived? &&
|
||||
is_user_or_higher_of_project(my_module.experiment.project)
|
||||
end
|
||||
|
||||
def can_edit_tags_for_module(my_module)
|
||||
|
|
28
app/views/experiments/module_archive.html.erb
Normal file
28
app/views/experiments/module_archive.html.erb
Normal file
|
@ -0,0 +1,28 @@
|
|||
<% provide(:head_title, raw(t("experiments.module_archive.head_title", experiment: @experiment.name))) %>
|
||||
<%= render partial: "shared/sidebar" %>
|
||||
<%= render partial: "shared/secondary_navigation" %>
|
||||
|
||||
<% if @experiment.archived_modules.count > 0 %>
|
||||
<div class="row">
|
||||
<% @experiment.archived_modules.each_with_index do |my_module, i| %>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4 col-xs-6">
|
||||
<%= render partial: "experiments/module_archive/my_module.html.erb", locals: { my_module: my_module} %>
|
||||
</div>
|
||||
<% if (i+1) % 6 == 0 %>
|
||||
<div class="clearfix visible-lg-block"></div>
|
||||
<% end %>
|
||||
<% if (i+1) % 4 == 0 %>
|
||||
<div class="clearfix visible-md-block"></div>
|
||||
<% end %>
|
||||
<% if (i+1) % 3 == 0 %>
|
||||
<div class="clearfix visible-sm-block"></div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<em><%=t "experiments.module_archive.no_archived_modules" %></em>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
39
app/views/experiments/module_archive/_my_module.html.erb
Normal file
39
app/views/experiments/module_archive/_my_module.html.erb
Normal file
|
@ -0,0 +1,39 @@
|
|||
<div class="panel panel-default panel-archive">
|
||||
|
||||
<div class="panel-heading">
|
||||
|
||||
<div class="dropdown pull-right">
|
||||
<button class="btn btn-link dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<% my_module_form = nil %>
|
||||
<%= form_for my_module, method: :patch, format: :html do |f| %>
|
||||
<% my_module_form = f %>
|
||||
<%= f.hidden_field :archived, value: false %>
|
||||
<% end %>
|
||||
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenu1">
|
||||
<li class="dropdown-header"><%=t "projects.index.options_header" %></li>
|
||||
<% if can_restore_module(my_module) %>
|
||||
<li><a href="#" class="form-submit-link" data-submit-form="<%= my_module_form.options[:html][:id] %>"><%= t "experiments.module_archive.restore_option" %></a></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<h3 class="panel-title"><%= my_module.name %></h3>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<%=t "experiments.module_archive.archived_on" %>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<span title="<%=t "experiments.module_archive.archived_on_title", date: l(my_module.archived_on, format: :full_date), time: l(my_module.archived_on, format: :time) %>">
|
||||
<%=l my_module.archived_on, format: :full_date %>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
|
@ -1,4 +1,4 @@
|
|||
<% provide(:head_title, raw(t("my_modules.module_archive.head_title", project: @my_module.project.name, module: @my_module.name))) %>
|
||||
<% provide(:head_title, raw(t("my_modules.module_archive.head_title", project: @my_module.experiment.project.name, module: @my_module.name))) %>
|
||||
<%= render partial: "shared/sidebar" %>
|
||||
<%= render partial: "shared/secondary_navigation" %>
|
||||
|
||||
|
@ -16,4 +16,4 @@
|
|||
<em><%=t "my_modules.module_archive.no_archived_results" %></em>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -700,6 +700,12 @@ en:
|
|||
contact_admins: "To invite additional users to team %{organization}, contact its administrator/s."
|
||||
update:
|
||||
success_flash: "Project successfully updated."
|
||||
module_archive:
|
||||
head_title: "%{experiment} | Archived tasks"
|
||||
no_archived_modules: "No archived tasks!"
|
||||
restore_option: "Restore"
|
||||
archived_on: "Archived on"
|
||||
archived_on_title: "Module archived on %{date} at %{time}."
|
||||
|
||||
my_module_tags:
|
||||
new:
|
||||
|
|
Loading…
Reference in a new issue