refinerycms-pages 0.9.9.15 → 0.9.9.16
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.
- data/app/controllers/admin/pages_controller.rb +6 -1
- data/app/models/page.rb +14 -7
- data/app/views/admin/pages/index.html.erb +2 -2
- data/lib/gemspec.rb +1 -1
- data/lib/refinery/pages/admin/instance_methods.rb +27 -0
- data/lib/refinery/pages/instance_methods.rb +1 -1
- data/lib/refinerycms-pages.rb +4 -0
- data/refinerycms-pages.gemspec +6 -4
- metadata +5 -4
@@ -28,7 +28,12 @@ module Admin
|
|
28
28
|
|
29
29
|
# Check whether we need to override e.g. on the pages form.
|
30
30
|
unless params[:switch_locale] or @page.nil? or @page.slugs.where(:locale => Refinery::I18n.current_locale).nil? or !@page.persisted?
|
31
|
-
|
31
|
+
if @page.slug.nil? and @page.slugs.length > 0
|
32
|
+
@page.slug = @page.slugs[0]
|
33
|
+
end
|
34
|
+
if @page.slug
|
35
|
+
Thread.current[:globalize_locale] = @page.slug.locale
|
36
|
+
end
|
32
37
|
end
|
33
38
|
else
|
34
39
|
Thread.current[:globalize_locale] = nil
|
data/app/models/page.rb
CHANGED
@@ -5,11 +5,11 @@ class Page < ActiveRecord::Base
|
|
5
5
|
translates :title, :meta_keywords, :meta_description, :browser_title, :custom_title if self.respond_to?(:translates)
|
6
6
|
|
7
7
|
# Set up support for meta tags through translations.
|
8
|
-
if defined?(::Page::Translation) && Page::Translation.table_exists?
|
8
|
+
if defined?(::Page::Translation) && ::Page::Translation.table_exists?
|
9
9
|
def translation
|
10
|
-
if @translation.nil? or @translation.try(:locale) != Globalize.locale
|
11
|
-
@translation = translations.with_locale(Globalize.locale).first
|
12
|
-
@translation ||= translations.build(:locale => Globalize.locale)
|
10
|
+
if @translation.nil? or @translation.try(:locale) != ::Globalize.locale
|
11
|
+
@translation = translations.with_locale(::Globalize.locale).first
|
12
|
+
@translation ||= translations.build(:locale => ::Globalize.locale)
|
13
13
|
end
|
14
14
|
|
15
15
|
@translation
|
@@ -262,8 +262,10 @@ class Page < ActiveRecord::Base
|
|
262
262
|
end
|
263
263
|
|
264
264
|
def expire_page_caching
|
265
|
-
|
266
|
-
|
265
|
+
begin
|
266
|
+
Rails.cache.delete_matched(/.*pages.*/)
|
267
|
+
rescue NotImplementedError
|
268
|
+
warn "**** [REFINERY] The cache store you are using is not compatible with Rails.cache#delete_matched so please disable caching to ensure proper operation. ***"
|
267
269
|
end
|
268
270
|
end
|
269
271
|
end
|
@@ -291,7 +293,12 @@ class Page < ActiveRecord::Base
|
|
291
293
|
|
292
294
|
# In the admin area we use a slightly different title to inform the which pages are draft or hidden pages
|
293
295
|
def title_with_meta
|
294
|
-
|
296
|
+
if self.title.nil?
|
297
|
+
title = [::Page::Translation.where(:page_id => self.id).first.title.to_s]
|
298
|
+
else
|
299
|
+
title = [self.title.to_s]
|
300
|
+
end
|
301
|
+
|
295
302
|
title << "<em>(#{::I18n.t('hidden', :scope => 'admin.pages.page')})</em>" unless show_in_menu?
|
296
303
|
title << "<em>(#{::I18n.t('draft', :scope => 'admin.pages.page')})</em>" if draft?
|
297
304
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<section id='records' class='tree'>
|
2
|
-
<% caching = RefinerySetting.find_or_set(:cache_pages_backend, false)
|
3
|
-
<% cache_if(caching
|
2
|
+
<% caching = RefinerySetting.find_or_set(:cache_pages_backend, false) %>
|
3
|
+
<% cache_if(caching, [Refinery.base_cache_key, "pages_backend", Globalize.locale].join('_')) do %>
|
4
4
|
<%= render :partial => 'records' %>
|
5
5
|
<% end %>
|
6
6
|
</section>
|
data/lib/gemspec.rb
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
module Refinery
|
2
|
+
module Pages
|
3
|
+
module Admin
|
4
|
+
module InstanceMethods
|
5
|
+
|
6
|
+
def error_404(exception=nil)
|
7
|
+
if (@page = Page.find_by_menu_match("^/404$", :include => [:parts, :slugs])).present?
|
8
|
+
params[:action] = 'error_404'
|
9
|
+
# change any links in the copy to the admin_root_path
|
10
|
+
# and any references to "home page" to "Dashboard"
|
11
|
+
part_symbol = Page.default_parts.first.to_sym
|
12
|
+
@page[part_symbol] = @page[part_symbol].to_s.gsub(
|
13
|
+
/href=(\'|\")\/(\'|\")/, "href='#{admin_root_path}'"
|
14
|
+
).gsub("home page", "Dashboard")
|
15
|
+
|
16
|
+
render :template => "/pages/show",
|
17
|
+
:layout => layout?,
|
18
|
+
:status => 404
|
19
|
+
else
|
20
|
+
super
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/refinerycms-pages.rb
CHANGED
@@ -7,6 +7,9 @@ module Refinery
|
|
7
7
|
module Pages
|
8
8
|
|
9
9
|
autoload :InstanceMethods, File.expand_path('../refinery/pages/instance_methods', __FILE__)
|
10
|
+
module Admin
|
11
|
+
autoload :InstanceMethods, File.expand_path('../refinery/pages/admin/instance_methods', __FILE__)
|
12
|
+
end
|
10
13
|
|
11
14
|
class << self
|
12
15
|
attr_accessor :root
|
@@ -26,6 +29,7 @@ module Refinery
|
|
26
29
|
|
27
30
|
refinery.after_inclusion do
|
28
31
|
::ApplicationController.send :include, ::Refinery::Pages::InstanceMethods
|
32
|
+
::Admin::BaseController.send :include, ::Refinery::Pages::Admin::InstanceMethods
|
29
33
|
end
|
30
34
|
|
31
35
|
config.after_initialize do
|
data/refinerycms-pages.gemspec
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{refinerycms-pages}
|
5
|
-
s.version = %q{0.9.9.
|
5
|
+
s.version = %q{0.9.9.16}
|
6
6
|
s.summary = %q{Pages engine for Refinery CMS}
|
7
7
|
s.description = %q{The default content engine of Refinery CMS. This engine handles the administration and display of user-editable pages.}
|
8
|
-
s.date = %q{2011-04-
|
8
|
+
s.date = %q{2011-04-07}
|
9
9
|
s.email = %q{info@refinerycms.com}
|
10
10
|
s.homepage = %q{http://refinerycms.com}
|
11
11
|
s.rubyforge_project = %q{refinerycms}
|
@@ -106,6 +106,8 @@ Gem::Specification.new do |s|
|
|
106
106
|
'lib/pages/tabs.rb',
|
107
107
|
'lib/refinery',
|
108
108
|
'lib/refinery/pages',
|
109
|
+
'lib/refinery/pages/admin',
|
110
|
+
'lib/refinery/pages/admin/instance_methods.rb',
|
109
111
|
'lib/refinery/pages/instance_methods.rb',
|
110
112
|
'lib/refinerycms-pages.rb',
|
111
113
|
'license.md',
|
@@ -115,6 +117,6 @@ Gem::Specification.new do |s|
|
|
115
117
|
'spec/models/page_spec.rb'
|
116
118
|
]
|
117
119
|
|
118
|
-
s.add_dependency 'refinerycms-core', '= 0.9.9.
|
119
|
-
s.add_dependency 'seo_meta', '~> 1.0.
|
120
|
+
s.add_dependency 'refinerycms-core', '= 0.9.9.16'
|
121
|
+
s.add_dependency 'seo_meta', '~> 1.0.3'
|
120
122
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: refinerycms-pages
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.9.9.
|
5
|
+
version: 0.9.9.16
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Resolve Digital
|
@@ -13,7 +13,7 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date: 2011-04-
|
16
|
+
date: 2011-04-07 00:00:00 +12:00
|
17
17
|
default_executable:
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
@@ -24,7 +24,7 @@ dependencies:
|
|
24
24
|
requirements:
|
25
25
|
- - "="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.9.9.
|
27
|
+
version: 0.9.9.16
|
28
28
|
type: :runtime
|
29
29
|
version_requirements: *id001
|
30
30
|
- !ruby/object:Gem::Dependency
|
@@ -35,7 +35,7 @@ dependencies:
|
|
35
35
|
requirements:
|
36
36
|
- - ~>
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version: 1.0.
|
38
|
+
version: 1.0.3
|
39
39
|
type: :runtime
|
40
40
|
version_requirements: *id002
|
41
41
|
description: The default content engine of Refinery CMS. This engine handles the administration and display of user-editable pages.
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- lib/generators/refinerycms_pages_generator.rb
|
115
115
|
- lib/pages/marketable_routes.rb
|
116
116
|
- lib/pages/tabs.rb
|
117
|
+
- lib/refinery/pages/admin/instance_methods.rb
|
117
118
|
- lib/refinery/pages/instance_methods.rb
|
118
119
|
- lib/refinerycms-pages.rb
|
119
120
|
- license.md
|