refinerycms-pages 1.0.9 → 1.0.10
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/models/page.rb +1 -10
- data/app/views/admin/pages_dialogs/_page_link.html.erb +1 -1
- data/app/views/admin/pages_dialogs/link_to.html.erb +1 -1
- data/db/migrate/20110329080451_create_seo_meta.rb +5 -4
- data/db/seeds/pages.rb +0 -9
- data/features/step_definitions/page_steps.rb +11 -0
- data/features/support/paths.rb +4 -2
- data/features/visit_pages.feature +7 -0
- data/lib/gemspec.rb +1 -1
- data/refinerycms-pages.gemspec +5 -4
- metadata +15 -11
data/app/models/page.rb
CHANGED
|
@@ -22,15 +22,6 @@ class Page < ActiveRecord::Base
|
|
|
22
22
|
:meta_keywords, :locale
|
|
23
23
|
|
|
24
24
|
if ::Page::Translation.table_exists?
|
|
25
|
-
def translation
|
|
26
|
-
if @translation.nil? or @translation.try(:locale) != ::Globalize.locale
|
|
27
|
-
@translation = translations.with_locale(::Globalize.locale).first
|
|
28
|
-
@translation ||= translations.build(:locale => ::Globalize.locale)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
@translation
|
|
32
|
-
end
|
|
33
|
-
|
|
34
25
|
# Instruct the Translation model to have meta tags.
|
|
35
26
|
::Page::Translation.send :is_seo_meta
|
|
36
27
|
|
|
@@ -38,7 +29,7 @@ class Page < ActiveRecord::Base
|
|
|
38
29
|
self.column_names.map(&:to_sym).include?(f)
|
|
39
30
|
}.map{|a| [a, :"#{a}="]}.flatten
|
|
40
31
|
delegate *(fields << {:to => :translation})
|
|
41
|
-
|
|
32
|
+
before_save {|m| m.translation.save}
|
|
42
33
|
end
|
|
43
34
|
end
|
|
44
35
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<% linked = (url_for(page_link.url) == params[:current_link]) if params[:current_link].present? -%>
|
|
2
2
|
<% link_args = defined?(link_to_arguments) ? link_to_arguments : {} %>
|
|
3
3
|
<li class='clearfix<%= " child#{child}" if child %><%= " linked" if linked%>' id="<%= dom_id(page_link) -%>">
|
|
4
|
-
<%= link_to page_link.title_with_meta.html_safe, page_link.url,
|
|
4
|
+
<%= link_to page_link.title_with_meta.html_safe, compute_public_path(url_for(page_link.url), ''),
|
|
5
5
|
{ :title => t('.link_to_this_page'),
|
|
6
6
|
:rel => page_link.title,
|
|
7
7
|
:class => 'page_link' }.merge(link_args) %>
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
<% @resources.each do |resource| -%>
|
|
96
96
|
<% resource_linked = (resource.url == params[:current_link]) unless params[:current_link].blank? %>
|
|
97
97
|
<li<%= " class='linked'" if resource_linked %>>
|
|
98
|
-
<%= link_to "#{resource.title}.#{resource.ext}", resource.url,
|
|
98
|
+
<%= link_to "#{resource.title}.#{resource.ext}", compute_public_path(resource.url, ''),
|
|
99
99
|
:title => t('link_to_this_resource', :scope => 'admin.pages_dialogs.link_to.your_resource'),
|
|
100
100
|
:rel => resource.title,
|
|
101
101
|
:class => "page_link #{resource.ext}" %>
|
|
@@ -26,12 +26,13 @@ class CreateSeoMeta < ActiveRecord::Migration
|
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
# Reset column information because otherwise the old columns will still exist.
|
|
29
|
-
::Page::
|
|
29
|
+
[::Page, ::Page.translation_class].each do |model|
|
|
30
|
+
ActiveRecord::Base.connection.schema_cache.clear_table_cache!(model.table_name)
|
|
31
|
+
model.reset_column_information
|
|
32
|
+
end
|
|
30
33
|
|
|
31
34
|
# Re-attach seo_meta
|
|
32
|
-
::Page
|
|
33
|
-
is_seo_meta
|
|
34
|
-
end
|
|
35
|
+
::Page.translation_class.send :is_seo_meta
|
|
35
36
|
|
|
36
37
|
# Migrate data
|
|
37
38
|
existing_translations.each do |translation|
|
data/db/seeds/pages.rb
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
::Page.reset_column_information
|
|
2
|
-
# Check whether all columns are applied yet by seo_meta.
|
|
3
|
-
unless !defined?(::SeoMeta) || ::SeoMeta.attributes.keys.all? { |k|
|
|
4
|
-
::Page.translation_class.instance_methods.map(&:to_sym).include?(k)
|
|
5
|
-
}
|
|
6
|
-
# Make pages model seo_meta because not all columns are accessible.
|
|
7
|
-
::Page.translation_class.send :is_seo_meta
|
|
8
|
-
end
|
|
9
|
-
|
|
10
1
|
page_position = -1
|
|
11
2
|
|
|
12
3
|
home_page = Page.create(:title => "Home",
|
|
@@ -36,6 +36,17 @@ Given /^the page titled "?([^\"]*)"? is a child of "?([^\"]*)"?$/ do |title, par
|
|
|
36
36
|
Page.by_title(title).first.update_attribute(:parent_id, parent_page.id)
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
+
Given /^the page titled "?([^\"]*)"? is fully translated$/ do |title|
|
|
40
|
+
page = Page.by_title(title).first
|
|
41
|
+
Refinery::I18n.frontend_locales.each do |locale|
|
|
42
|
+
old_locale = Thread.current[:globalize_locale]
|
|
43
|
+
Thread.current[:globalize_locale] = locale
|
|
44
|
+
page.title = title
|
|
45
|
+
page.save
|
|
46
|
+
Thread.current[:globalize_locale] = old_locale
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
39
50
|
Given /^the page titled "?([^\"]*)"? is not shown in the menu$/ do |title|
|
|
40
51
|
Page.by_title(title).first.update_attribute(:show_in_menu, false)
|
|
41
52
|
end
|
data/features/support/paths.rb
CHANGED
|
@@ -11,13 +11,15 @@ module NavigationHelpers
|
|
|
11
11
|
new_admin_page_path
|
|
12
12
|
else
|
|
13
13
|
begin
|
|
14
|
-
if page_name =~ /the page titled "?([^\"]*)"?/ and (page = Page.by_title($1).first).present?
|
|
14
|
+
if page_name =~ /the page titled "?([^\"]*)"? with locale "?([^\"]*)"?/ and (page = Page.by_title($1).first).present?
|
|
15
|
+
self.url_for(page.url.is_a?(String) ? "/#{$2}#{page.url}" : page.url.merge(:locale => $2))
|
|
16
|
+
elsif page_name =~ /the page titled "?([^\"]*)"?/ and (page = Page.by_title($1).first).present?
|
|
15
17
|
self.url_for(page.url)
|
|
16
18
|
else
|
|
17
19
|
nil
|
|
18
20
|
end
|
|
19
21
|
rescue
|
|
20
|
-
|
|
22
|
+
nil
|
|
21
23
|
end
|
|
22
24
|
end
|
|
23
25
|
end
|
|
@@ -59,3 +59,10 @@ Feature: Visit Pages
|
|
|
59
59
|
And the page titled "About" is set to skip to first child
|
|
60
60
|
When I go to the page titled "About"
|
|
61
61
|
Then I should see "Child Page" within ".selected * > .selected a"
|
|
62
|
+
|
|
63
|
+
@pages-visit-i18n
|
|
64
|
+
Scenario: Translated URI
|
|
65
|
+
Given I have frontend locales "en, de"
|
|
66
|
+
And the page titled "Home" is fully translated
|
|
67
|
+
When I go to the page titled "Home" with locale "de"
|
|
68
|
+
Then I should see "Home" within ".selected > a"
|
data/lib/gemspec.rb
CHANGED
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
|
|
|
30
30
|
s.add_dependency 'refinerycms-core', '= #{::Refinery::Version}'
|
|
31
31
|
s.add_dependency 'activerecord', '~> 3.0.10'
|
|
32
32
|
s.add_dependency 'friendly_id_globalize3', '~> 3.2.1'
|
|
33
|
-
s.add_dependency 'globalize3', '~> 0.
|
|
33
|
+
s.add_dependency 'globalize3', '~> 0.2.0.beta4'
|
|
34
34
|
s.add_dependency 'awesome_nested_set', '~> 2.0'
|
|
35
35
|
s.add_dependency 'seo_meta', '~> 1.1'
|
|
36
36
|
end
|
data/refinerycms-pages.gemspec
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |s|
|
|
5
5
|
s.name = %q{refinerycms-pages}
|
|
6
|
-
s.version = %q{1.0.
|
|
6
|
+
s.version = %q{1.0.10}
|
|
7
7
|
s.summary = %q{Pages engine for Refinery CMS}
|
|
8
8
|
s.description = %q{The default content engine of Refinery CMS. This engine handles the administration and display of user-editable pages.}
|
|
9
|
-
s.date = %q{
|
|
9
|
+
s.date = %q{2012-03-06}
|
|
10
10
|
s.email = %q{info@refinerycms.com}
|
|
11
11
|
s.homepage = %q{http://refinerycms.com}
|
|
12
12
|
s.rubyforge_project = %q{refinerycms}
|
|
@@ -117,14 +117,15 @@ Gem::Specification.new do |s|
|
|
|
117
117
|
'license.md',
|
|
118
118
|
'refinerycms-pages.gemspec',
|
|
119
119
|
'spec',
|
|
120
|
+
'spec/lib',
|
|
120
121
|
'spec/models',
|
|
121
122
|
'spec/models/page_spec.rb'
|
|
122
123
|
]
|
|
123
124
|
|
|
124
|
-
s.add_dependency 'refinerycms-core', '= 1.0.
|
|
125
|
+
s.add_dependency 'refinerycms-core', '= 1.0.10'
|
|
125
126
|
s.add_dependency 'activerecord', '~> 3.0.10'
|
|
126
127
|
s.add_dependency 'friendly_id_globalize3', '~> 3.2.1'
|
|
127
|
-
s.add_dependency 'globalize3', '~> 0.
|
|
128
|
+
s.add_dependency 'globalize3', '~> 0.2.0.beta4'
|
|
128
129
|
s.add_dependency 'awesome_nested_set', '~> 2.0'
|
|
129
130
|
s.add_dependency 'seo_meta', '~> 1.1'
|
|
130
131
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: refinerycms-pages
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 3
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 1
|
|
8
8
|
- 0
|
|
9
|
-
-
|
|
10
|
-
version: 1.0.
|
|
9
|
+
- 10
|
|
10
|
+
version: 1.0.10
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Resolve Digital
|
|
@@ -19,7 +19,7 @@ autorequire:
|
|
|
19
19
|
bindir: bin
|
|
20
20
|
cert_chain: []
|
|
21
21
|
|
|
22
|
-
date:
|
|
22
|
+
date: 2012-03-06 00:00:00 Z
|
|
23
23
|
dependencies:
|
|
24
24
|
- !ruby/object:Gem::Dependency
|
|
25
25
|
name: refinerycms-core
|
|
@@ -29,12 +29,12 @@ dependencies:
|
|
|
29
29
|
requirements:
|
|
30
30
|
- - "="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
hash:
|
|
32
|
+
hash: 3
|
|
33
33
|
segments:
|
|
34
34
|
- 1
|
|
35
35
|
- 0
|
|
36
|
-
-
|
|
37
|
-
version: 1.0.
|
|
36
|
+
- 10
|
|
37
|
+
version: 1.0.10
|
|
38
38
|
type: :runtime
|
|
39
39
|
version_requirements: *id001
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
@@ -77,11 +77,14 @@ dependencies:
|
|
|
77
77
|
requirements:
|
|
78
78
|
- - ~>
|
|
79
79
|
- !ruby/object:Gem::Version
|
|
80
|
-
hash:
|
|
80
|
+
hash: 1316851721
|
|
81
81
|
segments:
|
|
82
82
|
- 0
|
|
83
|
-
-
|
|
84
|
-
|
|
83
|
+
- 2
|
|
84
|
+
- 0
|
|
85
|
+
- beta
|
|
86
|
+
- 4
|
|
87
|
+
version: 0.2.0.beta4
|
|
85
88
|
type: :runtime
|
|
86
89
|
version_requirements: *id004
|
|
87
90
|
- !ruby/object:Gem::Dependency
|
|
@@ -228,9 +231,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
228
231
|
requirements: []
|
|
229
232
|
|
|
230
233
|
rubyforge_project: refinerycms
|
|
231
|
-
rubygems_version: 1.8.
|
|
234
|
+
rubygems_version: 1.8.17
|
|
232
235
|
signing_key:
|
|
233
236
|
specification_version: 3
|
|
234
237
|
summary: Pages engine for Refinery CMS
|
|
235
238
|
test_files: []
|
|
236
239
|
|
|
240
|
+
has_rdoc:
|