From bacb1547f203dc87ae698c93dc35f20806463a06 Mon Sep 17 00:00:00 2001 From: ajugo Date: Wed, 25 May 2022 10:22:50 +0200 Subject: [PATCH] Changed clone permissions and UI changes for experiment actions [SCI-6756] (#4074) --- app/assets/stylesheets/projects.scss | 8 +++ app/permissions/experiment.rb | 2 +- .../experiments/_dropdown_actions.html.erb | 58 +++++++++++++------ app/views/experiments/canvas.html.erb | 2 + config/locales/en.yml | 12 ++-- 5 files changed, 57 insertions(+), 25 deletions(-) diff --git a/app/assets/stylesheets/projects.scss b/app/assets/stylesheets/projects.scss index c379a691e..25b6bae4b 100644 --- a/app/assets/stylesheets/projects.scss +++ b/app/assets/stylesheets/projects.scss @@ -27,6 +27,14 @@ $color-module-hover: $brand-primary; .actions-button { margin-right: 15px; + + .fas { + margin-right: .4em; + } + + a { + padding: .5em 1em; + } } .toolbarButtons { diff --git a/app/permissions/experiment.rb b/app/permissions/experiment.rb index 9e23b0957..478f85a7c 100644 --- a/app/permissions/experiment.rb +++ b/app/permissions/experiment.rb @@ -72,7 +72,7 @@ Canaid::Permissions.register_for(Experiment) do end can :clone_experiment do |user, experiment| - experiment.permission_granted?(user, ExperimentPermissions::MANAGE) + experiment.permission_granted?(user, ExperimentPermissions::READ) end can :move_experiment do |user, experiment| diff --git a/app/views/experiments/_dropdown_actions.html.erb b/app/views/experiments/_dropdown_actions.html.erb index 520632dc5..eea31e4c1 100644 --- a/app/views/experiments/_dropdown_actions.html.erb +++ b/app/views/experiments/_dropdown_actions.html.erb @@ -3,48 +3,64 @@ data-id="<%= experiment.id %>"> <% if can_manage_experiment?(experiment) %> -
  • <%= link_to t('experiments.edit.label_title'), - edit_experiment_url(experiment), - remote: true, - type: 'button', - data: { id: experiment.id }, - class: 'edit-experiment' %>
  • +
  • + <%= link_to edit_experiment_url(experiment), + remote: true, + type: 'button', + data: { id: experiment.id }, + class: 'edit-experiment' do %> + + <%= t('experiments.edit.label_title') %> + <% end %> +
  • <% end %>
  • <% if can_clone_experiment?(experiment) %> -
  • <%= link_to t('experiments.clone.label_title'), - clone_modal_experiment_url(experiment), - remote: true, type: 'button', - class: 'clone-experiment' %> +
  • + <%= link_to clone_modal_experiment_url(experiment), + remote: true, type: 'button', + class: 'clone-experiment' do %> + + <%= t('experiments.clone.label_title') %> + <% end %>
  • <% end %> <% if can_move_experiment?(experiment) %> -
  • <%= link_to t('experiments.move.label_title'), - move_modal_experiment_url(experiment), - remote: true, type: 'button', - class: 'move-experiment'%> +
  • + <%= link_to move_modal_experiment_url(experiment), + remote: true, type: 'button', + class: 'move-experiment' do %> + + <%= t('experiments.move.label_title') %> + <% end %>
  • <% end %> <% if can_manage_experiment_users?(experiment) %>
  • <%= link_to edit_access_permissions_project_experiment_path(project, experiment), data: { action: 'remote-modal'} do %> + <%= t('experiments.index.experiment_access') %> <% end %>
  • <% else %>
  • <%= link_to access_permissions_project_experiment_path(project, experiment), data: { action: 'remote-modal'} do %> + <%= t('experiments.index.experiment_access') %> <% end %>
  • <% end %> <% if can_archive_experiment?(experiment) %> -
  • <%= link_to t('experiments.archive.label_title'), - archive_experiment_url(experiment), +
  • + <%= link_to archive_experiment_url(experiment), type: 'button', method: :post, - data: { confirm: t('experiments.canvas.archive_confirm') } %>
  • + data: { confirm: t('experiments.canvas.archive_confirm') } do %> + + <%= t('experiments.archive.label_title') %> + <% end %> + <% end %> <% if can_restore_experiment?(experiment) %> <% experiment_form = nil %> @@ -52,6 +68,12 @@ <% experiment_form = f %> <%= f.hidden_field :archived, value: false %> <% end %> -
  • <%= t "projects.experiment_archive.restore_option" %>
  • +
  • + <%= t "projects.experiment_archive.restore_option" %>
  • <% end %> +
  • +
    + <%= t('experiments.experiment_id') %>: <%= experiment.code %> +
    +
  • diff --git a/app/views/experiments/canvas.html.erb b/app/views/experiments/canvas.html.erb index 46e98f102..6f952d2a0 100644 --- a/app/views/experiments/canvas.html.erb +++ b/app/views/experiments/canvas.html.erb @@ -21,6 +21,8 @@ <% end %> + <% end %> + <% if can_manage_experiment?(@experiment) || can_clone_experiment?(@experiment) %>