3899: pipeline_instances_helper: Don't set :state if it's already set. Add newline...
[arvados.git] / apps / workbench / app / helpers / application_helper.rb
index 605b0d3b368371272d7c13b1edde1aa3c2beee8c..624cb3d4c0e0991e656a90baf9b0729df86877ff 100644 (file)
@@ -154,7 +154,7 @@ module ApplicationHelper
         (!object.editable? and
          !object.owner_uuid.in?(my_projects.collect(&:uuid)))
       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)'
@@ -172,7 +172,7 @@ module ApplicationHelper
     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" => {
@@ -210,17 +210,6 @@ module ApplicationHelper
     end
   end
 
-  def render_textile_attribute(object, attr, truncate)
-    attrvalue = object.send(attr)
-    if attrvalue && attrvalue.length > 0
-      markup = render_textile_if_textile( object, attr, attrvalue )
-      markup = markup[0,markup.index('</p>')+4] if (truncate && markup.index('</p>'))
-      return markup
-    else
-      return (attr == 'name' and object.andand.default_name) || ''
-    end
-  end
-
   def render_pipeline_component_attribute(object, attr, subattr, value_info, htmloptions={})
     datatype = nil
     required = true
@@ -471,12 +460,22 @@ module ApplicationHelper
     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