mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-11-08 07:21:03 +08:00
Merge pull request #3104 from urbanrotnik/ur-sci-5429-result-deletion
Fix result deletion [SCI-5429]
This commit is contained in:
commit
ac26a40574
5 changed files with 12 additions and 3 deletions
|
|
@ -34,6 +34,6 @@ class ResultsController < ApplicationController
|
|||
end
|
||||
|
||||
def check_destroy_permissions
|
||||
render_403 unless can_manage_result?(@result)
|
||||
render_403 unless can_delete_result?(@result)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -8,4 +8,8 @@ Canaid::Permissions.register_for(Result) do
|
|||
can :manage_result do |user, result|
|
||||
can_manage_module?(user, result.my_module) && result.active? && result.unlocked?(result)
|
||||
end
|
||||
|
||||
can :delete_result do |user, result|
|
||||
can_manage_module?(user, result.my_module) && result.archived? && result.unlocked?(result)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<%= link_to option_text, result_table_download_path(result.result_table_id), data: { turbolinks: false } %>
|
||||
<% end %>
|
||||
</li>
|
||||
<% if can_manage_result?(result) %>
|
||||
<% if can_delete_result?(result) %>
|
||||
<li>
|
||||
<%= link_to t('my_modules.module_archive.option_delete'),
|
||||
result_path(action: :delete, id: result.id),
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ describe ResultsController, type: :controller do
|
|||
let(:experiment) { create :experiment, project: project }
|
||||
let(:task) { create :my_module, name: 'test task', experiment: experiment }
|
||||
let(:result) do
|
||||
create :result, name: 'test result', my_module: task, user: user
|
||||
create :result, :archived, name: 'test result', my_module: task, user: user
|
||||
end
|
||||
let!(:result_text) do
|
||||
create :result_text, text: 'test text result', result: result
|
||||
|
|
|
|||
|
|
@ -5,5 +5,10 @@ FactoryBot.define do
|
|||
name { Faker::Name.unique.name }
|
||||
user
|
||||
my_module
|
||||
trait :archived do
|
||||
archived { true }
|
||||
archived_on { Time.zone.now }
|
||||
archived_by { user }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue