app/controllers/caboose/pages_controller.rb in caboose-cms-0.4.42 vs app/controllers/caboose/pages_controller.rb in caboose-cms-0.4.43

- old
+ new

@@ -3,18 +3,18 @@ class PagesController < ApplicationController helper :application def before_action - @page = Page.page_with_uri('/admin') + @page = Page.page_with_uri(request.host_with_port, '/admin') end # GET /pages/:id def show # Find the page with an exact URI match - page = Page.page_with_uri(request.fullpath, false) + page = Page.page_with_uri(request.host_with_port, request.fullpath, false) if (!page) asset return end @@ -49,11 +49,11 @@ def asset uri = uri.to_s.gsub(/^(.*?)\?.*?$/, '\1') uri.chop! if uri.end_with?('/') uri[0] = '' if uri.starts_with?('/') - page = Page.page_with_uri(File.dirname(uri), false) + page = Page.page_with_uri(request.host_with_port, File.dirname(uri), false) if (page.nil? || !page) respond_to do |format| format.all { render :file => "caboose/extras/error404", :layout => "caboose/error404", :formats => [:html] } end return @@ -102,12 +102,13 @@ # Admin actions #=========================================================================== # GET /admin/pages def admin_index - return if !user_is_allowed('pages', 'view') - @home_page = Page.find(1) + return if !user_is_allowed('pages', 'view') + @domain = Domain.where(:domain => request.host_with_port).first + @home_page = @domain ? Page.index_page(@domain.site_id) : nil render :layout => 'caboose/admin' end # GET /admin/pages/new def admin_new @@ -236,11 +237,11 @@ resp = Caboose::StdClass.new({ 'error' => nil, 'redirect' => nil }) - + parent_id = params[:parent_id] title = params[:title] if (title.strip.length == 0) resp.error = "A page title is required." @@ -248,17 +249,24 @@ !Page.page_ids_with_permission(logged_in_user, 'edit' ).include?(parent_id) && !Page.page_ids_with_permission(logged_in_user, 'approve').include?(parent_id)) resp.error = "You don't have permission to add a page there." end if (!resp.error.nil?) - render json: resp + render :json => resp return end - parent = Caboose::Page.find(parent_id) - + parent = Caboose::Page.find(parent_id) page = Caboose::Page.new + + if parent.nil? + d = Domain.where(:domain => request.host_with_port).first.site_id + page.site_id = d.site_id + else + page.site_id = parent.site_id + end + page.title = title page.parent_id = parent_id page.hide = true page.content_format = Caboose::Page::CONTENT_FORMAT_HTML @@ -423,16 +431,17 @@ render :layout => 'caboose/admin' end # GET /admin/pages/sitemap-options def admin_sitemap_options - parent_id = params[:parent_id] - top_page = Page.index_page + parent_id = params[:parent_id] + d = Domain.where(:domain => request.host_with_port).first + top_page = Page.index_page(d.site_id) p = !parent_id.nil? ? Page.find(parent_id) : top_page options = [] sitemap_helper(top_page, options) - render json: options + render :json => options end def sitemap_helper(page, options, prefix = '') options << { 'value' => page.id, 'text' => prefix + page.title } page.children.each do |kid|