Module: Sunrise::ManagerHelper
- Defined in:
- app/helpers/sunrise/manager_helper.rb
Instance Method Summary collapse
- #manage_add_child_link(name, form, field, options = {}) ⇒ Object
- #manage_date_tag(datetime, options = {}) ⇒ Object
- #manage_form_for(object, *args, &block) ⇒ Object
- #manage_new_child_fields(form_builder, field, options = {}) ⇒ Object
- #manage_remove_child_link(name, form, options = {}) ⇒ Object
- #manage_render_field(field, record) ⇒ Object
Instance Method Details
#manage_add_child_link(name, form, field, options = {}) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'app/helpers/sunrise/manager_helper.rb', line 40 def manage_add_child_link(name, form, field, ={}) .symbolize_keys! method = field.name.to_sym = (.delete(:html) || {}) fields = manage_new_child_fields(form, field, ) [:class] ||= "button" [:onclick] = h("sunrise.insert_fields(this, \"#{method}\", \"#{escape_javascript(fields)}\");") link_to(name, "javascript:void(0);", ) end |
#manage_date_tag(datetime, options = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'app/helpers/sunrise/manager_helper.rb', line 13 def manage_date_tag(datetime, ={}) = {:hide_time => datetime.is_a?(Date) }.merge() = [] << content_tag(:div, datetime.strftime("%d.%m.%Y"), :class => 'date') << content_tag(:div, datetime.strftime("%H:%M"), :class => 'time') unless [:hide_time] content_tag(:div, .join.html_safe, :class => 'date-time') end |
#manage_form_for(object, *args, &block) ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'app/helpers/sunrise/manager_helper.rb', line 4 def manage_form_for(object, *args, &block) = args. [:builder] ||= Sunrise::Views::FormBuilder [:url] ||= (object.new_record? ? new_path : edit_path(:id => object.id)) simple_form_for(object, *(args << ), &block) end |
#manage_new_child_fields(form_builder, field, options = {}) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 |
# File 'app/helpers/sunrise/manager_helper.rb', line 53 def manage_new_child_fields(form_builder, field, = {}) method = field.name.to_sym [:object] ||= form_builder.object.class.reflect_on_association(method).klass.new [:partial] ||= method.to_s.singularize [:form_builder_local] ||= :form form_builder.fields_for(method, [:object], :child_index => "new_#{method}") do |f| render(:partial => [:partial], :locals => { [:form_builder_local] => f, :field => field }) end end |
#manage_remove_child_link(name, form, options = {}) ⇒ Object
35 36 37 38 |
# File 'app/helpers/sunrise/manager_helper.rb', line 35 def manage_remove_child_link(name, form, = {}) [:onclick] = h("sunrise.remove_fields(this);") form.hidden_field(:_destroy) + link_to(name, "javascript:void(0);", ) end |
#manage_render_field(field, record) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/helpers/sunrise/manager_helper.rb', line 23 def manage_render_field(field, record) item = record.send(field.name) if [Date, DateTime, Time].detect{|klass| item.is_a?(klass)} manage_date_tag(item) elsif item.is_a?(String) item =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i ? mail_to(item) : item else item.to_s end end |