diff --git a/app/services/smart_annotations/html_preview.rb b/app/services/smart_annotations/html_preview.rb index 0878a1d60..926a2c22f 100644 --- a/app/services/smart_annotations/html_preview.rb +++ b/app/services/smart_annotations/html_preview.rb @@ -13,24 +13,21 @@ module SmartAnnotations def generate_prj_snippet(_, object) if object.archived? - return "Prj" \ - "#{object.name}#{I18n.t('atwho.res.archived')}" + return "Prj#{object.name} #{I18n.t('atwho.res.archived')}" end "Prj#{object.name}" end def generate_exp_snippet(_, object) if object.archived? - return "" \ - "Exp#{object.name} #{I18n.t('atwho.res.archived')}" + return "Exp#{object.name} #{I18n.t('atwho.res.archived')}" end "Exp#{object.name}" end def generate_tsk_snippet(_, object) if object.archived? - return "Tsk#{object.name} #{I18n.t('atwho.res.archived')}" + return "Tsk#{object.name} #{I18n.t('atwho.res.archived')}" end "" \ "Tsk#{object.name}" diff --git a/app/services/smart_annotations/permission_eval.rb b/app/services/smart_annotations/permission_eval.rb index e026f93aa..15eb9af60 100644 --- a/app/services/smart_annotations/permission_eval.rb +++ b/app/services/smart_annotations/permission_eval.rb @@ -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