mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-01 09:24:59 +08:00
Fix smart annotation for archived experiments
This commit is contained in:
parent
d6eef4699b
commit
f3dd749c1d
2 changed files with 12 additions and 7 deletions
|
@ -12,23 +12,24 @@ module SmartAnnotations
|
||||||
ROUTES = Rails.application.routes.url_helpers
|
ROUTES = Rails.application.routes.url_helpers
|
||||||
|
|
||||||
def generate_prj_snippet(_, object)
|
def generate_prj_snippet(_, object)
|
||||||
if object.archived?
|
return "<span class='sa-type'>Prj</span>#{object.name} #{I18n.t('atwho.res.archived')}" if object.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>"
|
"<a href='#{ROUTES.project_path(object)}'><span class='sa-type'>Prj</span>#{object.name}</a>"
|
||||||
end
|
end
|
||||||
|
|
||||||
def generate_exp_snippet(_, object)
|
def generate_exp_snippet(_, object)
|
||||||
if object.archived?
|
if object.archived? || object.project.archived?
|
||||||
return "<span class='sa-type'>Exp</span>#{object.name} #{I18n.t('atwho.res.archived')}"
|
return "<span class='sa-type'>Exp</span>#{object.name} #{I18n.t('atwho.res.archived')}"
|
||||||
end
|
end
|
||||||
|
|
||||||
"<a href='#{ROUTES.canvas_experiment_path(object)}'><span class='sa-type'>Exp</span>#{object.name}</a>"
|
"<a href='#{ROUTES.canvas_experiment_path(object)}'><span class='sa-type'>Exp</span>#{object.name}</a>"
|
||||||
end
|
end
|
||||||
|
|
||||||
def generate_tsk_snippet(_, object)
|
def generate_tsk_snippet(_, object)
|
||||||
if object.archived?
|
if object.archived? || object.experiment.archived? || object.experiment.project.archived?
|
||||||
return "<span class='sa-type'>Tsk</span>#{object.name} #{I18n.t('atwho.res.archived')}"
|
return "<span class='sa-type'>Tsk</span>#{object.name} #{I18n.t('atwho.res.archived')}"
|
||||||
end
|
end
|
||||||
|
|
||||||
"<a href='#{ROUTES.protocols_my_module_path(object)}'>" \
|
"<a href='#{ROUTES.protocols_my_module_path(object)}'>" \
|
||||||
"<span class='sa-type'>Tsk</span>#{object.name}</a>"
|
"<span class='sa-type'>Tsk</span>#{object.name}</a>"
|
||||||
end
|
end
|
||||||
|
@ -52,18 +53,22 @@ module SmartAnnotations
|
||||||
splited_name = name.split
|
splited_name = name.split
|
||||||
size = splited_name.size
|
size = splited_name.size
|
||||||
return name.strip.slice(0..2).capitalize if size == 1
|
return name.strip.slice(0..2).capitalize if size == 1
|
||||||
|
|
||||||
generate_name_from_array(splited_name, size).capitalize
|
generate_name_from_array(splited_name, size).capitalize
|
||||||
end
|
end
|
||||||
|
|
||||||
def generate_name_from_array(names, size)
|
def generate_name_from_array(names, size)
|
||||||
return "#{names[0].slice(0..1)}#{names[1][0]}" if size == 2
|
return "#{names[0].slice(0..1)}#{names[1][0]}" if size == 2
|
||||||
|
|
||||||
"#{names[0][0]}#{names[1][0]}#{names[2][0]}"
|
"#{names[0][0]}#{names[1][0]}#{names[2][0]}"
|
||||||
end
|
end
|
||||||
|
|
||||||
def fetch_repository_name(object)
|
def fetch_repository_name(object)
|
||||||
return object.repository.name if object.repository
|
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
|
return 'Inv' unless repository
|
||||||
|
|
||||||
repository.name
|
repository.name
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -20,7 +20,7 @@ module SmartAnnotations
|
||||||
|
|
||||||
def validate_exp_permissions(user, team, object)
|
def validate_exp_permissions(user, team, object)
|
||||||
object.archived = false
|
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?
|
object.archived = true if object.archived_changed?
|
||||||
permission_check
|
permission_check
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue