refinerycms-pages 2.0.9 → 2.0.10
Sign up to get free protection for your applications and to get access to all the features.
- 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
|