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|