locomotivecms 3.2.1 → 3.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +5 -6
  3. data/LICENSE +1 -1
  4. data/README.md +2 -2
  5. data/app/api/locomotive/api.rb +1 -0
  6. data/app/api/locomotive/api/entities/content_entry_entity.rb +4 -0
  7. data/app/api/locomotive/api/forms/page_form.rb +10 -0
  8. data/app/api/locomotive/api/resources/page_resource.rb +2 -0
  9. data/app/api/locomotive/api/resources/url_redirection_resource.rb +69 -0
  10. data/app/assets/images/locomotive/icons/flags/da.png +0 -0
  11. data/app/assets/images/locomotive/icons/flags/el.png +0 -0
  12. data/app/assets/images/locomotive/icons/flags/fa-IR.png +0 -0
  13. data/app/assets/images/locomotive/icons/flags/fi-FI.png +0 -0
  14. data/app/assets/images/locomotive/icons/flags/{ja.png → ja-JP.png} +0 -0
  15. data/app/assets/images/locomotive/icons/flags/{pl.png → pl-PL.png} +0 -0
  16. data/app/assets/images/locomotive/icons/flags/uk.png +0 -0
  17. data/app/assets/javascripts/locomotive/views/inputs/markdown_view.js.coffee +6 -2
  18. data/app/assets/javascripts/locomotive/views/inputs/rte/link_view.js.coffee +1 -1
  19. data/app/assets/javascripts/locomotive/views/inputs/rte/table_view.js.coffee +1 -1
  20. data/app/assets/javascripts/locomotive/views/inputs/rte_view.js.coffee.erb +1 -1
  21. data/app/assets/stylesheets/locomotive/new/_flags.scss.erb +2 -1
  22. data/app/assets/stylesheets/locomotive/old/form/_popover.scss +0 -4
  23. data/app/controllers/locomotive/concerns/redirect_to_main_host_controller.rb +1 -1
  24. data/app/controllers/locomotive/current_site_controller.rb +4 -1
  25. data/app/controllers/locomotive/errors_controller.rb +2 -0
  26. data/app/controllers/locomotive/passwords_controller.rb +5 -1
  27. data/app/controllers/locomotive/registrations_controller.rb +6 -0
  28. data/app/controllers/locomotive/sessions_controller.rb +5 -1
  29. data/app/helpers/locomotive/base_helper.rb +18 -0
  30. data/app/helpers/locomotive/custom_fields_helper.rb +14 -0
  31. data/app/helpers/locomotive/shared/pages_helper.rb +4 -0
  32. data/app/helpers/locomotive/sites_helper.rb +4 -4
  33. data/app/models/locomotive/concerns/page/redirect.rb +1 -1
  34. data/app/models/locomotive/concerns/site/locales.rb +3 -4
  35. data/app/models/locomotive/concerns/site/url_redirections.rb +47 -1
  36. data/app/models/locomotive/page.rb +10 -5
  37. data/app/policies/locomotive/page_policy.rb +4 -0
  38. data/app/uploaders/locomotive/theme_asset_uploader.rb +1 -1
  39. data/app/views/locomotive/current_site/_url_redirection.html.slim +9 -5
  40. data/app/views/locomotive/current_site/form/_url_redirections.html.slim +1 -1
  41. data/app/views/locomotive/layouts/account.html.slim +1 -1
  42. data/app/views/locomotive/layouts/error.html.slim +2 -2
  43. data/app/views/locomotive/passwords/edit.html.slim +1 -1
  44. data/app/views/locomotive/passwords/new.html.slim +1 -1
  45. data/app/views/locomotive/registrations/new.html.slim +1 -1
  46. data/app/views/locomotive/sessions/new.html.slim +2 -2
  47. data/app/views/locomotive/shared/_account_navigation.slim +1 -1
  48. data/app/views/locomotive/shared/_sidebar.html.slim +1 -1
  49. data/app/views/locomotive/shared/sidebar/_page.html.slim +25 -24
  50. data/config/locales/ca.yml +332 -0
  51. data/config/locales/carrierwave.ar.yml +4 -0
  52. data/config/locales/carrierwave.ca.yml +4 -0
  53. data/config/locales/carrierwave.da.yml +4 -0
  54. data/config/locales/carrierwave.fi-FI.yml +4 -0
  55. data/config/locales/carrierwave.it.yml +4 -0
  56. data/config/locales/carrierwave.ja-JP.yml +4 -0
  57. data/config/locales/carrierwave.pl-PL.yml +4 -0
  58. data/config/locales/carrierwave.ru.yml +1 -1
  59. data/config/locales/carrierwave.sv-FI.yml +4 -0
  60. data/config/locales/cs.yml +14 -0
  61. data/config/locales/de.yml +64 -60
  62. data/config/locales/default.ca.yml +13 -0
  63. data/config/locales/default.da.yml +13 -0
  64. data/config/locales/default.de.yml +1 -1
  65. data/config/locales/default.fa_IR.yml +13 -0
  66. data/config/locales/default.fi-FI.yml +13 -0
  67. data/config/locales/default.ja-JP.yml +13 -0
  68. data/config/locales/default.pl-PL.yml +13 -0
  69. data/config/locales/default.sv-FI.yml +13 -0
  70. data/config/locales/devise.ca.yml +61 -0
  71. data/config/locales/devise.da.yml +60 -0
  72. data/config/locales/devise.de.yml +23 -23
  73. data/config/locales/devise.en.yml +6 -5
  74. data/config/locales/devise.fi-FI.yml +61 -0
  75. data/config/locales/devise.fr.yml +6 -4
  76. data/config/locales/devise.it.yml +61 -0
  77. data/config/locales/devise.ja-JP.yml +61 -0
  78. data/config/locales/devise.pl-PL.yml +61 -0
  79. data/config/locales/devise.ru.yml +35 -35
  80. data/config/locales/devise.sv-FI.yml +61 -0
  81. data/config/locales/el.yml +14 -0
  82. data/config/locales/en.yml +7 -0
  83. data/config/locales/flash.ca.yml +82 -0
  84. data/config/locales/flash.cs.yml +3 -0
  85. data/config/locales/flash.da.yml +79 -0
  86. data/config/locales/flash.de.yml +19 -16
  87. data/config/locales/flash.el.yml +3 -0
  88. data/config/locales/flash.ja-JP.yml +82 -0
  89. data/config/locales/flash.pl-PL.yml +82 -0
  90. data/config/locales/flash.sv-FI.yml +82 -0
  91. data/config/locales/fr.yml +5 -1
  92. data/config/locales/inputs.ca.yml +19 -0
  93. data/config/locales/inputs.da.yml +18 -0
  94. data/config/locales/inputs.fa_IR.yml +18 -0
  95. data/config/locales/inputs.fi-FI.yml +19 -0
  96. data/config/locales/inputs.ja-JP.yml +19 -0
  97. data/config/locales/inputs.pl-PL.yml +19 -0
  98. data/config/locales/inputs.sv-FI.yml +19 -0
  99. data/config/locales/ja-JP.yml +332 -0
  100. data/config/locales/mongoid.ca.yml +47 -0
  101. data/config/locales/mongoid.da.yml +47 -0
  102. data/config/locales/mongoid.de.yml +15 -6
  103. data/config/locales/mongoid.fa_IR.yml +41 -0
  104. data/config/locales/mongoid.ja-JP.yml +47 -0
  105. data/config/locales/mongoid.pl-PL.yml +47 -0
  106. data/config/locales/mongoid.sv-FI.yml +47 -0
  107. data/config/locales/nl.yml +4 -0
  108. data/config/locales/pl-PL.yml +332 -0
  109. data/config/locales/ru.yml +74 -74
  110. data/config/locales/simple_form.ca.yml +153 -0
  111. data/config/locales/simple_form.cs.yml +1 -0
  112. data/config/locales/simple_form.de.yml +45 -33
  113. data/config/locales/simple_form.el.yml +1 -0
  114. data/config/locales/simple_form.fi-FI.yml +153 -0
  115. data/config/locales/simple_form.ja-JP.yml +153 -0
  116. data/config/locales/simple_form.pl-PL.yml +153 -0
  117. data/config/locales/simple_form.ru.yml +8 -8
  118. data/config/locales/simple_form.sv-FI.yml +153 -0
  119. data/config/locales/sv-FI.yml +332 -0
  120. data/lib/locomotive/configuration.rb +1 -1
  121. data/lib/locomotive/dragonfly.rb +6 -4
  122. data/lib/locomotive/engine.rb +6 -0
  123. data/lib/locomotive/middlewares/site.rb +3 -1
  124. data/lib/locomotive/mongoid/patches.rb +9 -28
  125. data/lib/locomotive/steam/middlewares/wysihtml_css.rb +1 -1
  126. data/lib/locomotive/version.rb +1 -1
  127. data/spec/models/locomotive/concerns/site/metafields_spec.rb +1 -1
  128. data/spec/models/locomotive/concerns/site/url_redirections_spec.rb +62 -2
  129. data/spec/models/locomotive/content_entry_spec.rb +4 -4
  130. data/spec/models/locomotive/page_spec.rb +25 -10
  131. data/spec/models/locomotive/site_spec.rb +2 -0
  132. data/spec/requests/locomotive/steam/cache_spec.rb +1 -1
  133. data/spec/support/factories.rb +1 -0
  134. data/vendor/assets/javascripts/locomotive/datepicker_i18n.js.erb +12 -6
  135. data/vendor/assets/javascripts/locomotive/wysihtml5x-toolbar.js +24 -27
  136. metadata +102 -89
@@ -1,7 +1,7 @@
1
1
  module Locomotive
2
2
  class Configuration
3
3
 
4
- @@default_locales = %w{en de fr pl pt pt-BR it nl nb es ru et lt ja zh-CN cs bg sk sr sv}
4
+ @@default_locales = %w{en de fr bg ca cs da el es et fa-IR fi-FI it ja-JP lt nb nl pl-PL pt pt-BR ru sk sr sv sv-FI uk zh-CN}
5
5
 
6
6
  @@defaults = {
7
7
  name: 'Locomotive',
@@ -25,7 +25,7 @@ module Locomotive
25
25
  if source.is_a?(String) || source.is_a?(Hash) # simple string or drop
26
26
  source = source['url'] if source.is_a?(Hash)
27
27
 
28
- clean_source!(source)
28
+ source = clean_source(source)
29
29
 
30
30
  if source =~ /^http/
31
31
  file = self.app.fetch_url(source)
@@ -50,12 +50,14 @@ module Locomotive
50
50
 
51
51
  protected
52
52
 
53
- def self.clean_source!(source)
53
+ def self.clean_source(source)
54
54
  # remove the leading / trailing whitespaces
55
- source.strip!
55
+ _source = source.strip
56
56
 
57
57
  # remove the query part (usually, timestamp) if local file
58
- source.sub!(/(\?.*)$/, '') unless source =~ /^http/
58
+ _source = _source.sub(/(\?.*)$/, '') unless _source =~ /^http/
59
+
60
+ _source
59
61
  end
60
62
 
61
63
  end
@@ -75,6 +75,12 @@ module Locomotive
75
75
  app.config.i18n.available_locales = Locomotive.config.locales
76
76
  end
77
77
 
78
+ initializer 'locomotive.notifications' do
79
+ ActiveSupport::Notifications.subscribe('steam.serve.url_redirection') do |name, start, finish, id, payload|
80
+ Locomotive::Site.inc_url_redirection_counter(payload[:site_id], payload[:url])
81
+ end
82
+ end
83
+
78
84
  initializer 'steam' do |app|
79
85
  require 'locomotive/steam_adaptor'
80
86
  end
@@ -117,7 +117,9 @@ module Locomotive
117
117
  end
118
118
 
119
119
  def default_host?(request)
120
- (default_host && request.host == default_host) || localhost?(request)
120
+ request.env['locomotive.default_host'].present? ||
121
+ (default_host && request.host == default_host) ||
122
+ localhost?(request)
121
123
  end
122
124
 
123
125
  def localhost?(request)
@@ -163,17 +163,6 @@ module Mongoid #:nodoc:
163
163
  end
164
164
  end
165
165
 
166
- # without callback feature
167
- # module Callbacks #:nodoc:
168
- # module ClassMethods #:nodoc:
169
- # def without_callback(*args, &block)
170
- # skip_callback(*args)
171
- # yield
172
- # set_callback(*args)
173
- # end
174
- # end
175
- # end
176
-
177
166
  # make the validators work with localized field
178
167
  module Validatable #:nodoc:
179
168
 
@@ -189,31 +178,23 @@ module Mongoid #:nodoc:
189
178
 
190
179
  module LocalizedEachValidator
191
180
 
192
- # Performs validation on the supplied record. By default this will call
193
- # +validates_each+ to determine validity therefore subclasses should
194
- # override +validates_each+ with validation logic.
195
- def validate(record)
196
- attributes.each do |attribute|
197
- field = record.fields[attribute.to_s]
198
-
199
- # make sure that we use the localized value and not the translations when we test the allow_nil and allow_blank options
200
- value = field.try(:localized?) ? record.send(attribute.to_sym) : record.read_attribute_for_validation(attribute)
201
-
202
- next if (value.nil? && options[:allow_nil]) || (value.blank? && options[:allow_blank])
203
-
204
- # use the translations of the localized field for the next part
205
- value = record.read_attribute_for_validation(attribute) if field.try(:localized?)
206
-
207
- validate_each(record, attribute, value)
181
+ def validate_each(document, attribute, value)
182
+ # validate the value only in the current locale
183
+ if (field = document.fields[document.database_field_name(attribute)]).try(:localized?)
184
+ value = value.try(:slice, ::Mongoid::Fields::I18n.locale.to_s)
208
185
  end
186
+
187
+ super(document, attribute, value)
209
188
  end
210
189
 
211
190
  end
212
191
 
213
- [FormatValidator, LengthValidator, PresenceValidator, UniquenessValidator, ExclusionValidator].each do |klass|
192
+ [FormatValidator, LengthValidator, UniquenessValidator, ExclusionValidator].each do |klass|
214
193
  klass.send(:include, LocalizedEachValidator)
215
194
  end
216
195
 
196
+ # PresenceValidator defines its own validate_each method
197
+ PresenceValidator.send(:prepend, LocalizedEachValidator)
217
198
  end
218
199
 
219
200
  end
@@ -12,7 +12,7 @@ module Locomotive
12
12
  status, headers, response = @app.call(env)
13
13
 
14
14
  if content?(env['steam.page'], response)
15
- url = ::ActionController::Base.helpers.stylesheet_url('locomotive/wysihtml5_editor')
15
+ url = ::ActionController::Base.helpers.stylesheet_path('locomotive/wysihtml5_editor')
16
16
  html = %(<link rel="stylesheet" type="text/css" href="#{url}">)
17
17
  response.first.gsub!('</head>', %(#{html}</head>))
18
18
  end
@@ -2,5 +2,5 @@
2
2
  # MAJOR.MINOR.PATCH format.
3
3
  # 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0
4
4
  module Locomotive #:nodoc
5
- VERSION = '3.2.1'
5
+ VERSION = '3.3.0.rc1'
6
6
  end
@@ -62,7 +62,7 @@ describe Locomotive::Concerns::Site::Metafields do
62
62
  context 'protected field names' do
63
63
 
64
64
  let(:schema) { [{ 'label' => 'Social', 'fields' => [{ 'name' => 'method_missing', 'type' => 'string' }] }] }
65
- it { is_expected.to eq(["The property '#/0/fields/0/name' of type String matched the disallowed schema"]) }
65
+ it { is_expected.to eq(["The property '#/0/fields/0/name' of type string matched the disallowed schema"]) }
66
66
 
67
67
  end
68
68
 
@@ -2,8 +2,9 @@ require 'spec_helper'
2
2
 
3
3
  describe Locomotive::Concerns::Site::UrlRedirections do
4
4
 
5
- let(:redirections) { {} }
6
- let(:site) { build(:site, url_redirections: redirections) }
5
+ let(:redirections) { [] }
6
+ let(:redirections_information) { {} }
7
+ let(:site) { build(:site, url_redirections: redirections, url_redirections_information: redirections_information) }
7
8
 
8
9
  describe '#url_redirections=' do
9
10
 
@@ -39,4 +40,63 @@ describe Locomotive::Concerns::Site::UrlRedirections do
39
40
 
40
41
  end
41
42
 
43
+ describe '.inc_url_redirection_counter' do
44
+
45
+ let(:redirections) { ['/foo', '/bar'] }
46
+ let(:url) { '/foo' }
47
+
48
+ subject { site.reload.url_redirections_information['1effb2475fcfba4f9e8b8a1dbc8f3caf'] }
49
+
50
+ before { site.save; Locomotive::Site.inc_url_redirection_counter(site._id, url) }
51
+
52
+ it { is_expected.to eq('counter' => 1) }
53
+
54
+ end
55
+
56
+ describe '#url_redirections_with_information' do
57
+
58
+ let(:redirections) { ['/about', '/about-us'] }
59
+ let(:redirections_information) { { '77102f70526b1c2db0eced54632dc618' => { 'hidden' => true, 'counter' => 42 } } }
60
+
61
+ subject { site.url_redirections_with_information }
62
+
63
+ it { is_expected.to eq([{ 'source' => '/about', 'target' => '/about-us', 'hidden' => true, 'counter' => 42 }]) }
64
+
65
+ end
66
+
67
+ describe '#add_or_update_url_redirection' do
68
+
69
+ before { site.add_or_update_url_redirection('about', '/about-us', 'hidden' => true) }
70
+
71
+ it 'adds an url direction' do
72
+ expect(site.url_redirections).to eq([['/about', '/about-us']])
73
+ expect(site.url_redirections_information).to eq('77102f70526b1c2db0eced54632dc618' => { 'hidden' => true })
74
+ end
75
+
76
+ context 'the redirection exists' do
77
+
78
+ let(:redirections) { ['/about', '/old/about-us'] }
79
+
80
+ it 'updates the url direction' do
81
+ expect(site.url_redirections).to eq([['/about', '/about-us']])
82
+ expect(site.url_redirections_information).to eq('77102f70526b1c2db0eced54632dc618' => { 'hidden' => true })
83
+ end
84
+
85
+ end
86
+
87
+ end
88
+
89
+ describe '#remove_url_redirection' do
90
+
91
+ let(:redirections) { ['/about', '/about-us'] }
92
+
93
+ before { site.remove_url_redirection('about') }
94
+
95
+ it 'removes the url direction' do
96
+ expect(site.url_redirections).to eq([])
97
+ expect(site.url_redirections_information).to eq({})
98
+ end
99
+
100
+ end
101
+
42
102
  end
@@ -388,12 +388,12 @@ describe Locomotive::ContentEntry do
388
388
 
389
389
  end
390
390
 
391
- # it_should_behave_like 'model scoped by a site' do
391
+ it_should_behave_like 'model scoped by a site' do
392
392
 
393
- # let(:model) { build_content_entry }
394
- # let(:attribute) { :content_version }
393
+ let(:model) { build_content_entry }
394
+ let(:attribute) { :content_version }
395
395
 
396
- # end
396
+ end
397
397
 
398
398
  def localize_content_type(content_type)
399
399
  content_type.entries_custom_fields.first.localized = true
@@ -392,25 +392,40 @@ describe Locomotive::Page do
392
392
 
393
393
  describe 'redirect extension' do
394
394
 
395
- before(:each) do
396
- @page = build(:page, site: nil, redirect: true, redirect_url: 'http://www.google.com/')
397
- end
395
+ let(:site) { nil }
396
+ let(:page) { build(:page, site: site, redirect: true, redirect_url: 'http://www.google.com/') }
398
397
 
399
398
  it 'is considered as a redirect page' do
400
- expect(@page.redirect?).to eq(true)
399
+ expect(page.redirect?).to eq(true)
401
400
  end
402
401
 
403
402
  it 'validates the redirect_url if redirect is set' do
404
- @page.redirect_url = nil
405
- expect(@page).to_not be_valid
406
- expect(@page.errors[:redirect_url]).to eq(["can't be blank"])
403
+ page.redirect_url = nil
404
+ expect(page).to_not be_valid
405
+ expect(page.errors[:redirect_url]).to eq(["can't be blank"])
407
406
  end
408
407
 
409
408
  it 'should validate format of redirect_url' do
410
- @page.redirect_url = "invalid url with spaces"
411
- expect(@page).to_not be_valid
412
- expect(@page.errors[:redirect_url]).to eq(["is invalid"])
409
+ page.redirect_url = "invalid url with spaces"
410
+ expect(page).to_not be_valid
411
+ expect(page.errors[:redirect_url]).to eq(["is invalid"])
413
412
  end
413
+
414
+ context 'localized site' do
415
+
416
+ let(:site) { create(:site, locales: %w(en fr)) }
417
+
418
+ it 'validates the presence of redirect_url' do
419
+ ::Mongoid::Fields::I18n.locale = :en
420
+ page
421
+ ::Mongoid::Fields::I18n.locale = :fr
422
+ page.redirect_url = nil
423
+ ::Mongoid::Fields::I18n.locale = :en
424
+ expect(page).to be_valid
425
+ end
426
+
427
+ end
428
+
414
429
  end
415
430
 
416
431
  describe 'response type' do
@@ -147,6 +147,8 @@ describe Locomotive::Site do
147
147
  it 'does not allow to remove the default locale' do
148
148
  site.update_attributes locales: %w(fr)
149
149
  expect(site.errors[:locales]).to eq(['The previous default locale can not be removed right away.'])
150
+ site.update_attributes locales: [:en]
151
+ expect(site.errors[:locales]).to eq []
150
152
  end
151
153
 
152
154
  end
@@ -39,7 +39,7 @@ describe Locomotive::Steam::Middlewares::Cache do
39
39
 
40
40
  subject { middleware.send(:cache_key, steam_env) }
41
41
 
42
- it { expect(subject).to eq 'cb8743e499136fd491c386a25083aa6d' }
42
+ it { expect(subject).to eq '93a2150e6ee016394b95f1a6944c1f69' }
43
43
 
44
44
  end
45
45
 
@@ -213,6 +213,7 @@ FactoryGirl.define do
213
213
  content_type.entries_custom_fields.build label: 'Duration', name: 'duration', type: 'integer'
214
214
  content_type.entries_custom_fields.build label: 'Tags', name: 'tags', type: 'tags'
215
215
  content_type.entries_custom_fields.build label: 'Price', name: 'price', type: 'money'
216
+ content_type.entries_custom_fields.build label: 'Metadata', name: 'metadata', type: 'json'
216
217
  content_type.entries_custom_fields.build label: 'Archived at', name: 'archived_at', type: 'date'
217
218
  end
218
219
  end
@@ -6,6 +6,12 @@
6
6
  <% I18n.reload! %>
7
7
  <% end %>
8
8
 
9
+ <% default_month_names = [I18n.t('date.month_names', locale: :en)] %>
10
+ <% default_abbr_month_names = [I18n.t('date.abbr_month_names', locale: :en)] %>
11
+ <% default_day_names = [I18n.t('date.day_names', locale: :en)] %>
12
+ <% default_abbr_day_names = [I18n.t('date.abbr_day_names', locale: :en)] %>
13
+ <% default_date_format = [I18n.t('date.formats.default', locale: :en)] %>
14
+
9
15
  jQuery(function($){
10
16
  <% Locomotive.config.locales.each do |locale| %>
11
17
  <% I18n.with_locale(locale) do %>
@@ -14,12 +20,12 @@ jQuery(function($){
14
20
  prevText: '<%= I18n.t('date_picker.prev_text', :default => '&#x3c;Prev') %>',
15
21
  nextText: '<%= I18n.t('date_picker.next_text', :default => 'Next&#x3e;') %>',
16
22
  currentText: '<%= I18n.t('date_picker.current_text', :default => 'Current') %>',
17
- monthNames: [<%= I18n.t('date.month_names').dup.delete_if { |m| m.blank? }.map { |m| "'#{m.capitalize}'" }.join(', ') %>],
18
- monthNamesShort: [<%= I18n.t('date.abbr_month_names').dup.delete_if { |m| m.blank? }.map { |m| "'#{m.capitalize.gsub(/\.$/, '')}'" }.join(', ') %>],
19
- dayNames: [<%= I18n.t('date.day_names').dup.delete_if { |d| d.blank? }.map { |d| "'#{d.capitalize.gsub("'", %q(\\\'))}'" }.join(', ') %>],
20
- dayNamesShort: [<%= I18n.t('date.abbr_day_names').dup.delete_if { |d| d.blank? }.map { |d| "'#{d.capitalize}'" }.join(', ') %>],
21
- dayNamesMin: [<%= I18n.t('date.abbr_day_names').dup.delete_if { |d| d.blank? }.map { |d| "'#{d[0..1].capitalize}'" }.join(', ') %>],
22
- dateFormat: '<%= I18n.t('date.formats.default').gsub('%d', 'dd').gsub('%m', 'mm').gsub('%Y', 'yy') %>',
23
+ monthNames: [<%= I18n.t('date.month_names', default: default_month_names).dup.delete_if { |m| m.blank? }.map { |m| "'#{m.capitalize}'" }.join(', ') %>],
24
+ monthNamesShort: [<%= I18n.t('date.abbr_month_names', default: default_abbr_month_names).dup.delete_if { |m| m.blank? }.map { |m| "'#{m.capitalize.gsub(/\.$/, '')}'" }.join(', ') %>],
25
+ dayNames: [<%= I18n.t('date.day_names', default: default_day_names).dup.delete_if { |d| d.blank? }.map { |d| "'#{d.capitalize.gsub("'", %q(\\\'))}'" }.join(', ') %>],
26
+ dayNamesShort: [<%= I18n.t('date.abbr_day_names', default: default_abbr_day_names).dup.delete_if { |d| d.blank? }.map { |d| "'#{d.capitalize}'" }.join(', ') %>],
27
+ dayNamesMin: [<%= I18n.t('date.abbr_day_names', default: default_abbr_day_names).dup.delete_if { |d| d.blank? }.map { |d| "'#{d[0..1].capitalize}'" }.join(', ') %>],
28
+ dateFormat: '<%= I18n.t('date.formats.default', default: default_date_format).gsub('%d', 'dd').gsub('%m', 'mm').gsub('%Y', 'yy') %>',
23
29
  firstDay: 1,
24
30
  isRTL: false
25
31
  };
@@ -16637,47 +16637,44 @@ wysihtml5.views.View = Base.extend(
16637
16637
  }
16638
16638
  });
16639
16639
  }
16640
-
16641
16640
  dom.observe(this.element, "keydown", function(event) {
16642
16641
  var keyCode = event.keyCode;
16643
16642
 
16644
- if (event.shiftKey) {
16643
+ if (event.ctrlKey || event.defaultPrevented) {
16645
16644
  return;
16646
16645
  }
16647
16646
 
16648
16647
  if (keyCode !== wysihtml5.ENTER_KEY && keyCode !== wysihtml5.BACKSPACE_KEY) {
16649
16648
  return;
16650
16649
  }
16651
- var blockElement = dom.getParentElement(that.selection.getSelectedNode(), { query: USE_NATIVE_LINE_BREAK_INSIDE_TAGS }, 4);
16652
- if (blockElement) {
16653
- setTimeout(function() {
16654
- // Unwrap paragraph after leaving a list or a H1-6
16655
- var selectedNode = that.selection.getSelectedNode(),
16656
- list;
16650
+ if (keyCode === wysihtml5.ENTER_KEY && (that.config.useLineBreaks || event.shiftKey) && !wysihtml5.browser.insertsLineBreaksOnReturn()) {
16651
+ event.preventDefault();
16652
+ that.commands.exec("insertLineBreak");
16653
+ } else {
16654
+ var blockElement = dom.getParentElement(that.selection.getSelectedNode(), { query: USE_NATIVE_LINE_BREAK_INSIDE_TAGS }, 4);
16655
+ if (blockElement) {
16656
+ setTimeout(function() {
16657
+ // Unwrap paragraph after leaving a list or a H1-6
16658
+ var selectedNode = that.selection.getSelectedNode(),
16659
+ list;
16660
+
16661
+ if (blockElement.nodeName === "LI") {
16662
+ if (!selectedNode) {
16663
+ return;
16664
+ }
16657
16665
 
16658
- if (blockElement.nodeName === "LI") {
16659
- if (!selectedNode) {
16660
- return;
16661
- }
16666
+ list = dom.getParentElement(selectedNode, { query: LIST_TAGS }, 2);
16662
16667
 
16663
- list = dom.getParentElement(selectedNode, { query: LIST_TAGS }, 2);
16668
+ if (!list) {
16669
+ adjust(selectedNode);
16670
+ }
16671
+ }
16664
16672
 
16665
- if (!list) {
16673
+ if (keyCode === wysihtml5.ENTER_KEY && blockElement.nodeName.match(/^H[1-6]$/)) {
16666
16674
  adjust(selectedNode);
16667
16675
  }
16668
- }
16669
-
16670
- if (keyCode === wysihtml5.ENTER_KEY && blockElement.nodeName.match(/^H[1-6]$/)) {
16671
- adjust(selectedNode);
16672
- }
16673
- }, 0);
16674
- return;
16675
- }
16676
-
16677
- if (that.config.useLineBreaks && keyCode === wysihtml5.ENTER_KEY && !wysihtml5.browser.insertsLineBreaksOnReturn()) {
16678
- event.preventDefault();
16679
- that.commands.exec("insertLineBreak");
16680
-
16676
+ }, 0);
16677
+ }
16681
16678
  }
16682
16679
  });
16683
16680
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: locomotivecms
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.1
4
+ version: 3.3.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Didier Lafforgue
@@ -16,56 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 10.5.0
19
+ version: 12.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 10.5.0
26
+ version: 12.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 4.2.6
33
+ version: 4.2.8
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 4.2.6
41
- - !ruby/object:Gem::Dependency
42
- name: net-ssh
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 3.0.2
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 3.0.2
40
+ version: 4.2.8
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: devise
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: 3.5.1
47
+ version: 3.5.10
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: 3.5.1
54
+ version: 3.5.10
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: devise-encryptable
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +72,14 @@ dependencies:
86
72
  requirements:
87
73
  - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: 1.12.0
75
+ version: 1.15.1
90
76
  type: :runtime
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: 1.12.0
82
+ version: 1.15.1
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: pundit
99
85
  requirement: !ruby/object:Gem::Requirement
@@ -114,28 +100,28 @@ dependencies:
114
100
  requirements:
115
101
  - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: 5.1.3
103
+ version: 5.2.0
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - "~>"
123
109
  - !ruby/object:Gem::Version
124
- version: 5.1.3
110
+ version: 5.2.0
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: mongoid-tree
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: 2.0.1
117
+ version: 2.1.0
132
118
  type: :runtime
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: 2.0.1
124
+ version: 2.1.0
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: mongo_session_store-rails4
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -156,70 +142,70 @@ dependencies:
156
142
  requirements:
157
143
  - - "~>"
158
144
  - !ruby/object:Gem::Version
159
- version: 2.7.0
145
+ version: 2.8.0
160
146
  type: :runtime
161
147
  prerelease: false
162
148
  version_requirements: !ruby/object:Gem::Requirement
163
149
  requirements:
164
150
  - - "~>"
165
151
  - !ruby/object:Gem::Version
166
- version: 2.7.0
152
+ version: 2.8.0
167
153
  - !ruby/object:Gem::Dependency
168
154
  name: locomotivecms_steam
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
157
  - - "~>"
172
158
  - !ruby/object:Gem::Version
173
- version: 1.2.1
159
+ version: 1.3.0.rc1
174
160
  type: :runtime
175
161
  prerelease: false
176
162
  version_requirements: !ruby/object:Gem::Requirement
177
163
  requirements:
178
164
  - - "~>"
179
165
  - !ruby/object:Gem::Version
180
- version: 1.2.1
166
+ version: 1.3.0.rc1
181
167
  - !ruby/object:Gem::Dependency
182
168
  name: slim
183
169
  requirement: !ruby/object:Gem::Requirement
184
170
  requirements:
185
171
  - - "~>"
186
172
  - !ruby/object:Gem::Version
187
- version: 3.0.6
173
+ version: 3.0.7
188
174
  type: :runtime
189
175
  prerelease: false
190
176
  version_requirements: !ruby/object:Gem::Requirement
191
177
  requirements:
192
178
  - - "~>"
193
179
  - !ruby/object:Gem::Version
194
- version: 3.0.6
180
+ version: 3.0.7
195
181
  - !ruby/object:Gem::Dependency
196
182
  name: simple_form
197
183
  requirement: !ruby/object:Gem::Requirement
198
184
  requirements:
199
185
  - - "~>"
200
186
  - !ruby/object:Gem::Version
201
- version: 3.2.0
187
+ version: 3.4.0
202
188
  type: :runtime
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
192
  - - "~>"
207
193
  - !ruby/object:Gem::Version
208
- version: 3.2.0
194
+ version: 3.4.0
209
195
  - !ruby/object:Gem::Dependency
210
196
  name: kaminari
211
197
  requirement: !ruby/object:Gem::Requirement
212
198
  requirements:
213
199
  - - "~>"
214
200
  - !ruby/object:Gem::Version
215
- version: 0.16.3
201
+ version: 0.17.0
216
202
  type: :runtime
217
203
  prerelease: false
218
204
  version_requirements: !ruby/object:Gem::Requirement
219
205
  requirements:
220
206
  - - "~>"
221
207
  - !ruby/object:Gem::Version
222
- version: 0.16.3
208
+ version: 0.17.0
223
209
  - !ruby/object:Gem::Dependency
224
210
  name: bootstrap-kaminari-views
225
211
  requirement: !ruby/object:Gem::Requirement
@@ -240,28 +226,28 @@ dependencies:
240
226
  requirements:
241
227
  - - "~>"
242
228
  - !ruby/object:Gem::Version
243
- version: 2.1.0
229
+ version: 2.3.0
244
230
  type: :runtime
245
231
  prerelease: false
246
232
  version_requirements: !ruby/object:Gem::Requirement
247
233
  requirements:
248
234
  - - "~>"
249
235
  - !ruby/object:Gem::Version
250
- version: 2.1.0
236
+ version: 2.3.0
251
237
  - !ruby/object:Gem::Dependency
252
238
  name: rails-i18n
253
239
  requirement: !ruby/object:Gem::Requirement
254
240
  requirements:
255
241
  - - "~>"
256
242
  - !ruby/object:Gem::Version
257
- version: 4.0.6
243
+ version: 4.0.9
258
244
  type: :runtime
259
245
  prerelease: false
260
246
  version_requirements: !ruby/object:Gem::Requirement
261
247
  requirements:
262
248
  - - "~>"
263
249
  - !ruby/object:Gem::Version
264
- version: 4.0.6
250
+ version: 4.0.9
265
251
  - !ruby/object:Gem::Dependency
266
252
  name: jquery-rails
267
253
  requirement: !ruby/object:Gem::Requirement
@@ -338,28 +324,28 @@ dependencies:
338
324
  requirements:
339
325
  - - "~>"
340
326
  - !ruby/object:Gem::Version
341
- version: 6.3.3.1
327
+ version: 6.7.2
342
328
  type: :runtime
343
329
  prerelease: false
344
330
  version_requirements: !ruby/object:Gem::Requirement
345
331
  requirements:
346
332
  - - "~>"
347
333
  - !ruby/object:Gem::Version
348
- version: 6.3.3.1
334
+ version: 6.7.2
349
335
  - !ruby/object:Gem::Dependency
350
336
  name: font-awesome-sass
351
337
  requirement: !ruby/object:Gem::Requirement
352
338
  requirements:
353
339
  - - "~>"
354
340
  - !ruby/object:Gem::Version
355
- version: 4.5.0
341
+ version: 4.7.0
356
342
  type: :runtime
357
343
  prerelease: false
358
344
  version_requirements: !ruby/object:Gem::Requirement
359
345
  requirements:
360
346
  - - "~>"
361
347
  - !ruby/object:Gem::Version
362
- version: 4.5.0
348
+ version: 4.7.0
363
349
  - !ruby/object:Gem::Dependency
364
350
  name: nprogress-rails
365
351
  requirement: !ruby/object:Gem::Requirement
@@ -380,14 +366,14 @@ dependencies:
380
366
  requirements:
381
367
  - - "~>"
382
368
  - !ruby/object:Gem::Version
383
- version: 1.7.1
369
+ version: 1.7.8
384
370
  type: :runtime
385
371
  prerelease: false
386
372
  version_requirements: !ruby/object:Gem::Requirement
387
373
  requirements:
388
374
  - - "~>"
389
375
  - !ruby/object:Gem::Version
390
- version: 1.7.1
376
+ version: 1.7.8
391
377
  - !ruby/object:Gem::Dependency
392
378
  name: bazaar
393
379
  requirement: !ruby/object:Gem::Requirement
@@ -408,98 +394,70 @@ dependencies:
408
394
  requirements:
409
395
  - - "~>"
410
396
  - !ruby/object:Gem::Version
411
- version: 2.6.1
397
+ version: 2.8.0
412
398
  type: :runtime
413
399
  prerelease: false
414
400
  version_requirements: !ruby/object:Gem::Requirement
415
401
  requirements:
416
402
  - - "~>"
417
403
  - !ruby/object:Gem::Version
418
- version: 2.6.1
404
+ version: 2.8.0
419
405
  - !ruby/object:Gem::Dependency
420
406
  name: carrierwave-mongoid
421
407
  requirement: !ruby/object:Gem::Requirement
422
408
  requirements:
423
409
  - - "~>"
424
410
  - !ruby/object:Gem::Version
425
- version: 0.8.1
411
+ version: 0.10.0
426
412
  type: :runtime
427
413
  prerelease: false
428
414
  version_requirements: !ruby/object:Gem::Requirement
429
415
  requirements:
430
416
  - - "~>"
431
417
  - !ruby/object:Gem::Version
432
- version: 0.8.1
418
+ version: 0.10.0
433
419
  - !ruby/object:Gem::Dependency
434
420
  name: dragonfly
435
421
  requirement: !ruby/object:Gem::Requirement
436
422
  requirements:
437
423
  - - "~>"
438
424
  - !ruby/object:Gem::Version
439
- version: 1.0.7
425
+ version: 1.1.1
440
426
  type: :runtime
441
427
  prerelease: false
442
428
  version_requirements: !ruby/object:Gem::Requirement
443
429
  requirements:
444
430
  - - "~>"
445
431
  - !ruby/object:Gem::Version
446
- version: 1.0.7
432
+ version: 1.1.1
447
433
  - !ruby/object:Gem::Dependency
448
434
  name: rack-cache
449
435
  requirement: !ruby/object:Gem::Requirement
450
436
  requirements:
451
437
  - - "~>"
452
438
  - !ruby/object:Gem::Version
453
- version: '1.1'
439
+ version: 1.7.0
454
440
  type: :runtime
455
441
  prerelease: false
456
442
  version_requirements: !ruby/object:Gem::Requirement
457
443
  requirements:
458
444
  - - "~>"
459
445
  - !ruby/object:Gem::Version
460
- version: '1.1'
461
- - !ruby/object:Gem::Dependency
462
- name: mime-types
463
- requirement: !ruby/object:Gem::Requirement
464
- requirements:
465
- - - "~>"
466
- - !ruby/object:Gem::Version
467
- version: 2.6.2
468
- type: :runtime
469
- prerelease: false
470
- version_requirements: !ruby/object:Gem::Requirement
471
- requirements:
472
- - - "~>"
473
- - !ruby/object:Gem::Version
474
- version: 2.6.2
475
- - !ruby/object:Gem::Dependency
476
- name: mimetype-fu
477
- requirement: !ruby/object:Gem::Requirement
478
- requirements:
479
- - - "~>"
480
- - !ruby/object:Gem::Version
481
- version: 0.1.2
482
- type: :runtime
483
- prerelease: false
484
- version_requirements: !ruby/object:Gem::Requirement
485
- requirements:
486
- - - "~>"
487
- - !ruby/object:Gem::Version
488
- version: 0.1.2
446
+ version: 1.7.0
489
447
  - !ruby/object:Gem::Dependency
490
448
  name: multi_json
491
449
  requirement: !ruby/object:Gem::Requirement
492
450
  requirements:
493
451
  - - "~>"
494
452
  - !ruby/object:Gem::Version
495
- version: 1.11.0
453
+ version: 1.12.1
496
454
  type: :runtime
497
455
  prerelease: false
498
456
  version_requirements: !ruby/object:Gem::Requirement
499
457
  requirements:
500
458
  - - "~>"
501
459
  - !ruby/object:Gem::Version
502
- version: 1.11.0
460
+ version: 1.12.1
503
461
  - !ruby/object:Gem::Dependency
504
462
  name: actionmailer-with-request
505
463
  requirement: !ruby/object:Gem::Requirement
@@ -620,6 +578,7 @@ files:
620
578
  - app/api/locomotive/api/resources/theme_asset_resource.rb
621
579
  - app/api/locomotive/api/resources/token_resource.rb
622
580
  - app/api/locomotive/api/resources/translation_resource.rb
581
+ - app/api/locomotive/api/resources/url_redirection_resource.rb
623
582
  - app/api/locomotive/api/resources/version_resource.rb
624
583
  - app/assets/images/locomotive/blank.png
625
584
  - app/assets/images/locomotive/deadend.png
@@ -627,24 +586,29 @@ files:
627
586
  - app/assets/images/locomotive/icons/flags/bf.png
628
587
  - app/assets/images/locomotive/icons/flags/bg.png
629
588
  - app/assets/images/locomotive/icons/flags/cs.png
589
+ - app/assets/images/locomotive/icons/flags/da.png
630
590
  - app/assets/images/locomotive/icons/flags/de.png
591
+ - app/assets/images/locomotive/icons/flags/el.png
631
592
  - app/assets/images/locomotive/icons/flags/en.png
632
593
  - app/assets/images/locomotive/icons/flags/es.png
633
594
  - app/assets/images/locomotive/icons/flags/et.png
595
+ - app/assets/images/locomotive/icons/flags/fa-IR.png
596
+ - app/assets/images/locomotive/icons/flags/fi-FI.png
634
597
  - app/assets/images/locomotive/icons/flags/fr.png
635
598
  - app/assets/images/locomotive/icons/flags/it.png
636
- - app/assets/images/locomotive/icons/flags/ja.png
599
+ - app/assets/images/locomotive/icons/flags/ja-JP.png
637
600
  - app/assets/images/locomotive/icons/flags/lt.png
638
601
  - app/assets/images/locomotive/icons/flags/mg.png
639
602
  - app/assets/images/locomotive/icons/flags/nb.png
640
603
  - app/assets/images/locomotive/icons/flags/nl.png
641
- - app/assets/images/locomotive/icons/flags/pl.png
604
+ - app/assets/images/locomotive/icons/flags/pl-PL.png
642
605
  - app/assets/images/locomotive/icons/flags/pt-BR.png
643
606
  - app/assets/images/locomotive/icons/flags/pt.png
644
607
  - app/assets/images/locomotive/icons/flags/ru.png
645
608
  - app/assets/images/locomotive/icons/flags/sk.png
646
609
  - app/assets/images/locomotive/icons/flags/sr.png
647
610
  - app/assets/images/locomotive/icons/flags/sv.png
611
+ - app/assets/images/locomotive/icons/flags/uk.png
648
612
  - app/assets/images/locomotive/icons/flags/zh-CN.png
649
613
  - app/assets/images/locomotive/logo-white.png
650
614
  - app/assets/images/locomotive/logo.png
@@ -1029,107 +993,156 @@ files:
1029
993
  - config/initializers/simple_form.rb
1030
994
  - config/initializers/slim.rb
1031
995
  - config/initializers/time_format.rb
996
+ - config/locales/ca.yml
997
+ - config/locales/carrierwave.ar.yml
998
+ - config/locales/carrierwave.ca.yml
1032
999
  - config/locales/carrierwave.cs.yml
1000
+ - config/locales/carrierwave.da.yml
1033
1001
  - config/locales/carrierwave.de.yml
1034
1002
  - config/locales/carrierwave.el.yml
1035
1003
  - config/locales/carrierwave.en.yml
1036
1004
  - config/locales/carrierwave.es.yml
1005
+ - config/locales/carrierwave.fi-FI.yml
1037
1006
  - config/locales/carrierwave.fr.yml
1007
+ - config/locales/carrierwave.it.yml
1008
+ - config/locales/carrierwave.ja-JP.yml
1038
1009
  - config/locales/carrierwave.lt.yml
1039
1010
  - config/locales/carrierwave.nl.yml
1011
+ - config/locales/carrierwave.pl-PL.yml
1040
1012
  - config/locales/carrierwave.pt-BR.yml
1041
1013
  - config/locales/carrierwave.ru.yml
1014
+ - config/locales/carrierwave.sv-FI.yml
1042
1015
  - config/locales/carrierwave.sv.yml
1043
1016
  - config/locales/carrierwave.uk.yml
1044
1017
  - config/locales/carrierwave.zh-CN.yml
1045
1018
  - config/locales/cs.yml
1046
1019
  - config/locales/de.yml
1020
+ - config/locales/default.ca.yml
1047
1021
  - config/locales/default.cs.yml
1022
+ - config/locales/default.da.yml
1048
1023
  - config/locales/default.de.yml
1049
1024
  - config/locales/default.el.yml
1050
1025
  - config/locales/default.en.yml
1051
1026
  - config/locales/default.es.yml
1027
+ - config/locales/default.fa_IR.yml
1028
+ - config/locales/default.fi-FI.yml
1052
1029
  - config/locales/default.fr.yml
1030
+ - config/locales/default.ja-JP.yml
1053
1031
  - config/locales/default.lt.yml
1054
1032
  - config/locales/default.nl.yml
1033
+ - config/locales/default.pl-PL.yml
1055
1034
  - config/locales/default.pt-BR.yml
1056
1035
  - config/locales/default.ru.yml
1036
+ - config/locales/default.sv-FI.yml
1057
1037
  - config/locales/default.sv.yml
1058
1038
  - config/locales/default.uk.yml
1059
1039
  - config/locales/default.zh-CN.yml
1040
+ - config/locales/devise.ca.yml
1060
1041
  - config/locales/devise.cs.yml
1042
+ - config/locales/devise.da.yml
1061
1043
  - config/locales/devise.de.yml
1062
1044
  - config/locales/devise.el.yml
1063
1045
  - config/locales/devise.en.yml
1064
1046
  - config/locales/devise.es.yml
1047
+ - config/locales/devise.fi-FI.yml
1065
1048
  - config/locales/devise.fr.yml
1049
+ - config/locales/devise.it.yml
1050
+ - config/locales/devise.ja-JP.yml
1066
1051
  - config/locales/devise.lt.yml
1067
1052
  - config/locales/devise.nl.yml
1053
+ - config/locales/devise.pl-PL.yml
1068
1054
  - config/locales/devise.pt-BR.yml
1069
1055
  - config/locales/devise.ru.yml
1056
+ - config/locales/devise.sv-FI.yml
1070
1057
  - config/locales/devise.sv.yml
1071
1058
  - config/locales/devise.uk.yml
1072
1059
  - config/locales/devise.zh-CN.yml
1073
1060
  - config/locales/el.yml
1074
1061
  - config/locales/en.yml
1075
1062
  - config/locales/es.yml
1063
+ - config/locales/flash.ca.yml
1076
1064
  - config/locales/flash.cs.yml
1065
+ - config/locales/flash.da.yml
1077
1066
  - config/locales/flash.de.yml
1078
1067
  - config/locales/flash.el.yml
1079
1068
  - config/locales/flash.en.yml
1080
1069
  - config/locales/flash.es.yml
1081
1070
  - config/locales/flash.fr.yml
1071
+ - config/locales/flash.ja-JP.yml
1082
1072
  - config/locales/flash.lt.yml
1083
1073
  - config/locales/flash.nl.yml
1074
+ - config/locales/flash.pl-PL.yml
1084
1075
  - config/locales/flash.pt-BR.yml
1085
1076
  - config/locales/flash.ru.yml
1077
+ - config/locales/flash.sv-FI.yml
1086
1078
  - config/locales/flash.sv.yml
1087
1079
  - config/locales/flash.uk.yml
1088
1080
  - config/locales/flash.zh-CN.yml
1089
1081
  - config/locales/fr.yml
1082
+ - config/locales/inputs.ca.yml
1090
1083
  - config/locales/inputs.cs.yml
1084
+ - config/locales/inputs.da.yml
1091
1085
  - config/locales/inputs.de.yml
1092
1086
  - config/locales/inputs.el.yml
1093
1087
  - config/locales/inputs.en.yml
1094
1088
  - config/locales/inputs.es.yml
1089
+ - config/locales/inputs.fa_IR.yml
1090
+ - config/locales/inputs.fi-FI.yml
1095
1091
  - config/locales/inputs.fr.yml
1092
+ - config/locales/inputs.ja-JP.yml
1096
1093
  - config/locales/inputs.lt.yml
1097
1094
  - config/locales/inputs.nl.yml
1095
+ - config/locales/inputs.pl-PL.yml
1098
1096
  - config/locales/inputs.pt-BR.yml
1099
1097
  - config/locales/inputs.ru.yml
1098
+ - config/locales/inputs.sv-FI.yml
1100
1099
  - config/locales/inputs.sv.yml
1101
1100
  - config/locales/inputs.uk.yml
1102
1101
  - config/locales/inputs.zh-CN.yml
1102
+ - config/locales/ja-JP.yml
1103
1103
  - config/locales/lt.yml
1104
+ - config/locales/mongoid.ca.yml
1104
1105
  - config/locales/mongoid.cs.yml
1106
+ - config/locales/mongoid.da.yml
1105
1107
  - config/locales/mongoid.de.yml
1106
1108
  - config/locales/mongoid.el.yml
1107
1109
  - config/locales/mongoid.en.yml
1108
1110
  - config/locales/mongoid.es.yml
1111
+ - config/locales/mongoid.fa_IR.yml
1109
1112
  - config/locales/mongoid.fr.yml
1113
+ - config/locales/mongoid.ja-JP.yml
1110
1114
  - config/locales/mongoid.lt.yml
1111
1115
  - config/locales/mongoid.nl.yml
1116
+ - config/locales/mongoid.pl-PL.yml
1112
1117
  - config/locales/mongoid.pt-BR.yml
1113
1118
  - config/locales/mongoid.ru.yml
1119
+ - config/locales/mongoid.sv-FI.yml
1114
1120
  - config/locales/mongoid.sv.yml
1115
1121
  - config/locales/mongoid.uk.yml
1116
1122
  - config/locales/mongoid.zh-CN.yml
1117
1123
  - config/locales/nl.yml
1124
+ - config/locales/pl-PL.yml
1118
1125
  - config/locales/pt-BR.yml
1119
1126
  - config/locales/ru.yml
1127
+ - config/locales/simple_form.ca.yml
1120
1128
  - config/locales/simple_form.cs.yml
1121
1129
  - config/locales/simple_form.de.yml
1122
1130
  - config/locales/simple_form.el.yml
1123
1131
  - config/locales/simple_form.en.yml
1124
1132
  - config/locales/simple_form.es.yml
1133
+ - config/locales/simple_form.fi-FI.yml
1125
1134
  - config/locales/simple_form.fr.yml
1135
+ - config/locales/simple_form.ja-JP.yml
1126
1136
  - config/locales/simple_form.lt.yml
1127
1137
  - config/locales/simple_form.nl.yml
1138
+ - config/locales/simple_form.pl-PL.yml
1128
1139
  - config/locales/simple_form.pt-BR.yml
1129
1140
  - config/locales/simple_form.ru.yml
1141
+ - config/locales/simple_form.sv-FI.yml
1130
1142
  - config/locales/simple_form.sv.yml
1131
1143
  - config/locales/simple_form.uk.yml
1132
1144
  - config/locales/simple_form.zh-CN.yml
1145
+ - config/locales/sv-FI.yml
1133
1146
  - config/locales/sv.yml
1134
1147
  - config/locales/uk.yml
1135
1148
  - config/locales/zh-CN.yml
@@ -1366,9 +1379,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
1366
1379
  version: '0'
1367
1380
  required_rubygems_version: !ruby/object:Gem::Requirement
1368
1381
  requirements:
1369
- - - ">="
1382
+ - - ">"
1370
1383
  - !ruby/object:Gem::Version
1371
- version: '0'
1384
+ version: 1.3.1
1372
1385
  requirements: []
1373
1386
  rubyforge_project:
1374
1387
  rubygems_version: 2.5.2