Module: MultiSite::PagesControllerExtensions
- Defined in:
- lib/multi_site/pages_controller_extensions.rb
Class Method Summary collapse
Instance Method Summary collapse
- #continue_url_with_site(options = {}) ⇒ Object
-
#discover_current_site_with_root ⇒ Object
for compatibility with the standard issue of multi_site, a root parameter overrides other ways of setting site.
- #index_with_site ⇒ Object
- #remove_with_back ⇒ Object
- #site_from_root ⇒ Object
Class Method Details
.included(base) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/multi_site/pages_controller_extensions.rb', line 2 def self.included(base) base.class_eval { alias_method_chain :discover_current_site, :root alias_method_chain :index, :site alias_method_chain :continue_url, :site alias_method_chain :remove, :back responses.destroy.default do return_url = session[:came_from] session[:came_from] = nil if model.class == Page or model.class < Page redirect_to return_url || admin_pages_url(:site_id => model.site.id) else redirect_to continue_url(params) end end } end |
Instance Method Details
#continue_url_with_site(options = {}) ⇒ Object
45 46 47 |
# File 'lib/multi_site/pages_controller_extensions.rb', line 45 def continue_url_with_site(={}) [:redirect_to] || (params[:continue] ? edit_admin_page_url(model) : admin_pages_url(:site_id => model.site.id)) end |
#discover_current_site_with_root ⇒ Object
for compatibility with the standard issue of multi_site, a root parameter overrides other ways of setting site
23 24 25 |
# File 'lib/multi_site/pages_controller_extensions.rb', line 23 def discover_current_site_with_root site_from_root || discover_current_site_without_root end |
#index_with_site ⇒ Object
33 34 35 36 37 38 |
# File 'lib/multi_site/pages_controller_extensions.rb', line 33 def index_with_site @site ||= Page.current_site @homepage ||= @site.homepage if @site @homepage ||= Page.homepage response_for :plural end |
#remove_with_back ⇒ Object
40 41 42 43 |
# File 'lib/multi_site/pages_controller_extensions.rb', line 40 def remove_with_back session[:came_from] = request.env["HTTP_REFERER"] remove_without_back end |
#site_from_root ⇒ Object
27 28 29 30 31 |
# File 'lib/multi_site/pages_controller_extensions.rb', line 27 def site_from_root if params[:root] && @homepage = Page.find(params[:root]) @site = @homepage.root.site end end |