Module: ViewMixins::Form
- Defined in:
- lib/view_mixins/form.rb
Instance Method Summary collapse
- #ajax_form_for(record, options = {}, &proc) ⇒ Object
- #build_ajax_callback_code(caller_id) ⇒ Object
- #build_date_picker_js_code(selector, regional = nil, timezone = nil) ⇒ Object
-
#build_datetime_picker_js_code(selector, regional = nil, timezone = nil) ⇒ Object
todo ladas connect regional to locale and timezone to browser timezone.
Instance Method Details
#ajax_form_for(record, options = {}, &proc) ⇒ Object
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 |
# File 'lib/view_mixins/form.rb', line 4 def ajax_form_for(record, = {}, &proc) raise ArgumentError, "Missing block" unless block_given? [:html] ||= {} case record when String, Symbol object_name = record object = nil else object = record.is_a?(Array) ? record.last : record object_name = [:as] || ActiveModel::Naming.param_key(object) (record, ) end caller_id = [:html][:id] [:html][:remote] = .delete(:remote) if .has_key?(:remote) [:html][:method] = .delete(:method) if .has_key?(:method) [:html][:authenticity_token] = .delete(:authenticity_token) ######### additional logic by ladas ############## #options[:html][:control_against_overwrite_by_another_user] = Time.now ################## end ###############3########### builder = [:parent_builder] = instantiate_builder(object_name, object, , &proc) fields_for = fields_for(object_name, object, , &proc) = builder.multipart? ? {:multipart => true} : {} output = form_tag(.delete(:url) || {}, .merge!(.delete(:html))) ######### additional logic by ladas ############## if !object.blank? && !object.id.blank? output << "<fieldset><input type='hidden' name='#{ActiveModel::Naming.param_key(record)}[control_against_overwrite_by_another_user]' value='#{Time.now.utc}' /></fieldset>".html_safe end ################## end ###############3########### output << fields_for ######### additional logic by ladas ############## output.safe_concat(build_ajax_callback_code(caller_id)) ################## end ###############3########### output.safe_concat('</form>') end |
#build_ajax_callback_code(caller_id) ⇒ Object
44 45 46 |
# File 'lib/view_mixins/form.rb', line 44 def build_ajax_callback_code(caller_id) render :partial => '/helpers/build_ajax_callback_code', :layout => false, :locals => {:caller_id => caller_id} end |
#build_date_picker_js_code(selector, regional = nil, timezone = nil) ⇒ Object
53 54 55 |
# File 'lib/view_mixins/form.rb', line 53 def build_date_picker_js_code(selector, regional=nil, timezone=nil) render :partial => '/helpers/build_date_picker_js_code', :layout => false, :locals => {:selector => selector, :regional => regional, :timezone => timezone} end |
#build_datetime_picker_js_code(selector, regional = nil, timezone = nil) ⇒ Object
todo ladas connect regional to locale and timezone to browser timezone
49 50 51 |
# File 'lib/view_mixins/form.rb', line 49 def build_datetime_picker_js_code(selector, regional=nil, timezone=nil) render :partial => '/helpers/build_datetime_picker_js_code', :layout => false, :locals => {:selector => selector, :regional => regional, :timezone => timezone} end |