if opts[:friendly_name]
if attrvalue.respond_to? :friendly_link_name
- link_name = attrvalue.friendly_link_name
+ link_name = attrvalue.friendly_link_name opts[:lookup]
else
begin
if resource_class.name == 'Collection'
def render_editable_attribute(object, attr, attrvalue=nil, htmloptions={})
attrvalue = object.send(attr) if attrvalue.nil?
- if !object.attribute_editable?(attr, :ever) or
- (!object.editable? and
- !object.owner_uuid.in?(my_projects.collect(&:uuid)))
+ if not object.attribute_editable?(attr)
if attrvalue && attrvalue.length > 0
- return render_textile_if_textile( object, attr, attrvalue )
+ return render_attribute_as_textile( object, attr, attrvalue, false )
else
return (attr == 'name' and object.andand.default_name) ||
'(none)'
end
attrvalue = attrvalue.to_json if attrvalue.is_a? Hash or attrvalue.is_a? Array
- rendervalue = render_textile_if_textile( object, attr, attrvalue )
+ rendervalue = render_attribute_as_textile( object, attr, attrvalue, false )
ajax_options = {
"data-pk" => {
preconfigured_search_str = value_info[:search_for]
end
- if !object or
- !object.attribute_editable?(attr, :ever) or
- (!object.editable? and
- !object.owner_uuid.in?(my_projects.collect(&:uuid)))
+ if not object.andand.attribute_editable?(attr)
return link_to_if_arvados_object attrvalue
end
end
end
+ def render_attribute_as_textile( object, attr, attrvalue, truncate )
+ if attrvalue && (is_textile? object, attr)
+ markup = render_markup attrvalue
+ markup = markup[0,markup.index('</p>')+4] if (truncate && markup.index('</p>'))
+ return markup
+ else
+ return attrvalue
+ end
+ end
+
+ def render_localized_date(date, opts="")
+ raw("<span class='utc-date' data-utc-date='#{date}' data-utc-date-opts='noseconds'>#{date}</span>")
+ end
+
private
def is_textile?( object, attr )
is_textile = object.textile_attributes.andand.include?(attr)
end
-
- def render_textile_if_textile( object, attr, attrvalue )
- is_textile?( object, attr ) ? render_markup(attrvalue) : attrvalue
- end
end