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 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
- super
79
-
80
- # Needs to take into account that slugs are translated now
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 = 'success' if [Net::HTTPSuccess, Net::HTTPRedirection].
66
- include? Net::HTTP.get_response(url)
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
- # the result is already set to failure.
74
+ # be quiet
72
75
  end
73
-
76
+
74
77
  render :json => {:result => result}
75
78
  end
76
79
 
@@ -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, :locale
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
- [parent.try(:uncached_nested_url), to_param.to_s].compact.flatten
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
- unless self.translations.present?
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 %>
@@ -21,7 +21,6 @@
21
21
  :name => t('.delete_content_section'),
22
22
  :id => 'delete_page_part' %>
23
23
  </li>
24
- <li>
25
24
  </ul>
26
25
  <% end %>
27
26
  <div id='page-tabs' class='clearfix ui-tabs ui-widget ui-widget-content ui-corner-all'>
@@ -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? and Refinery::I18n.frontend_locales.many? %>
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' if translation.title.present? %>
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", File.join(destination_root, "config", "initializers", "refinery", "pages.rb")
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-2012 [Resolve Digital](http://www.resolvedigital.com)
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
@@ -9,7 +9,7 @@ module Refinery
9
9
 
10
10
  before do
11
11
  prepare_destination
12
- run_generator
12
+ run_generator %w[--skip-migrations]
13
13
  end
14
14
 
15
15
  specify do
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.9
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: 2012-11-21 00:00:00.000000000 Z
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.9
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.9
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: 1.8.24
195
+ rubygems_version: 2.0.3
212
196
  signing_key:
213
- specification_version: 3
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