diff --git a/app/services/smart_annotations/html_preview.rb b/app/services/smart_annotations/html_preview.rb index 926a2c22f..33b2a04fe 100644 --- a/app/services/smart_annotations/html_preview.rb +++ b/app/services/smart_annotations/html_preview.rb @@ -12,23 +12,24 @@ module SmartAnnotations ROUTES = Rails.application.routes.url_helpers def generate_prj_snippet(_, object) - if object.archived? - return "Prj#{object.name} #{I18n.t('atwho.res.archived')}" - end + return "Prj#{object.name} #{I18n.t('atwho.res.archived')}" if object.archived? + "Prj#{object.name}" end def generate_exp_snippet(_, object) - if object.archived? + if object.archived? || object.project.archived? return "Exp#{object.name} #{I18n.t('atwho.res.archived')}" end + "Exp#{object.name}" end def generate_tsk_snippet(_, object) - if object.archived? + if object.archived? || object.experiment.archived? || object.experiment.project.archived? return "Tsk#{object.name} #{I18n.t('atwho.res.archived')}" end + "" \ "Tsk#{object.name}" end @@ -52,18 +53,22 @@ module SmartAnnotations splited_name = name.split size = splited_name.size return name.strip.slice(0..2).capitalize if size == 1 + generate_name_from_array(splited_name, size).capitalize end def generate_name_from_array(names, size) return "#{names[0].slice(0..1)}#{names[1][0]}" if size == 2 + "#{names[0][0]}#{names[1][0]}#{names[2][0]}" end def fetch_repository_name(object) return object.repository.name if object.repository - repository = Repository.with_discarded.find_by_id(object.repository_id) + + repository = Repository.with_discarded.find_by(id: object.repository_id) return 'Inv' unless repository + repository.name end end diff --git a/app/services/smart_annotations/permission_eval.rb b/app/services/smart_annotations/permission_eval.rb index 69b60d9e3..1bfc1fac0 100644 --- a/app/services/smart_annotations/permission_eval.rb +++ b/app/services/smart_annotations/permission_eval.rb @@ -20,7 +20,7 @@ module SmartAnnotations def validate_exp_permissions(user, team, object) object.archived = false - permission_check = object.project.team.id == team.id && can_read_experiment?(user, object) + permission_check = validate_prj_permissions(user, team, object.project) object.archived = true if object.archived_changed? permission_check end