tb_cms 1.2.0.beta1 → 1.2.0.beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/admin/menu_items_controller.rb +0 -3
- data/app/controllers/admin/menus_controller.rb +1 -6
- data/app/controllers/admin/pages_controller.rb +3 -7
- data/app/controllers/admin/snippets_controller.rb +0 -4
- data/app/controllers/cms/sitemaps_controller.rb +0 -4
- data/app/controllers/pages_controller.rb +3 -34
- data/app/helpers/cms/application_helper.rb +2 -18
- data/app/models/concerns/cms_deprecated_multisite.rb +21 -0
- data/app/models/spud_menu.rb +3 -3
- data/app/models/spud_page.rb +12 -20
- data/app/models/spud_snippet.rb +2 -3
- data/app/views/admin/menu_items/_form.html.erb +1 -1
- data/app/views/admin/pages/_form.html.erb +1 -1
- data/db/migrate/20121119030136_change_liquid_tags_to_polymorphic.rb +1 -3
- data/db/migrate/20150108162839_remove_site_id_from_cms_tables.rb +12 -0
- data/lib/spud_cms/engine.rb +0 -4
- data/lib/spud_cms/template_parser.rb +2 -30
- data/lib/spud_cms/version.rb +1 -1
- data/spec/{support/authlogic_helper.rb → authlogic_helper.rb} +1 -1
- data/spec/controllers/admin/menu_items_controller_spec.rb +28 -59
- data/spec/controllers/admin/menus_controller_spec.rb +32 -54
- data/spec/controllers/admin/pages_controller_spec.rb +26 -43
- data/spec/controllers/admin/snippets_controller_spec.rb +2 -2
- data/spec/controllers/pages_controller_spec.rb +11 -63
- data/spec/dummy/config/application.rb +5 -0
- data/spec/dummy/config/environments/production.rb +1 -1
- data/spec/dummy/config/environments/test.rb +1 -1
- data/spec/dummy/db/migrate/{20140110051458_create_spud_liquid_tags.tb_core.rb → 20141231214458_create_tb_liquid_spud_liquid_tags.tb_liquid.rb} +2 -2
- data/spec/dummy/db/migrate/{20140110051483_change_liquid_tags_to_polymorphic.tb_cms.rb → 20141231214480_change_liquid_tags_to_polymorphic.tb_cms.rb} +1 -3
- data/spec/dummy/db/migrate/{20140110051484_drop_spud_page_liquid_tags.tb_cms.rb → 20141231214481_drop_spud_page_liquid_tags.tb_cms.rb} +10 -8
- data/spec/dummy/db/migrate/20150108164814_remove_site_id_from_cms_tables.tb_cms.rb +13 -0
- data/spec/dummy/db/schema.rb +85 -93
- data/spec/helpers/cms/application_helper_spec.rb +23 -74
- data/spec/models/spud_menu_item_spec.rb +6 -6
- data/spec/models/spud_page_partial_revision_spec.rb +2 -2
- data/spec/models/spud_page_partial_spec.rb +9 -9
- data/spec/models/spud_page_spec.rb +20 -44
- data/spec/models/spud_snippet_spec.rb +2 -2
- data/spec/rails_helper.rb +72 -0
- data/spec/spec_helper.rb +77 -32
- metadata +104 -142
- data/spec/controllers/cms/sitemaps_controller_spec.rb +0 -41
- /data/spec/dummy/db/migrate/{20140110051449_create_spud_admin_permissions.tb_core.rb → 20141231214446_create_spud_admin_permissions.tb_core.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051450_create_spud_users.tb_core.rb → 20141231214447_create_spud_users.tb_core.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051451_add_time_zone_to_spud_user.tb_core.rb → 20141231214448_add_time_zone_to_spud_user.tb_core.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051452_add_scope_to_spud_admin_permissions.tb_core.rb → 20141231214449_add_scope_to_spud_admin_permissions.tb_core.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051453_create_spud_user_settings.tb_core.rb → 20141231214450_create_spud_user_settings.tb_core.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051454_create_spud_roles.tb_core.rb → 20141231214451_create_spud_roles.tb_core.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051455_create_spud_permissions.tb_core.rb → 20141231214452_create_spud_permissions.tb_core.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051456_create_spud_role_permissions.tb_core.rb → 20141231214453_create_spud_role_permissions.tb_core.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051457_drop_spud_admin_permissions.tb_core.rb → 20141231214454_drop_spud_admin_permissions.tb_core.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051459_create_spud_permalinks.tb_permalinks.rb → 20141231214455_create_spud_permalinks.tb_permalinks.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051460_add_site_id_to_spud_permalinks.tb_permalinks.rb → 20141231214456_add_site_id_to_spud_permalinks.tb_permalinks.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051461_modify_site_id_for_spud_permalinks.tb_permalinks.rb → 20141231214457_modify_site_id_for_spud_permalinks.tb_permalinks.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051462_create_spud_pages.tb_cms.rb → 20141231214459_create_spud_pages.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051463_create_spud_menus.tb_cms.rb → 20141231214460_create_spud_menus.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051464_create_spud_menu_items.tb_cms.rb → 20141231214461_create_spud_menu_items.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051465_create_spud_templates.tb_cms.rb → 20141231214462_create_spud_templates.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051466_create_spud_page_partials.tb_cms.rb → 20141231214463_create_spud_page_partials.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051467_add_visibility_to_spud_pages.tb_cms.rb → 20141231214464_add_visibility_to_spud_pages.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051468_add_menu_name_to_spud_menu_items.tb_cms.rb → 20141231214465_add_menu_name_to_spud_menu_items.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051469_add_use_custom_url_name_to_spud_pages.tb_cms.rb → 20141231214466_add_use_custom_url_name_to_spud_pages.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051470_add_notes_to_spud_pages.tb_cms.rb → 20141231214467_add_notes_to_spud_pages.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051471_add_menu_id_to_spud_menu_items.tb_cms.rb → 20141231214468_add_menu_id_to_spud_menu_items.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051472_add_classes_to_spud_menu_items.tb_cms.rb → 20141231214469_add_classes_to_spud_menu_items.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051473_add_site_id_to_spud_pages.tb_cms.rb → 20141231214470_add_site_id_to_spud_pages.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051474_add_site_id_to_spud_templates.tb_cms.rb → 20141231214471_add_site_id_to_spud_templates.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051475_add_site_id_to_spud_menus.tb_cms.rb → 20141231214472_add_site_id_to_spud_menus.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051476_create_spud_page_partial_revisions.tb_cms.rb → 20141231214473_create_spud_page_partial_revisions.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051477_add_symbol_name_to_spud_page_partials.tb_cms.rb → 20141231214474_add_symbol_name_to_spud_page_partials.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051478_modify_site_id_for_spud_pages.tb_cms.rb → 20141231214475_modify_site_id_for_spud_pages.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051479_add_content_processed_to_spud_page_partials.tb_cms.rb → 20141231214476_add_content_processed_to_spud_page_partials.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051480_add_layout_to_spud_pages.tb_cms.rb → 20141231214477_add_layout_to_spud_pages.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051481_create_spud_page_liquid_tags.tb_cms.rb → 20141231214478_create_spud_page_liquid_tags.tb_cms.rb} +0 -0
- /data/spec/dummy/db/migrate/{20140110051482_create_spud_snippets.tb_cms.rb → 20141231214479_create_spud_snippets.tb_cms.rb} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 603c1fdda41198a90994c4437b1ef98b77c2d53e
|
|
4
|
+
data.tar.gz: 6b7756d1a544e4d0cd23435bb471085d1b5a7020
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0b6bf5a0086d59e8d294a82172f556658f38de6bd0bd20ed850cb3cf04257dc56ca8f5816abdb7f885877e107cd4d02c8f79427e67fb2f5dea550cd7f3b4b8b4
|
|
7
|
+
data.tar.gz: 42fbc6c40d02f55d97b4acd74a9c0bd707c2f521fedfbc8fe00933e2764c5c875fc439d329f2891fbf529ee45e41d134df9e8c8cebb7673eca51d58846a8254e
|
|
@@ -92,9 +92,6 @@ private
|
|
|
92
92
|
if @menu.blank?
|
|
93
93
|
flash[:error] = "Menu not found!"
|
|
94
94
|
redirect_to admin_menus_url() and return false
|
|
95
|
-
elsif Spud::Core.multisite_mode_enabled && @menu.site_id != session[:admin_site]
|
|
96
|
-
flash[:warning] = "Site Context Changed. The menu you were viewing is not associated with the current site. Redirected back to menu selections."
|
|
97
|
-
redirect_to admin_menus_url() and return false
|
|
98
95
|
end
|
|
99
96
|
add_breadcrumb "#{@menu.name}", :admin_menu_menu_items_path
|
|
100
97
|
end
|
|
@@ -4,11 +4,10 @@ class Admin::MenusController < Admin::ApplicationController
|
|
|
4
4
|
before_filter :load_menu,:only => [:edit,:update,:show,:destroy]
|
|
5
5
|
|
|
6
6
|
def index
|
|
7
|
-
@menus = SpudMenu.
|
|
7
|
+
@menus = SpudMenu.all.paginate(:page => params[:page])
|
|
8
8
|
respond_with @menus
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
def new
|
|
13
12
|
add_breadcrumb "New", :new_admin_menu_path
|
|
14
13
|
@menu = SpudMenu.new
|
|
@@ -18,7 +17,6 @@ class Admin::MenusController < Admin::ApplicationController
|
|
|
18
17
|
def create
|
|
19
18
|
add_breadcrumb "New", :new_admin_menu_path
|
|
20
19
|
@menu = SpudMenu.new(menu_params)
|
|
21
|
-
@menu.site_id = session[:admin_site]
|
|
22
20
|
flash[:notice] = "New menu created" if @menu.save
|
|
23
21
|
respond_with @menu,:location => @menu.id != nil ? admin_menu_menu_items_url(:menu_id => @menu.id) : admin_menus_url
|
|
24
22
|
end
|
|
@@ -47,9 +45,6 @@ private
|
|
|
47
45
|
if @menu.blank?
|
|
48
46
|
flash[:error] = "Menu not found!"
|
|
49
47
|
redirect_to admin_menus_url() and return false
|
|
50
|
-
elsif Spud::Core.multisite_mode_enabled && @menu.site_id != session[:admin_site]
|
|
51
|
-
flash[:warning] = "Site Context Changed. The menu you were viewing is not associated with the current site. Redirected back to menu selections."
|
|
52
|
-
redirect_to admin_menus_url() and return false
|
|
53
48
|
end
|
|
54
49
|
end
|
|
55
50
|
|
|
@@ -22,7 +22,7 @@ class Admin::PagesController < Admin::ApplicationController
|
|
|
22
22
|
def new
|
|
23
23
|
add_breadcrumb "New", :new_admin_page_path
|
|
24
24
|
|
|
25
|
-
layouts = Spud::Cms::Engine.template_parser.layouts
|
|
25
|
+
layouts = Spud::Cms::Engine.template_parser.layouts
|
|
26
26
|
layout, layout_info = layouts.select{|k,v| v[:default]}.flatten
|
|
27
27
|
@page = SpudPage.new(:layout => layout)
|
|
28
28
|
parts = layout_info[:partials]
|
|
@@ -35,7 +35,6 @@ class Admin::PagesController < Admin::ApplicationController
|
|
|
35
35
|
|
|
36
36
|
def create
|
|
37
37
|
@page = SpudPage.new(page_params)
|
|
38
|
-
@page.site_id = session[:admin_site]
|
|
39
38
|
if params[:preview] && params[:preview].to_i == 1
|
|
40
39
|
preview
|
|
41
40
|
return
|
|
@@ -47,7 +46,7 @@ class Admin::PagesController < Admin::ApplicationController
|
|
|
47
46
|
def edit
|
|
48
47
|
add_breadcrumb @page.name, :edit_admin_page_path
|
|
49
48
|
|
|
50
|
-
layouts = Spud::Cms::Engine.template_parser.layouts
|
|
49
|
+
layouts = Spud::Cms::Engine.template_parser.layouts
|
|
51
50
|
layout, layout_info = layouts.select{|k,v| k == @page.layout}.flatten if @page.layout.blank? == false
|
|
52
51
|
if layout.blank?
|
|
53
52
|
layout, layout_info = layouts.select{|k,v| v[:default]}.flatten
|
|
@@ -100,7 +99,7 @@ class Admin::PagesController < Admin::ApplicationController
|
|
|
100
99
|
end
|
|
101
100
|
|
|
102
101
|
def page_parts
|
|
103
|
-
layouts = Spud::Cms::Engine.template_parser.layouts
|
|
102
|
+
layouts = Spud::Cms::Engine.template_parser.layouts
|
|
104
103
|
template = params[:template] && !params[:template].blank? ? layouts[params[:template]] : nil
|
|
105
104
|
page = SpudPage.where(:id => params[:page]).includes(:spud_page_partials).first
|
|
106
105
|
page = SpudPage.new if page.blank?
|
|
@@ -152,9 +151,6 @@ private
|
|
|
152
151
|
if @page.blank?
|
|
153
152
|
flash[:error] = "Page not found!"
|
|
154
153
|
redirect_to admin_pages_url() and return false
|
|
155
|
-
elsif Spud::Core.multisite_mode_enabled && @page.site_id != session[:admin_site]
|
|
156
|
-
flash[:warning] = "Site Context Changed. The page you were viewing is not associated with the current site. Redirected back to page selections."
|
|
157
|
-
redirect_to admin_pages_url() and return false
|
|
158
154
|
end
|
|
159
155
|
return true
|
|
160
156
|
end
|
|
@@ -18,7 +18,6 @@ class Admin::SnippetsController < Admin::ApplicationController
|
|
|
18
18
|
def create
|
|
19
19
|
add_breadcrumb "New", :new_admin_snippet_url
|
|
20
20
|
@snippet = SpudSnippet.new(snippet_params)
|
|
21
|
-
@snippet.site_id = session[:admin_site]
|
|
22
21
|
|
|
23
22
|
@snippet.save
|
|
24
23
|
|
|
@@ -49,9 +48,6 @@ private
|
|
|
49
48
|
if @snippet.blank?
|
|
50
49
|
flash[:error] = "Snippet does not exist!"
|
|
51
50
|
redirect_to admin_snippets_url and return false
|
|
52
|
-
elsif Spud::Core.multisite_mode_enabled && @snippet.site_id != session[:admin_site]
|
|
53
|
-
flash[:warning] = "This snippet is for a different site"
|
|
54
|
-
redirect_to admin_snippets_url and return false
|
|
55
51
|
end
|
|
56
52
|
end
|
|
57
53
|
|
|
@@ -2,10 +2,6 @@ class Cms::SitemapsController < Spud::ApplicationController
|
|
|
2
2
|
respond_to :xml
|
|
3
3
|
def show
|
|
4
4
|
@pages = SpudPage.published_pages.viewable.order(:spud_page_id)
|
|
5
|
-
if Spud::Core.multisite_mode_enabled
|
|
6
|
-
site_config = Spud::Core.site_config_for_host(request.host_with_port)
|
|
7
|
-
@pages = @pages.site(!site_config.blank? ? site_config[:site_id] : 0)
|
|
8
|
-
end
|
|
9
5
|
respond_with @pages
|
|
10
6
|
end
|
|
11
7
|
end
|
|
@@ -12,33 +12,10 @@ class PagesController < ApplicationController
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
url_name = !params[:id].blank? ? params[:id] : Spud::Cms.root_page_name
|
|
15
|
+
@page = SpudPage.published_pages.find_by(:url_name => url_name)
|
|
15
16
|
|
|
16
|
-
# MultiSite Code Block
|
|
17
|
-
if params[:id].blank? && Spud::Core.multisite_mode_enabled
|
|
18
|
-
site_config = Spud::Core.site_config_for_host(request.host_with_port)
|
|
19
|
-
if !site_config.blank?
|
|
20
|
-
cms_config = Spud::Cms.site_config_for_short_name(site_config[:short_name])
|
|
21
|
-
url_name = cms_config[:root_page_name] if !cms_config.blank? && !cms_config[:root_page_name].blank?
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
@page = SpudPage.published_pages.where(:url_name => url_name)
|
|
26
|
-
|
|
27
|
-
# MultiSite Code Block
|
|
28
|
-
if Spud::Core.multisite_mode_enabled
|
|
29
|
-
site_config = Spud::Core.site_config_for_host(request.host_with_port)
|
|
30
|
-
@page = @page.site(!site_config.blank? ? site_config[:site_id] : nil)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
@page = @page.first
|
|
34
17
|
if @page.blank?
|
|
35
|
-
@permalink = SpudPermalink.
|
|
36
|
-
|
|
37
|
-
# MultiSite Code Block
|
|
38
|
-
if Spud::Core.multisite_mode_enabled
|
|
39
|
-
@permalink = @permalink.site(!site_config.blank? ? site_config[:site_id] : nil)
|
|
40
|
-
end
|
|
41
|
-
@permalink = @permalink.first
|
|
18
|
+
@permalink = SpudPermalink.find_by(:url_name => url_name)
|
|
42
19
|
|
|
43
20
|
if !@permalink.blank? && @permalink.attachment_type == 'SpudPage'
|
|
44
21
|
redirect_to @permalink.attachment.url_name == Spud::Cms.root_page_name ? root_url() : page_url(:id => @permalink.attachment.url_name) , :status => :moved_permanently and return
|
|
@@ -52,15 +29,7 @@ class PagesController < ApplicationController
|
|
|
52
29
|
return if defined?(require_user) && require_user == false
|
|
53
30
|
end
|
|
54
31
|
|
|
55
|
-
layout = Spud::Cms.default_page_layout
|
|
56
|
-
|
|
57
|
-
# MultiSite Code Block
|
|
58
|
-
if Spud::Core.multisite_mode_enabled && !site_config.blank?
|
|
59
|
-
cms_config = Spud::Cms.site_config_for_short_name(site_config[:short_name])
|
|
60
|
-
layout = cms_config[:default_page_layout] if !cms_config.blank? && !cms_config[:default_page_layout].blank?
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
layout = @page.layout || layout
|
|
32
|
+
layout = @page.layout || Spud::Cms.default_page_layout
|
|
64
33
|
|
|
65
34
|
action_name = "#{layout}_action"
|
|
66
35
|
if respond_to?(action_name)
|
|
@@ -24,10 +24,6 @@ module Cms::ApplicationHelper
|
|
|
24
24
|
|
|
25
25
|
pages = SpudPage.viewable.published_pages
|
|
26
26
|
|
|
27
|
-
if Spud::Core.multisite_mode_enabled
|
|
28
|
-
site_config = Spud::Core.site_config_for_host(request.host_with_port)
|
|
29
|
-
pages = pages.site(site_config[:site_id]) if !site_config.blank?
|
|
30
|
-
end
|
|
31
27
|
start_page = nil
|
|
32
28
|
max_depth = 0
|
|
33
29
|
active_class = "menu-active"
|
|
@@ -93,12 +89,7 @@ module Cms::ApplicationHelper
|
|
|
93
89
|
menu_id = nil
|
|
94
90
|
link_options = {}
|
|
95
91
|
start_menu_item = nil
|
|
96
|
-
|
|
97
|
-
if Spud::Core.multisite_mode_enabled
|
|
98
|
-
menu = SpudMenu.where(:name => options[:name], :site_id => current_site_id).first
|
|
99
|
-
else
|
|
100
|
-
menu = SpudMenu.where(:name => options[:name]).first
|
|
101
|
-
end
|
|
92
|
+
menu = SpudMenu.where(:name => options[:name]).first
|
|
102
93
|
|
|
103
94
|
if menu.blank?
|
|
104
95
|
return ''
|
|
@@ -172,12 +163,7 @@ module Cms::ApplicationHelper
|
|
|
172
163
|
seperator = options[:seperator]
|
|
173
164
|
end
|
|
174
165
|
|
|
175
|
-
menu = SpudMenu.
|
|
176
|
-
if Spud::Core.multisite_mode_enabled
|
|
177
|
-
site_config = Spud::Core.site_config_for_host(request.host_with_port)
|
|
178
|
-
menu = menu.site(site_config[:site_id]) if !site_config.blank?
|
|
179
|
-
end
|
|
180
|
-
menu = menu.first
|
|
166
|
+
menu = SpudMenu.find_by(:name => options[:name])
|
|
181
167
|
if(menu.blank?)
|
|
182
168
|
return ""
|
|
183
169
|
end
|
|
@@ -294,8 +280,6 @@ private
|
|
|
294
280
|
end
|
|
295
281
|
|
|
296
282
|
def layout_options
|
|
297
|
-
layouts = Spud::Cms::Engine.template_parser.layouts(Spud::Core.site_config_for_id(session[:admin_site] || 0)[:short_name])
|
|
298
|
-
|
|
299
283
|
layouts = Spud::Cms::Engine.template_parser.layouts
|
|
300
284
|
layout_options = []
|
|
301
285
|
layouts.each_pair do |key,value|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module CmsDeprecatedMultisite
|
|
2
|
+
extend ActiveSupport::Concern
|
|
3
|
+
|
|
4
|
+
included do
|
|
5
|
+
scope :site, ->(sid){
|
|
6
|
+
ActiveSupport::Deprecation.warn 'Model.site scope is deprecated and will be removed in the future'
|
|
7
|
+
self.all()
|
|
8
|
+
}
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def site_id
|
|
12
|
+
ActiveSupport::Deprecation.warn '#site_id is deprecated and will be removed in the future'
|
|
13
|
+
return 0
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def site_id=(id)
|
|
17
|
+
ActiveSupport::Deprecation.warn '#site_id is deprecated and will be removed in the future'
|
|
18
|
+
return nil
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
data/app/models/spud_menu.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
class SpudMenu < ActiveRecord::Base
|
|
2
|
+
include CmsDeprecatedMultisite
|
|
3
|
+
|
|
2
4
|
validates :name,:presence => true
|
|
3
|
-
validates_uniqueness_of :name
|
|
5
|
+
validates_uniqueness_of :name
|
|
4
6
|
|
|
5
7
|
has_many :spud_menu_items, :as => :parent, :dependent => :destroy
|
|
6
8
|
has_many :spud_menu_items_combined, :class_name => "SpudMenuItem", :foreign_key => :spud_menu_id, :dependent => :destroy
|
|
7
|
-
|
|
8
|
-
scope :site, lambda {|sid| where(:site_id => sid)}
|
|
9
9
|
end
|
data/app/models/spud_page.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
class SpudPage < ActiveRecord::Base
|
|
2
|
+
include CmsDeprecatedMultisite
|
|
3
|
+
|
|
2
4
|
spud_searchable
|
|
3
5
|
belongs_to :spud_page
|
|
4
6
|
has_many :spud_page_partial_revisions
|
|
@@ -10,14 +12,13 @@ class SpudPage < ActiveRecord::Base
|
|
|
10
12
|
|
|
11
13
|
before_validation :generate_url_name
|
|
12
14
|
validates :name,:presence => true
|
|
13
|
-
validates_uniqueness_of :name, :scope => [:
|
|
15
|
+
validates_uniqueness_of :name, :scope => [:spud_page_id]
|
|
14
16
|
validates :url_name,:presence => true
|
|
15
|
-
validates_uniqueness_of :url_name
|
|
17
|
+
validates_uniqueness_of :url_name
|
|
16
18
|
|
|
17
19
|
accepts_nested_attributes_for :spud_page_partials, :allow_destroy => true
|
|
18
20
|
|
|
19
21
|
scope :parent_pages, ->{ where(:spud_page_id => nil)}
|
|
20
|
-
scope :site, lambda {|sid| where(:site_id => sid)}
|
|
21
22
|
scope :published_pages, ->{ where(:published => true) }
|
|
22
23
|
scope :viewable, ->{ where(:visibility => 0) }
|
|
23
24
|
|
|
@@ -25,15 +26,6 @@ class SpudPage < ActiveRecord::Base
|
|
|
25
26
|
self.spud_page_partials.collect{|partial| partial.content_processed }.join(' ')
|
|
26
27
|
end
|
|
27
28
|
|
|
28
|
-
def self.grouped(site_id=0)
|
|
29
|
-
|
|
30
|
-
if(Spud::Core.multisite_mode_enabled)
|
|
31
|
-
return site(site_id).to_a.group_by(&:spud_page_id)
|
|
32
|
-
else
|
|
33
|
-
return all.group_by(&:spud_page_id)
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
29
|
def to_liquid
|
|
38
30
|
return {'name' => self.name, 'url_name' => self.url_name}
|
|
39
31
|
end
|
|
@@ -42,7 +34,7 @@ class SpudPage < ActiveRecord::Base
|
|
|
42
34
|
# :fitler Filters out a page by ID, and all of its children
|
|
43
35
|
# :value Pick an attribute to be used in the value field, defaults to ID
|
|
44
36
|
def self.options_tree_for_page(config={})
|
|
45
|
-
collection = config[:collection] || self.
|
|
37
|
+
collection = config[:collection] || self.all.group_by(&:spud_page_id)
|
|
46
38
|
level = config[:level] || 0
|
|
47
39
|
parent_id = config[:parent_id] || nil
|
|
48
40
|
filter = config[:filter] || nil
|
|
@@ -69,12 +61,12 @@ class SpudPage < ActiveRecord::Base
|
|
|
69
61
|
end
|
|
70
62
|
url_name += self.name.parameterize.downcase
|
|
71
63
|
if !self.use_custom_url_name
|
|
72
|
-
pages = SpudPage
|
|
64
|
+
pages = SpudPage.all
|
|
73
65
|
|
|
74
66
|
if !self.id.blank?
|
|
75
67
|
pages = pages.where("id != #{self.id}")
|
|
76
68
|
end
|
|
77
|
-
url_names = pages.
|
|
69
|
+
url_names = pages.to_a.collect{|p| p.url_name}
|
|
78
70
|
|
|
79
71
|
counter = 1
|
|
80
72
|
url_name_new = url_name
|
|
@@ -85,7 +77,7 @@ class SpudPage < ActiveRecord::Base
|
|
|
85
77
|
# url_name = url_name_new
|
|
86
78
|
# Check Permalinks List
|
|
87
79
|
|
|
88
|
-
permalink = SpudPermalink.
|
|
80
|
+
permalink = SpudPermalink.where(:url_name => url_name_new).first
|
|
89
81
|
counter = 1
|
|
90
82
|
while permalink.blank? == false
|
|
91
83
|
|
|
@@ -95,20 +87,20 @@ class SpudPage < ActiveRecord::Base
|
|
|
95
87
|
else
|
|
96
88
|
url_name_new = url_name + "-#{counter}"
|
|
97
89
|
counter += 1
|
|
98
|
-
permalink = SpudPermalink.
|
|
90
|
+
permalink = SpudPermalink.where(:url_name => url_name_new).first
|
|
99
91
|
end
|
|
100
92
|
end
|
|
101
93
|
url_name = url_name_new
|
|
102
94
|
end
|
|
103
95
|
if self.url_name.blank? == false && url_name != self.url_name
|
|
104
|
-
self.spud_permalinks.create(:url_name => self.url_name
|
|
96
|
+
self.spud_permalinks.create(:url_name => self.url_name)
|
|
105
97
|
end
|
|
106
98
|
self.url_name = url_name
|
|
107
99
|
self.use_custom_url_name = false
|
|
108
100
|
elsif self.id.to_i > 0
|
|
109
101
|
page = SpudPage.where(:id => self.id).first
|
|
110
102
|
if page.url_name.blank? == false && page.url_name != self.url_name
|
|
111
|
-
permalink = SpudPermalink.
|
|
103
|
+
permalink = SpudPermalink.where(:url_name => self.url_name).first
|
|
112
104
|
if permalink.blank? == false
|
|
113
105
|
if permalink.attachment == self
|
|
114
106
|
permalink.destroy
|
|
@@ -117,7 +109,7 @@ class SpudPage < ActiveRecord::Base
|
|
|
117
109
|
return false
|
|
118
110
|
end
|
|
119
111
|
end
|
|
120
|
-
self.spud_permalinks.create(:url_name => page.url_name
|
|
112
|
+
self.spud_permalinks.create(:url_name => page.url_name)
|
|
121
113
|
end
|
|
122
114
|
end
|
|
123
115
|
return true
|
data/app/models/spud_snippet.rb
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
class SpudSnippet < ActiveRecord::Base
|
|
2
|
+
include CmsDeprecatedMultisite
|
|
2
3
|
|
|
3
4
|
validates :name, :presence => true
|
|
4
|
-
validates_uniqueness_of :name
|
|
5
|
-
|
|
6
|
-
scope :site, lambda {|sid| where(:site_id => sid)}
|
|
5
|
+
validates_uniqueness_of :name
|
|
7
6
|
|
|
8
7
|
acts_as_tb_liquid_content
|
|
9
8
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<div class="form-group">
|
|
18
18
|
<%=f.label :spud_page_id, "Page", :class=>"col-sm-2 control-label"%>
|
|
19
19
|
<div class="col-sm-10">
|
|
20
|
-
<%= f.select :spud_page_id, options_for_select(SpudPage.options_tree_for_page(
|
|
20
|
+
<%= f.select :spud_page_id, options_for_select(SpudPage.options_tree_for_page(), @menu_item.spud_page_id), {:include_blank => 'Use URL instead'}, {:class=>'form-control',:title => "", :onchange => "if($(this).val() != '') {$('#spud_menu_item_url').val('');}"}%>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
23
23
|
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
<div class="form-group">
|
|
36
36
|
<%= f.label :spud_page_id, "Parent Page", :class=>"col-lg-2 control-label"%>
|
|
37
37
|
<div class="col-lg-10">
|
|
38
|
-
<%= f.select :spud_page_id,options_for_select(SpudPage.options_tree_for_page(:filter => @page
|
|
38
|
+
<%= f.select :spud_page_id,options_for_select(SpudPage.options_tree_for_page(:filter => @page), @page.spud_page_id),{:include_blank => 'None'},{:title => "", :class=>'form-control' }%>
|
|
39
39
|
</div>
|
|
40
40
|
</div>
|
|
41
41
|
|
|
@@ -2,9 +2,7 @@ class ChangeLiquidTagsToPolymorphic < ActiveRecord::Migration
|
|
|
2
2
|
def up
|
|
3
3
|
rename_column :spud_page_liquid_tags, :spud_page_partial_id, :attachment_id
|
|
4
4
|
add_column :spud_page_liquid_tags, :attachment_type, :string
|
|
5
|
-
|
|
6
|
-
add_index :spud_page_liquid_tags, [:attachment_type,:attachment_id]
|
|
7
|
-
|
|
5
|
+
add_index :spud_page_liquid_tags, [:attachment_type, :attachment_id], :name => 'inde_spud_page_liquid_tags_on_attachment'
|
|
8
6
|
if defined?(SpudPageLiquidTag)
|
|
9
7
|
SpudPageLiquidTag.all.each do |f|
|
|
10
8
|
f.update_attributes(:attachment_type => "SpudPagePartial")
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
class RemoveSiteIdFromCmsTables < ActiveRecord::Migration
|
|
2
|
+
def up
|
|
3
|
+
remove_column :spud_menus, :site_id
|
|
4
|
+
remove_column :spud_pages, :site_id
|
|
5
|
+
remove_column :spud_snippets, :site_id
|
|
6
|
+
end
|
|
7
|
+
def down
|
|
8
|
+
add_column :spud_menus, :site_id, :integer
|
|
9
|
+
add_column :spud_pages, :site_id, :integer
|
|
10
|
+
add_column :spud_snippets, :site_id, :integer
|
|
11
|
+
end
|
|
12
|
+
end
|
data/lib/spud_cms/engine.rb
CHANGED
|
@@ -21,10 +21,6 @@ module Spud
|
|
|
21
21
|
if Spud::Cms.snippets_enabled
|
|
22
22
|
config.admin_applications += [{:name => "Snippets",:thumbnail => "spud/admin/snippets_thumb.png",:url => "/admin/snippets",:order => 3}]
|
|
23
23
|
end
|
|
24
|
-
|
|
25
|
-
if Spud::Cms.enable_sitemap == true
|
|
26
|
-
config.sitemap_urls += [:cms_sitemap_url]
|
|
27
|
-
end
|
|
28
24
|
end
|
|
29
25
|
end
|
|
30
26
|
|
|
@@ -3,21 +3,7 @@ module Spud
|
|
|
3
3
|
class TemplateParser
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
def layouts
|
|
7
|
-
if(site_short_name != nil)
|
|
8
|
-
filtered_layouts = {}
|
|
9
|
-
all_layouts.each do |key,value|
|
|
10
|
-
if value[:sites].include?(site_short_name.to_s.downcase)
|
|
11
|
-
filtered_layouts[key] = value
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
return filtered_layouts
|
|
15
|
-
else
|
|
16
|
-
return all_layouts
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def all_layouts
|
|
6
|
+
def layouts
|
|
21
7
|
if @layouts && Rails.env != 'development'
|
|
22
8
|
return @layouts
|
|
23
9
|
end
|
|
@@ -32,8 +18,8 @@ module Spud
|
|
|
32
18
|
return @layouts
|
|
33
19
|
end
|
|
34
20
|
|
|
35
|
-
|
|
36
21
|
private
|
|
22
|
+
|
|
37
23
|
def process_layouts(filepath)
|
|
38
24
|
layouts = {}
|
|
39
25
|
Dir.glob(filepath.join("**","*.html.*")) do |template|
|
|
@@ -79,20 +65,6 @@ module Spud
|
|
|
79
65
|
else
|
|
80
66
|
layouts[default_layout_path][:default] = true
|
|
81
67
|
end
|
|
82
|
-
|
|
83
|
-
Spud::Core.multisite_config.each do |config|
|
|
84
|
-
cms_config = Spud::Cms.site_config_for_short_name(config[:short_name])
|
|
85
|
-
layout_path = cms_config.blank? == false && cms_config[:default_page_layout].blank? == false ? layout_path(Rails.application.root.join('app','views','layouts',cms_config[:default_page_layout])) : default_layout_path
|
|
86
|
-
|
|
87
|
-
layout = layouts[layout_path]
|
|
88
|
-
if layout.blank?
|
|
89
|
-
layouts[layout_path] = {:template_name => "Default", :partials => ["Body"], :sites => [config[:short_name].to_s.downcase], :default => true}
|
|
90
|
-
else
|
|
91
|
-
layouts[layout_path][:sites] << config[:short_name].to_s.downcase
|
|
92
|
-
layouts[layout_path][:default] = true
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
|
|
96
68
|
end
|
|
97
69
|
|
|
98
70
|
def layout_path(template)
|
data/lib/spud_cms/version.rb
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
require 'authlogic/test_case'
|
|
2
|
-
include Authlogic::TestCase
|
|
2
|
+
include Authlogic::TestCase
|