refinerycms-pages 2.0.9 → 2.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.
- checksums.yaml +7 -0
- data/app/controllers/refinery/admin/pages_controller.rb +4 -15
- data/app/controllers/refinery/admin/pages_dialogs_controller.rb +7 -4
- data/app/models/refinery/page.rb +20 -3
- data/app/views/refinery/admin/pages/_form.html.erb +3 -3
- data/app/views/refinery/admin/pages/_form_page_parts.html.erb +0 -1
- data/app/views/refinery/admin/pages/_locale_picker.html.erb +1 -1
- data/app/views/refinery/admin/pages/_page.html.erb +4 -4
- data/lib/generators/refinery/pages/pages_generator.rb +9 -1
- data/license.md +1 -1
- data/spec/lib/generators/refinery/pages/pages_generator_spec.rb +1 -1
- metadata +11 -27
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: afa1108c7b18ea0168413156287b4dbc685b6a97
|
|
4
|
+
data.tar.gz: e24e4cc3c8d1b35b51474e7d4ff1e2e78ae0506d
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 31fbc30c1a4666743cde7cbbd4d1ac9f7ebc9127504a11bdec22d93854f112a20c9706c5bed4a3222ef4762c2c64b3fea0369ab7b667e2a833cbd130ea2b4ca6
|
|
7
|
+
data.tar.gz: 0d920af2461126b770741dac6a9d0aee9afb71ced6d3cef20888f725fc94a2786702c1052b04b13338ce653f6bf5961e05538946362050263dd90d98fa2456d8
|
|
@@ -74,21 +74,10 @@ module Refinery
|
|
|
74
74
|
# We can safely assume ::Refinery::I18n is defined because this method only gets
|
|
75
75
|
# Invoked when the before_filter from the plugin is run.
|
|
76
76
|
def globalize!
|
|
77
|
-
unless action_name.to_s == 'index'
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
# # Check whether we need to override e.g. on the pages form.
|
|
82
|
-
# unless params[:switch_locale] || @page.nil? || @page.new_record? || @page.slugs.where({
|
|
83
|
-
# :locale => Refinery::I18n.current_locale
|
|
84
|
-
# }).empty?
|
|
85
|
-
# @page.slug = @page.slugs.first if @page.slug.nil? && @page.slugs.any?
|
|
86
|
-
# Thread.current[:globalize_locale] = @page.slug.locale if @page.slug
|
|
87
|
-
# end
|
|
88
|
-
else
|
|
89
|
-
# Always display the tree of pages from the default frontend locale.
|
|
90
|
-
Thread.current[:globalize_locale] = params[:switch_locale].try(:to_sym) || Refinery::I18n.default_frontend_locale
|
|
91
|
-
end
|
|
77
|
+
return super unless action_name.to_s == 'index'
|
|
78
|
+
|
|
79
|
+
# Always display the tree of pages from the default frontend locale.
|
|
80
|
+
Globalize.locale = params[:switch_locale].try(:to_sym) || Refinery::I18n.default_frontend_locale
|
|
92
81
|
end
|
|
93
82
|
|
|
94
83
|
def load_valid_templates
|
|
@@ -62,15 +62,18 @@ module Refinery
|
|
|
62
62
|
url.host = URI.parse(request.url).host
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
-
result =
|
|
66
|
-
|
|
65
|
+
result = case Net::HTTP.get_response(url)
|
|
66
|
+
when Net::HTTPSuccess, Net::HTTPRedirection
|
|
67
|
+
'success'
|
|
68
|
+
end
|
|
69
|
+
|
|
67
70
|
end
|
|
68
71
|
end
|
|
69
72
|
|
|
70
73
|
rescue
|
|
71
|
-
#
|
|
74
|
+
# be quiet
|
|
72
75
|
end
|
|
73
|
-
|
|
76
|
+
|
|
74
77
|
render :json => {:result => result}
|
|
75
78
|
end
|
|
76
79
|
|
data/app/models/refinery/page.rb
CHANGED
|
@@ -14,7 +14,7 @@ module Refinery
|
|
|
14
14
|
|
|
15
15
|
class Translation
|
|
16
16
|
is_seo_meta
|
|
17
|
-
attr_accessible :browser_title, :meta_description, :meta_keywords
|
|
17
|
+
attr_accessible :browser_title, :meta_description, :meta_keywords
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
attr_accessible :title
|
|
@@ -188,6 +188,10 @@ module Refinery
|
|
|
188
188
|
end
|
|
189
189
|
end
|
|
190
190
|
|
|
191
|
+
def translated_to_default_locale?
|
|
192
|
+
persisted? && (!Refinery.i18n_enabled? || translations.where(:locale => Refinery::I18n.default_frontend_locale).any?)
|
|
193
|
+
end
|
|
194
|
+
|
|
191
195
|
# The canonical page for this particular page.
|
|
192
196
|
# Consists of:
|
|
193
197
|
# * The default locale's translated slug
|
|
@@ -316,7 +320,10 @@ module Refinery
|
|
|
316
320
|
end
|
|
317
321
|
|
|
318
322
|
def uncached_nested_url
|
|
319
|
-
[
|
|
323
|
+
[
|
|
324
|
+
parent.try(:uncached_nested_url),
|
|
325
|
+
Globalize.with_locale(slug_locale) { to_param.to_s }
|
|
326
|
+
].compact.flatten
|
|
320
327
|
end
|
|
321
328
|
|
|
322
329
|
# Returns an array with all ancestors to_param, allow with its own
|
|
@@ -438,7 +445,7 @@ module Refinery
|
|
|
438
445
|
# Make sures that a translation exists for this page.
|
|
439
446
|
# The translation is set to the default frontend locale.
|
|
440
447
|
def ensure_locale
|
|
441
|
-
|
|
448
|
+
if self.translations.empty?
|
|
442
449
|
self.translations.build :locale => ::Refinery::I18n.default_frontend_locale
|
|
443
450
|
end
|
|
444
451
|
end
|
|
@@ -446,5 +453,15 @@ module Refinery
|
|
|
446
453
|
def expire_page_caching
|
|
447
454
|
self.class.expire_page_caching
|
|
448
455
|
end
|
|
456
|
+
|
|
457
|
+
def slug_locale
|
|
458
|
+
return Globalize.locale if translation_for(Globalize.locale).try(:slug).present?
|
|
459
|
+
|
|
460
|
+
if Refinery.i18n_enabled? && (translations.empty? || translation_for(Refinery::I18n.default_frontend_locale).present?)
|
|
461
|
+
Refinery::I18n.default_frontend_locale
|
|
462
|
+
else
|
|
463
|
+
translations.first.locale
|
|
464
|
+
end
|
|
465
|
+
end
|
|
449
466
|
end
|
|
450
467
|
end
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
<%= form_for [refinery, :admin, @page],
|
|
2
|
-
:url => (refinery.admin_page_path(@page.uncached_nested_url) if @page.persisted?) do |f| %>
|
|
1
|
+
<%= form_for [refinery, :admin, @page], :url => (refinery.admin_page_path(@page.nested_url) if @page.persisted?) do |f| %>
|
|
3
2
|
|
|
4
3
|
<%= render '/refinery/admin/error_messages', :object => @page, :include_object_name => true %>
|
|
5
4
|
|
|
@@ -29,7 +28,8 @@
|
|
|
29
28
|
:name => nil,
|
|
30
29
|
:class => "wymupdate button",
|
|
31
30
|
:tooltip => t('.preview_changes')
|
|
32
|
-
)
|
|
31
|
+
),
|
|
32
|
+
:cancel_url => refinery.admin_pages_path %>
|
|
33
33
|
|
|
34
34
|
<%= render 'form_new_page_parts', :f => f if Refinery::Pages.new_page_parts %>
|
|
35
35
|
<% end %>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<% locales.each do |locale| %>
|
|
5
5
|
<li<%= " class='selected'".html_safe if locale.to_s == local_assigns[:current_locale].to_s %>>
|
|
6
6
|
<%= link_to refinery_icon_tag("flags/#{locale}.png", :size => "32x22"),
|
|
7
|
-
refinery.url_for(:switch_locale => locale) %>
|
|
7
|
+
refinery.url_for(params.merge(:switch_locale => locale)) %>
|
|
8
8
|
</li>
|
|
9
9
|
<% end %>
|
|
10
10
|
</ul>
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
<%= page_title_with_translations page %>
|
|
11
11
|
<%= page_meta_information page %>
|
|
12
12
|
</span>
|
|
13
|
-
<% if Refinery.i18n_enabled?
|
|
13
|
+
<% if Refinery.i18n_enabled? && Refinery::I18n.frontend_locales.many? %>
|
|
14
14
|
<span class='locales'>
|
|
15
|
-
<% page.translations.each do |translation| %>
|
|
15
|
+
<% page.translations.sort_by{|t| Refinery::I18n.frontend_locales.index(t.locale)}.each do |translation| %>
|
|
16
16
|
<%= link_to refinery_icon_tag("flags/#{translation.locale}.png", :size => '16x11'),
|
|
17
17
|
refinery.edit_admin_page_path(page.nested_url, :switch_locale => translation.locale),
|
|
18
|
-
:class => 'locale'
|
|
18
|
+
:class => 'locale' %>
|
|
19
19
|
<% end %>
|
|
20
20
|
</span>
|
|
21
21
|
<% end %>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
:title => t('new', :scope => 'refinery.admin.pages') %>
|
|
31
31
|
|
|
32
32
|
<%= link_to refinery_icon_tag('application_edit.png'),
|
|
33
|
-
refinery.edit_admin_page_path(page.uncached_nested_url),
|
|
33
|
+
refinery.edit_admin_page_path(page.uncached_nested_url, :switch_locale => (page.translations.first.locale unless page.translated_to_default_locale?)),
|
|
34
34
|
:title => t('edit', :scope => 'refinery.admin.pages') %>
|
|
35
35
|
|
|
36
36
|
<%= link_to refinery_icon_tag('delete.png'),
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
module Refinery
|
|
2
2
|
class PagesGenerator < Rails::Generators::Base
|
|
3
|
+
class_option :skip_migrations, :type => :boolean, :default => false, :aliases => nil, :group => :runtime,
|
|
4
|
+
:desc => "Skip over installing or running migrations."
|
|
5
|
+
|
|
3
6
|
source_root File.expand_path('../templates', __FILE__)
|
|
4
7
|
|
|
8
|
+
def rake_db
|
|
9
|
+
rake "refinery_pages:install:migrations" unless self.options[:skip_migrations]
|
|
10
|
+
end
|
|
11
|
+
|
|
5
12
|
def generate_pages_initializer
|
|
6
|
-
template "config/initializers/refinery/pages.rb.erb",
|
|
13
|
+
template "config/initializers/refinery/pages.rb.erb",
|
|
14
|
+
File.join(destination_root, "config", "initializers", "refinery", "pages.rb")
|
|
7
15
|
end
|
|
8
16
|
|
|
9
17
|
def append_load_seed_data
|
data/license.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2005-
|
|
3
|
+
Copyright (c) 2005-2013 [Resolve Digital](http://www.resolvedigital.com)
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
metadata
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: refinerycms-pages
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 2.0.10
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Philip Arndt
|
|
@@ -11,12 +10,11 @@ authors:
|
|
|
11
10
|
autorequire:
|
|
12
11
|
bindir: bin
|
|
13
12
|
cert_chain: []
|
|
14
|
-
date:
|
|
13
|
+
date: 2013-03-14 00:00:00.000000000 Z
|
|
15
14
|
dependencies:
|
|
16
15
|
- !ruby/object:Gem::Dependency
|
|
17
16
|
name: awesome_nested_set
|
|
18
17
|
requirement: !ruby/object:Gem::Requirement
|
|
19
|
-
none: false
|
|
20
18
|
requirements:
|
|
21
19
|
- - ~>
|
|
22
20
|
- !ruby/object:Gem::Version
|
|
@@ -24,7 +22,6 @@ dependencies:
|
|
|
24
22
|
type: :runtime
|
|
25
23
|
prerelease: false
|
|
26
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
27
|
-
none: false
|
|
28
25
|
requirements:
|
|
29
26
|
- - ~>
|
|
30
27
|
- !ruby/object:Gem::Version
|
|
@@ -32,7 +29,6 @@ dependencies:
|
|
|
32
29
|
- !ruby/object:Gem::Dependency
|
|
33
30
|
name: seo_meta
|
|
34
31
|
requirement: !ruby/object:Gem::Requirement
|
|
35
|
-
none: false
|
|
36
32
|
requirements:
|
|
37
33
|
- - ~>
|
|
38
34
|
- !ruby/object:Gem::Version
|
|
@@ -40,7 +36,6 @@ dependencies:
|
|
|
40
36
|
type: :runtime
|
|
41
37
|
prerelease: false
|
|
42
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
43
|
-
none: false
|
|
44
39
|
requirements:
|
|
45
40
|
- - ~>
|
|
46
41
|
- !ruby/object:Gem::Version
|
|
@@ -48,33 +43,29 @@ dependencies:
|
|
|
48
43
|
- !ruby/object:Gem::Dependency
|
|
49
44
|
name: refinerycms-core
|
|
50
45
|
requirement: !ruby/object:Gem::Requirement
|
|
51
|
-
none: false
|
|
52
46
|
requirements:
|
|
53
47
|
- - '='
|
|
54
48
|
- !ruby/object:Gem::Version
|
|
55
|
-
version: 2.0.
|
|
49
|
+
version: 2.0.10
|
|
56
50
|
type: :runtime
|
|
57
51
|
prerelease: false
|
|
58
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
59
|
-
none: false
|
|
60
53
|
requirements:
|
|
61
54
|
- - '='
|
|
62
55
|
- !ruby/object:Gem::Version
|
|
63
|
-
version: 2.0.
|
|
56
|
+
version: 2.0.10
|
|
64
57
|
- !ruby/object:Gem::Dependency
|
|
65
58
|
name: babosa
|
|
66
59
|
requirement: !ruby/object:Gem::Requirement
|
|
67
|
-
none: false
|
|
68
60
|
requirements:
|
|
69
|
-
- -
|
|
61
|
+
- - '!='
|
|
70
62
|
- !ruby/object:Gem::Version
|
|
71
63
|
version: 0.3.6
|
|
72
64
|
type: :runtime
|
|
73
65
|
prerelease: false
|
|
74
66
|
version_requirements: !ruby/object:Gem::Requirement
|
|
75
|
-
none: false
|
|
76
67
|
requirements:
|
|
77
|
-
- -
|
|
68
|
+
- - '!='
|
|
78
69
|
- !ruby/object:Gem::Version
|
|
79
70
|
version: 0.3.6
|
|
80
71
|
description: The default content extension of Refinery CMS. This extension handles
|
|
@@ -184,33 +175,26 @@ files:
|
|
|
184
175
|
homepage: http://refinerycms.com
|
|
185
176
|
licenses:
|
|
186
177
|
- MIT
|
|
178
|
+
metadata: {}
|
|
187
179
|
post_install_message:
|
|
188
180
|
rdoc_options: []
|
|
189
181
|
require_paths:
|
|
190
182
|
- lib
|
|
191
183
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
192
|
-
none: false
|
|
193
184
|
requirements:
|
|
194
|
-
- -
|
|
185
|
+
- - '>='
|
|
195
186
|
- !ruby/object:Gem::Version
|
|
196
187
|
version: '0'
|
|
197
|
-
segments:
|
|
198
|
-
- 0
|
|
199
|
-
hash: 2294357088628806628
|
|
200
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
|
-
none: false
|
|
202
189
|
requirements:
|
|
203
|
-
- -
|
|
190
|
+
- - '>='
|
|
204
191
|
- !ruby/object:Gem::Version
|
|
205
192
|
version: '0'
|
|
206
|
-
segments:
|
|
207
|
-
- 0
|
|
208
|
-
hash: 2294357088628806628
|
|
209
193
|
requirements: []
|
|
210
194
|
rubyforge_project: refinerycms
|
|
211
|
-
rubygems_version:
|
|
195
|
+
rubygems_version: 2.0.3
|
|
212
196
|
signing_key:
|
|
213
|
-
specification_version:
|
|
197
|
+
specification_version: 4
|
|
214
198
|
summary: Pages extension for Refinery CMS
|
|
215
199
|
test_files:
|
|
216
200
|
- spec/controllers/refinery/admin/pages_controller_spec.rb
|