mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-03-04 19:53:19 +08:00
Merge pull request #2857 from aignatov-bio/ai-sci-4987-fix-smart-annotation-for-archived-projects
Show smart annotation for archived projects/experiments [SCI-4987]
This commit is contained in:
commit
9da27956d3
2 changed files with 14 additions and 14 deletions
|
@ -13,24 +13,21 @@ module SmartAnnotations
|
|||
|
||||
def generate_prj_snippet(_, object)
|
||||
if object.archived?
|
||||
return "<a href='#{ROUTES.projects_archive_path}'><span class='sa-type'>Prj</span>" \
|
||||
"#{object.name}</a>#{I18n.t('atwho.res.archived')}"
|
||||
return "<span class='sa-type'>Prj</span>#{object.name} #{I18n.t('atwho.res.archived')}"
|
||||
end
|
||||
"<a href='#{ROUTES.project_path(object)}'><span class='sa-type'>Prj</span>#{object.name}</a>"
|
||||
end
|
||||
|
||||
def generate_exp_snippet(_, object)
|
||||
if object.archived?
|
||||
return "<a href='#{ROUTES.experiment_archive_project_path(object.project)}'>" \
|
||||
"<span class='sa-type'>Exp</span>#{object.name}</a> #{I18n.t('atwho.res.archived')}"
|
||||
return "<span class='sa-type'>Exp</span>#{object.name} #{I18n.t('atwho.res.archived')}"
|
||||
end
|
||||
"<a href='#{ROUTES.canvas_experiment_path(object)}'><span class='sa-type'>Exp</span>#{object.name}</a>"
|
||||
end
|
||||
|
||||
def generate_tsk_snippet(_, object)
|
||||
if object.archived?
|
||||
return "<a href='#{ROUTES.module_archive_experiment_path(object.experiment
|
||||
)}'><span class='sa-type'>Tsk</span>#{object.name}</a> #{I18n.t('atwho.res.archived')}"
|
||||
return "<span class='sa-type'>Tsk</span>#{object.name} #{I18n.t('atwho.res.archived')}"
|
||||
end
|
||||
"<a href='#{ROUTES.protocols_my_module_path(object)}'>" \
|
||||
"<span class='sa-type'>Tsk</span>#{object.name}</a>"
|
||||
|
|
|
@ -12,25 +12,28 @@ module SmartAnnotations
|
|||
private
|
||||
|
||||
def validate_prj_permissions(user, team, object)
|
||||
object.team.id == team.id && can_read_project?(user, object)
|
||||
object.archived = false
|
||||
permission_check = object.team.id == team.id && can_read_project?(user, object)
|
||||
object.archived = true if object.archived_changed?
|
||||
permission_check
|
||||
end
|
||||
|
||||
def validate_exp_permissions(user, team, object)
|
||||
object.project.team.id == team.id && can_read_experiment?(user, object)
|
||||
object.archived = false
|
||||
permission_check = object.project.team.id == team.id && can_read_experiment?(user, object)
|
||||
object.archived = true if object.archived_changed?
|
||||
permission_check
|
||||
end
|
||||
|
||||
def validate_tsk_permissions(user, team, object)
|
||||
object.experiment.project.team.id == team.id &&
|
||||
can_read_experiment?(user, object.experiment)
|
||||
validate_exp_permissions(user, team, object.experiment)
|
||||
end
|
||||
|
||||
def validate_rep_item_permissions(user, team, object)
|
||||
if object.repository
|
||||
return can_read_repository?(user, object.repository)
|
||||
end
|
||||
return can_read_repository?(user, object.repository) if object.repository
|
||||
|
||||
# handles discarded repositories
|
||||
repository = Repository.with_discarded.find_by_id(object.repository_id)
|
||||
repository = Repository.with_discarded.find_by(id: object.repository_id)
|
||||
# evaluate to false if repository not found
|
||||
return false unless repository
|
||||
|
||||
|
|
Loading…
Reference in a new issue