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