Module: ControllerMixins::RendererInstanceMethods
- Defined in:
- lib/controller_mixins/renderer_instance_methods.rb
Instance Method Summary collapse
- #build_url_path_method(opts) ⇒ Object
- #fill_settings_with(opts) ⇒ Object
-
#redirect_destroy_ok(*opts) ⇒ Object
redirect do indexu po uspesnem smazani.
-
#redirect_not_found(*opts) ⇒ Object
redirect do indexu pokud neni zaznam v db.
-
#redirect_save_failed(*opts) ⇒ Object
redirect po uspesnem save.
-
#redirect_save_ok(*opts) ⇒ Object
redirect po uspesnem save.
- #render_table(settings, logged_user = nil, template = nil, &proc) ⇒ Object
- #render_table_for(logged_user, template = nil, &proc) ⇒ Object
Instance Method Details
#build_url_path_method(opts) ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/controller_mixins/renderer_instance_methods.rb', line 97 def build_url_path_method(opts) path = "" opts = opts[0] unless opts.at(0).nil? path += '/' + opts[:outer_controller].to_s if opts.include?(:outer_controller) path += '/' + opts[:outer_id].to_s if opts.include?(:outer_id) path += opts.include?(:controller) ? '/' + opts[:controller].to_s : '/' + controller_name path += '/' + opts[:id].to_s if opts.include?(:id) path += '/' + opts[:action].to_s if opts.include?(:action) path end |
#fill_settings_with(opts) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/controller_mixins/renderer_instance_methods.rb', line 81 def fill_settings_with opts settings = {} settings[:symlink_remote] = true unless opts.at(0).nil? opts = opts[0] settings[:symlink_controller] = opts.include?(:controller) ? opts[:controller] : controller_name settings[:symlink_outer_controller] = opts[:outer_controller] if opts.include?(:outer_controller) settings[:symlink_outer_id] = opts[:outer_id] if opts.include?(:outer_id) settings[:symlink_action] = opts[:action] if opts.include?(:action) settings[:symlink_id] = opts[:id] if opts.include?(:id) else settings[:symlink_controller] = controller_name end settings end |
#redirect_destroy_ok(*opts) ⇒ Object
redirect do indexu po uspesnem smazani
121 122 123 124 125 126 127 |
# File 'lib/controller_mixins/renderer_instance_methods.rb', line 121 def redirect_destroy_ok(*opts) if request.xhr? render :json => {:status => "ok", :message => I18n.t("activerecord.info.messages.deleted"), :settings => fill_settings_with(opts)}, :status => :moved_permanently else redirect_to build_url_path_method(opts), :status => :moved_permanently end end |
#redirect_not_found(*opts) ⇒ Object
redirect do indexu pokud neni zaznam v db
112 113 114 115 116 117 118 |
# File 'lib/controller_mixins/renderer_instance_methods.rb', line 112 def redirect_not_found(*opts) if request.xhr? render :json => {:message => I18n.t("activerecord.errors.messages.record_not_found"), :settings => fill_settings_with(opts)}, :status => :moved_permanently else redirect_to build_url_path_method(opts), :status => :moved_permanently end end |
#redirect_save_failed(*opts) ⇒ Object
redirect po uspesnem save
140 141 142 143 144 145 146 147 |
# File 'lib/controller_mixins/renderer_instance_methods.rb', line 140 def redirect_save_failed(*opts) if request.xhr? render :json => {:status => "ok", :message => I18n.t("activerecord.errors.messages.save_failed"), :settings => fill_settings_with(opts)}, :status => :moved_permanently else redirect_to build_url_path_method(opts), :status => :moved_permanently end end |
#redirect_save_ok(*opts) ⇒ Object
redirect po uspesnem save
130 131 132 133 134 135 136 137 |
# File 'lib/controller_mixins/renderer_instance_methods.rb', line 130 def redirect_save_ok(*opts) if request.xhr? render :json => {:status => "ok", :message => I18n.t("activerecord.info.messages.saved"), :settings => fill_settings_with(opts)}, :status => :moved_permanently else redirect_to build_url_path_method(opts), :status => :moved_permanently end end |
#render_table(settings, logged_user = nil, template = nil, &proc) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/controller_mixins/renderer_instance_methods.rb', line 42 def render_table(settings, logged_user=nil, template = nil, &proc) settings[:template] = template unless template.blank? data = yield class_obj = data.respond_to?(:klass) ? data.klass : data if action_name == "filter" default_params = params if !params.blank? && params["clear"] default_params = settings[:default].dup default_params[:order_by] = settings[:default][:order_by] + " " + settings[:default][:order_by_direction] if !settings[:default][:order_by].blank? && !settings[:default][:order_by_direction].blank? default_params[:order_by] = settings[:default][:order] if !settings[:default][:order].blank? end settings = class_obj.prepare_settings(logged_user, data, settings, default_params) if !params.blank? && params["clear"] session["#{settings[:form_id]}_params"] = "" render :layout => false, :action => :index else paginate = render_to_string(:partial => "/helpers/build_table_pager", :locals => {:settings => settings}) session["#{settings[:form_id]}_params"] = params if settings[:template].blank? # if there is no template a will return json and tbody renders in javascript template returned_t_body = settings.to_json else # or there is template so i will return template rendered here in ruby returned_t_body = render_to_string(:partial => settings[:template], :locals => {:settings => settings}) end render :layout => false, :json => {:settings => returned_t_body, :paginate => paginate}.to_json end elsif action_name == "index" default_params = settings[:default].dup default_params[:order_by] = settings[:default][:order_by] + " " + settings[:default][:order_by_direction] if !settings[:default][:order_by].blank? && !settings[:default][:order_by_direction].blank? default_params[:order_by] = settings[:default][:order] if !settings[:default][:order].blank? default_params = session["#{settings[:form_id]}_params"] unless session["#{settings[:form_id]}_params"].blank? settings = class_obj.prepare_settings(logged_user, data, settings, default_params) end end |
#render_table_for(logged_user, template = nil, &proc) ⇒ 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 |
# File 'lib/controller_mixins/renderer_instance_methods.rb', line 3 def render_table_for(logged_user, template = nil, &proc) @settings[:template] = template unless template.blank? data = yield class_obj = data.respond_to?(:klass) ? data.klass : data if action_name == "filter" default_params = params if !params.blank? && params["clear"] default_params = @settings[:default].dup default_params[:order_by] = @settings[:default][:order_by] + " " + @settings[:default][:order_by_direction] if !@settings[:default][:order_by].blank? && !@settings[:default][:order_by_direction].blank? default_params[:order_by] = @settings[:default][:order] if !@settings[:default][:order].blank? end @settings = class_obj.prepare_settings(logged_user, data, @settings, default_params) if !params.blank? && params["clear"] session["#{@settings[:form_id]}_params"] = "" render :layout => false, :action => :index else @paginate = render_to_string(:partial => "/helpers/build_table_pager", :locals => {:settings => @settings}) session["#{@settings[:form_id]}_params"] = params if @settings[:template].blank? # if there is no template a will return json and tbody renders in javascript template returned_t_body = @settings.to_json else # or there is template so i will return template rendered here in ruby returned_t_body = render_to_string(:partial => @settings[:template], :locals => {:settings => @settings}) end render :layout => false, :json => {:settings => returned_t_body, :paginate => @paginate}.to_json end elsif action_name == "index" default_params = @settings[:default].dup default_params[:order_by] = @settings[:default][:order_by] + " " + @settings[:default][:order_by_direction] if !@settings[:default][:order_by].blank? && !@settings[:default][:order_by_direction].blank? default_params[:order_by] = @settings[:default][:order] if !@settings[:default][:order].blank? default_params = session["#{@settings[:form_id]}_params"] unless session["#{@settings[:form_id]}_params"].blank? @settings = class_obj.prepare_settings(logged_user, data, @settings, default_params) end end |