From 4dfea0e8947516a14868824a3ef02e160b30aff3 Mon Sep 17 00:00:00 2001 From: Eric Hochberger Date: Tue, 10 Apr 2012 11:39:34 -0400 Subject: [PATCH] Allow Modal Config Section --- app/helpers/rails_admin/form_builder.rb | 11 ++++++++++- lib/rails_admin/config/sections.rb | 1 + lib/rails_admin/config/sections/modal.rb | 10 ++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 lib/rails_admin/config/sections/modal.rb diff --git a/app/helpers/rails_admin/form_builder.rb b/app/helpers/rails_admin/form_builder.rb index b27295b70d..2f89c36f98 100644 --- a/app/helpers/rails_admin/form_builder.rb +++ b/app/helpers/rails_admin/form_builder.rb @@ -10,7 +10,16 @@ def generate(options = {}) :model_config => @template.instance_variable_get(:@model_config), :nested_in => false }) - groups = options[:model_config].send(options[:nested_in] ? :nested : options[:action]).with(:form => self, :object => @object, :view => @template).visible_groups + + if options[:nested_in] + action = :nested + elsif @template.request.format == 'text/javascript' + action = :modal + else + action = options[:action] + end + + groups = options[:model_config].send(action).with(:form => self, :object => @object, :view => @template).visible_groups object_infos + groups.map do |fieldset| diff --git a/lib/rails_admin/config/sections.rb b/lib/rails_admin/config/sections.rb index 2cdf12624d..357b54b852 100644 --- a/lib/rails_admin/config/sections.rb +++ b/lib/rails_admin/config/sections.rb @@ -4,6 +4,7 @@ require 'rails_admin/config/sections/update' require 'rails_admin/config/sections/create' require 'rails_admin/config/sections/nested' +require 'rails_admin/config/sections/modal' require 'rails_admin/config/sections/list' require 'rails_admin/config/sections/export' require 'rails_admin/config/sections/show' diff --git a/lib/rails_admin/config/sections/modal.rb b/lib/rails_admin/config/sections/modal.rb new file mode 100644 index 0000000000..cd1983f589 --- /dev/null +++ b/lib/rails_admin/config/sections/modal.rb @@ -0,0 +1,10 @@ +require 'rails_admin/config/sections/edit' + +module RailsAdmin + module Config + module Sections + class Modal < RailsAdmin::Config::Sections::Edit + end + end + end +end \ No newline at end of file