Module: Admin::TemplatesHelper
- Defined in:
- app/helpers/admin/templates_helper.rb
Instance Method Summary collapse
- #blank_template_part ⇒ Object
- #filter_options ⇒ Object
- #order_links(template) ⇒ Object
- #part_type_options ⇒ Object
- #template_edit_javascripts ⇒ Object
- #updated_stamp(model) ⇒ Object
Instance Method Details
#blank_template_part ⇒ Object
70 71 72 73 |
# File 'app/helpers/admin/templates_helper.rb', line 70 def blank_template_part ostruct = OpenStruct.new(:index => '#{index}') @blank_template_part ||= (render :partial => "template_part", :object => ostruct).to_json end |
#filter_options ⇒ Object
62 63 64 |
# File 'app/helpers/admin/templates_helper.rb', line 62 def [['none', '']] + TextFilter.descendants.map { |f| f.filter_name }.sort end |
#order_links(template) ⇒ Object
75 76 77 78 79 80 81 82 83 |
# File 'app/helpers/admin/templates_helper.rb', line 75 def order_links(template) returning String.new do |output| %w{move_to_top move_higher move_lower move_to_bottom}.each do |action| output << link_to(image("#{action}.png", :alt => action.humanize), url_for(:action => action, :id => template), :method => :post) end end end |
#part_type_options ⇒ Object
66 67 68 |
# File 'app/helpers/admin/templates_helper.rb', line 66 def PartType.find(:all, :order => "name ASC").map {|t| [t.name, t.id]} end |
#template_edit_javascripts ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/helpers/admin/templates_helper.rb', line 3 def template_edit_javascripts " var template_parts_index = 0;\n var template_part_partial = new Template(\#{blank_template_part});\n function new_template_part(){\n var parts = $('parts');\n if(parts.down('.template_part')){\n var id = parts.select('.template_part').last().id;\n template_parts_index = parseInt(id.split(\"_\").last());\n }\n template_parts_index += 1;\n new Insertion.Bottom('parts', template_part_partial.evaluate({index: template_parts_index}));\n }\n \n function zeroPad(num,count){\n var numZeropad = num + '';\n while(numZeropad.length < count) {\n numZeropad = \"0\" + numZeropad;\n }\n return numZeropad;\n }\n \n function fix_template_part_indexes(){\n var parts = $('parts');\n var new_index = 0;\n parts.select(\".template_part\").each(function(row){\n new_index += 1;\n row.select(\"input, select, textarea\").each(function(input){\n input.name = input.name.sub(/\\\\d+/, zeroPad(new_index,2));\n });\n });\n }\n \n function reorder_template_part(element, direction){\n var parts = $('parts');\n var template_part = $(element).up('.template_part');\n switch(direction){\n case 'up':\n if(template_part.previous())\n template_part.previous().insert({ before: template_part });\n break;\n case 'down':\n if(template_part.next())\n template_part.next().insert({ after: template_part });\n break;\n case 'top':\n parts.insert({ top: template_part });\n break;\n case 'bottom':\n parts.insert({ bottom: template_part });\n break;\n default:\n break;\n }\n fix_template_part_indexes();\n }\n JS\nend\n" |
#updated_stamp(model) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'app/helpers/admin/templates_helper.rb', line 85 def updated_stamp(model) unless model.new_record? updated_by = (model.updated_by || model.created_by) if model.respond_to?(:updated_by) login = updated_by ? updated_by.login : nil time = (model.updated_at || model.created_at) # promoted_at = model.draft_promoted_at if model.respond_to?(:draft_promoted_at) html = %{<p style="clear: left"><small>} if login or time html << 'Last updated ' html << %{by #{login} } if login html << %{at #{ timestamp(time) }} if time html << '. ' end # if promoted_at # html << %{Last promoted at #{ timestamp(promoted_at) }.} # end html << %{</small></p>} html else %{<p class="clear"> </p>} end end |