def link_to_if_orvos_object(attrvalue, opts={})
if (resource_class = OrvosBase::resource_class_for_uuid(attrvalue, opts[:referring_attr], opts[:referring_object]))
link_uuid = attrvalue.is_a?(OrvosBase) ? attrvalue.uuid : attrvalue
- link_name = link_uuid
- if !opts[:with_prefixes]
- link_name = link_name.sub /^.{5}-.{5}-/, ''
- end
- if opts[:with_class_name]
- link_name = "#{resource_class.to_s} #{link_name}"
+ link_name = opts[:link_text]
+ if !link_name
+ link_name = link_uuid
+ if !opts[:with_prefixes]
+ link_name = link_name.sub /^.{5}-.{5}-/, ''
+ end
+ if opts[:with_class_name]
+ link_name = "#{resource_class.to_s} #{link_name}"
+ end
end
link_to link_name, { controller: resource_class.to_s.underscore.pluralize, action: 'show', id: link_uuid }
else
'4zz18' => 'orvos#collection',
'tpzed' => 'orvos#user',
'ozdt8' => 'orvos#api_client',
- '57u5n' => 'orvos#log'
+ '57u5n' => 'orvos#log',
+ 'j58dm' => 'orvos#specimen',
+ 'ldvyl' => 'orvos#project'
}
end
return nil
end
if uuid.match /^[0-9a-f]{32}(\+[^,]+)*(,[0-9a-f]{32}(\+[^,]+)*)*$/
- return 'orvos#collection'
+ return Collection
end
resource_class = nil
uuid.match /^[0-9a-z]{5}-([0-9a-z]{5})-[0-9a-z]{15}$/ do |re|