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 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