refactor view/export samples permission

This commit is contained in:
mlorb 2017-12-07 13:35:15 +01:00
parent 0d37f9c85a
commit f801ed8eb6
4 changed files with 10 additions and 11 deletions

View file

@ -255,7 +255,7 @@ class TeamsController < ApplicationController
end end
def check_view_samples_permission def check_view_samples_permission
unless can_view_samples(@team) unless can_read_team?(@team)
render_403 render_403
end end
end end

View file

@ -332,7 +332,7 @@ module PermissionHelper
end end
def can_view_project_samples(project) def can_view_project_samples(project)
can_view_samples(project.team) can_view_project(project)
end end
def can_view_project_archive(project) def can_view_project_archive(project)
@ -383,7 +383,7 @@ module PermissionHelper
end end
def can_view_experiment_samples(experiment) def can_view_experiment_samples(experiment)
can_view_samples(experiment.project.team) can_view_experiment(experiment)
end end
def can_clone_experiment(experiment) def can_clone_experiment(experiment)
@ -517,8 +517,7 @@ module PermissionHelper
end end
def can_view_module_samples(my_module) def can_view_module_samples(my_module)
can_view_module(my_module) and can_view_module(my_module)
can_view_samples(my_module.experiment.project.team)
end end
def can_view_module_archive(my_module) def can_view_module_archive(my_module)
@ -633,9 +632,9 @@ module PermissionHelper
# is_normal_user_or_admin_of_team(team) # is_normal_user_or_admin_of_team(team)
# end # end
def can_view_samples(team) # def can_view_samples(team)
is_member_of_team(team) # is_member_of_team(team)
end # end
# Only person who created the sample # Only person who created the sample
# or team admin can edit it # or team admin can edit it

View file

@ -1,5 +1,5 @@
Canaid::Permissions.register_for(Team) do Canaid::Permissions.register_for(Team) do
# view projects, view protocols # view projects, view protocols, view samples, export samples
can :read_team do |user, team| can :read_team do |user, team|
user.is_member_of_team?(team) user.is_member_of_team?(team)
end end

View file

@ -8,7 +8,7 @@
<div id="alert-container"></div> <div id="alert-container"></div>
<% if can_view_samples(@team) %> <% if can_read_team?(@team) %>
<%= bootstrap_form_tag(url: export_samples_team_path(@team), <%= bootstrap_form_tag(url: export_samples_team_path(@team),
html: { id: 'form-export', class: 'hidden' }) do |f| %> html: { id: 'form-export', class: 'hidden' }) do |f| %>
<% end %> <% end %>
@ -32,7 +32,7 @@
</button> </button>
<% end %> <% end %>
<% if can_view_samples(@team) %> <% if can_read_team?(@team) %>
<a href="#" class="btn btn-default" id="exportSamplesButton"> <a href="#" class="btn btn-default" id="exportSamplesButton">
<span class="glyphicon glyphicon-cloud-download"></span> <span class="glyphicon glyphicon-cloud-download"></span>
<span class="hidden-xs"><%= t("samples.export") %></span> <span class="hidden-xs"><%= t("samples.export") %></span>