locomotivecms 4.0.0.alpha3 → 4.0.0.rc0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/app/api/locomotive/api/entities/content_type_entity.rb +1 -0
- data/app/api/locomotive/api/forms/content_type_form.rb +1 -0
- data/app/api/locomotive/api/resources/content_type_resource.rb +1 -0
- data/app/assets/javascripts/locomotive/editor.js +3028 -3112
- data/app/assets/javascripts/locomotive/views/content_assets/edit_image_view.js.coffee +1 -0
- data/app/assets/javascripts/locomotive/views/inputs/rte/edit_table_view.js.coffee +1 -0
- data/app/assets/javascripts/locomotive/views/inputs/rte/file_view.js.coffee +1 -0
- data/app/assets/javascripts/locomotive/views/inputs/rte/link_view.js.coffee +1 -0
- data/app/assets/javascripts/locomotive/views/inputs/rte/table_view.js.coffee +1 -0
- data/app/assets/javascripts/locomotive/views/inputs/rte_view.js.coffee.erb +2 -1
- data/app/assets/stylesheets/locomotive/editor.css +31 -4
- data/app/controllers/locomotive/content_entries_controller.rb +8 -2
- data/app/controllers/locomotive/content_entry_impersonations_controller.rb +32 -0
- data/app/helpers/locomotive/content_types_helper.rb +2 -2
- data/app/mailers/locomotive/notifications.rb +8 -3
- data/app/models/locomotive/concerns/content_entry/authentication.rb +13 -0
- data/app/models/locomotive/concerns/page/editable_elements.rb +1 -1
- data/app/models/locomotive/content_entry.rb +1 -0
- data/app/models/locomotive/content_type.rb +1 -0
- data/app/services/locomotive/content_entry_service.rb +8 -9
- data/app/uploaders/locomotive/theme_asset_uploader.rb +1 -1
- data/app/views/locomotive/content_entries/_list.html.slim +1 -1
- data/app/views/locomotive/content_entries/edit.html.slim +10 -3
- data/app/views/locomotive/content_entries/new.html.slim +3 -1
- data/config/routes.rb +2 -0
- data/lib/generators/locomotive/install/install_generator.rb +2 -10
- data/lib/locomotive/dependencies.rb +1 -0
- data/lib/locomotive/steam/services/api_content_entry_service.rb +2 -2
- data/lib/locomotive/steam/services/api_entry_submission_service.rb +13 -3
- data/lib/locomotive/version.rb +1 -1
- data/lib/tasks/locomotive_tasks.rake +29 -0
- data/vendor/assets/javascripts/locomotive/wysihtml5x-toolbar.js +0 -1
- metadata +52 -8
data/config/routes.rb
CHANGED
@@ -71,6 +71,8 @@ Locomotive::Engine.routes.draw do
|
|
71
71
|
put :sort, on: :collection
|
72
72
|
get :export, on: :collection
|
73
73
|
delete :bulk_destroy, on: :collection
|
74
|
+
|
75
|
+
resource :impersonation, only: [:create], controller: 'content_entry_impersonations'
|
74
76
|
end
|
75
77
|
|
76
78
|
namespace :custom_fields, path: 'content_types/:slug/fields/:name' do
|
@@ -41,7 +41,7 @@ module Locomotive
|
|
41
41
|
inject_into_file 'Gemfile', after: "source 'https://rubygems.org'\n" do <<-'RUBY'
|
42
42
|
|
43
43
|
if ENV['HEROKU_APP_NAME']
|
44
|
-
ruby '2.
|
44
|
+
ruby '2.5.1'
|
45
45
|
end
|
46
46
|
RUBY
|
47
47
|
end
|
@@ -63,7 +63,7 @@ end
|
|
63
63
|
RUBY
|
64
64
|
end
|
65
65
|
|
66
|
-
gem 'platform-api', '~> 2'
|
66
|
+
gem 'platform-api', '~> 2.2.0'
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
@@ -75,14 +75,6 @@ end
|
|
75
75
|
remove_file 'public/robots.txt'
|
76
76
|
end
|
77
77
|
|
78
|
-
def use_puma_as_app_server
|
79
|
-
inject_into_file 'Gemfile', after: "# gem 'unicorn'\n" do <<-'RUBY'
|
80
|
-
# Use Puma as the app server
|
81
|
-
gem 'puma'
|
82
|
-
RUBY
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
78
|
def show_readme
|
87
79
|
readme 'README'
|
88
80
|
end
|
@@ -28,7 +28,7 @@ module Locomotive
|
|
28
28
|
def with_form(type_slug, attributes, as_json, &block)
|
29
29
|
load_content_type(type_slug)
|
30
30
|
|
31
|
-
|
31
|
+
use_tempfiles(attributes)
|
32
32
|
|
33
33
|
::Mongoid::Fields::I18n.with_locale(self.locale) do
|
34
34
|
form = Locomotive::API::Forms::ContentEntryForm.new(@content_type, attributes)
|
@@ -39,7 +39,7 @@ module Locomotive
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
def
|
42
|
+
def use_tempfiles(attributes)
|
43
43
|
# kind of marshal/unmarshal mechanism :-)
|
44
44
|
attributes.each do |key, value|
|
45
45
|
if value.is_a?(Hash) && value['tempfile'].present? && value['tempfile'].is_a?(String) && value['filename'].present?
|
@@ -22,9 +22,10 @@ module Locomotive
|
|
22
22
|
def create_entry(attributes)
|
23
23
|
::Mongoid::Fields::I18n.with_locale(locale) do
|
24
24
|
entry = engine_service.public_create(attributes, {
|
25
|
-
ip_address:
|
26
|
-
user_agent:
|
27
|
-
referer:
|
25
|
+
ip_address: self.request.ip,
|
26
|
+
user_agent: self.request.user_agent,
|
27
|
+
referer: self.request.referer,
|
28
|
+
emails: notified_emails
|
28
29
|
})
|
29
30
|
|
30
31
|
entity = entry.to_steam(@content_type)
|
@@ -40,6 +41,15 @@ module Locomotive
|
|
40
41
|
self.service.locale
|
41
42
|
end
|
42
43
|
|
44
|
+
# a public form might need to inform accounts from other Locomotive sites
|
45
|
+
def notified_emails
|
46
|
+
(
|
47
|
+
self.request.params['notified_emails'] ||
|
48
|
+
self.request.params['notified_accounts'] ||
|
49
|
+
''
|
50
|
+
).split(',')
|
51
|
+
end
|
52
|
+
|
43
53
|
def engine_service
|
44
54
|
Locomotive::ContentEntryService.new(@content_type, nil, locale)
|
45
55
|
end
|
data/lib/locomotive/version.rb
CHANGED
@@ -94,6 +94,35 @@ namespace :locomotive do
|
|
94
94
|
end
|
95
95
|
puts '[x] set completion for translations'
|
96
96
|
|
97
|
+
# rename routes to url_redirections
|
98
|
+
Locomotive::Site.all.each_by(10) do |site|
|
99
|
+
site.url_redirections = site.routes
|
100
|
+
site.routes = nil
|
101
|
+
site.save
|
102
|
+
end
|
103
|
+
puts '[x] rename site attribute: change routes to url_redirections'
|
104
|
+
|
105
|
+
# editable controle are now localized by default
|
106
|
+
Locomotive::Site.all.each_by(10) do |site|
|
107
|
+
site.pages.each_by(10) do |page|
|
108
|
+
page.editable_elements.each do |el|
|
109
|
+
next if !el.is_a?(Locomotive::EditableControl) || el.attributes['content'].is_a?(Hash)
|
110
|
+
|
111
|
+
value = el.attributes['content']
|
112
|
+
|
113
|
+
# trick: reset the content with an empty hash
|
114
|
+
new_attributes = el.attributes.dup
|
115
|
+
new_attributes[:content] = {}
|
116
|
+
el.instance_variable_set(:@attributes, new_attributes)
|
117
|
+
|
118
|
+
site.locales.each do |locale|
|
119
|
+
Mongoid::Fields::I18n.with_locale(locale) { el.set(content: value) }
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
puts '[x] editable_control elements are localized by default'
|
125
|
+
|
97
126
|
puts "\nDone!"
|
98
127
|
end
|
99
128
|
|
@@ -18339,7 +18339,6 @@ wysihtml5.views.View = Base.extend(
|
|
18339
18339
|
},
|
18340
18340
|
|
18341
18341
|
_updateLinkStates: function() {
|
18342
|
-
|
18343
18342
|
var i, state, action, command, displayDialogAttributeValue,
|
18344
18343
|
commandMapping = this.commandMapping,
|
18345
18344
|
composer = this.composer,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: locomotivecms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.0.
|
4
|
+
version: 4.0.0.rc0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Didier Lafforgue
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 5.2.
|
19
|
+
version: 5.2.3
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '6.0'
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 5.2.
|
29
|
+
version: 5.2.3
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '6.0'
|
@@ -36,14 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 4.
|
39
|
+
version: 4.6.2
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 4.
|
46
|
+
version: 4.6.2
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: devise-encryptable
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,6 +128,34 @@ dependencies:
|
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: 2.3.1
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: custom_fields
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 2.10.0.beta3
|
138
|
+
type: :runtime
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 2.10.0.beta3
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: locomotivecms_steam
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: 1.5.0.rc0
|
152
|
+
type: :runtime
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 1.5.0.rc0
|
131
159
|
- !ruby/object:Gem::Dependency
|
132
160
|
name: slim
|
133
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -302,14 +330,14 @@ dependencies:
|
|
302
330
|
requirements:
|
303
331
|
- - "~>"
|
304
332
|
- !ruby/object:Gem::Version
|
305
|
-
version: 3.
|
333
|
+
version: 3.4.1
|
306
334
|
type: :runtime
|
307
335
|
prerelease: false
|
308
336
|
version_requirements: !ruby/object:Gem::Requirement
|
309
337
|
requirements:
|
310
338
|
- - "~>"
|
311
339
|
- !ruby/object:Gem::Version
|
312
|
-
version: 3.
|
340
|
+
version: 3.4.1
|
313
341
|
- !ruby/object:Gem::Dependency
|
314
342
|
name: autoprefixer-rails
|
315
343
|
requirement: !ruby/object:Gem::Requirement
|
@@ -464,6 +492,20 @@ dependencies:
|
|
464
492
|
- - "~>"
|
465
493
|
- !ruby/object:Gem::Version
|
466
494
|
version: 0.5.0
|
495
|
+
- !ruby/object:Gem::Dependency
|
496
|
+
name: adomain
|
497
|
+
requirement: !ruby/object:Gem::Requirement
|
498
|
+
requirements:
|
499
|
+
- - "~>"
|
500
|
+
- !ruby/object:Gem::Version
|
501
|
+
version: 0.1.1
|
502
|
+
type: :runtime
|
503
|
+
prerelease: false
|
504
|
+
version_requirements: !ruby/object:Gem::Requirement
|
505
|
+
requirements:
|
506
|
+
- - "~>"
|
507
|
+
- !ruby/object:Gem::Version
|
508
|
+
version: 0.1.1
|
467
509
|
- !ruby/object:Gem::Dependency
|
468
510
|
name: grape
|
469
511
|
requirement: !ruby/object:Gem::Requirement
|
@@ -769,6 +811,7 @@ files:
|
|
769
811
|
- app/controllers/locomotive/concerns/within_site_controller.rb
|
770
812
|
- app/controllers/locomotive/content_assets_controller.rb
|
771
813
|
- app/controllers/locomotive/content_entries_controller.rb
|
814
|
+
- app/controllers/locomotive/content_entry_impersonations_controller.rb
|
772
815
|
- app/controllers/locomotive/current_site_controller.rb
|
773
816
|
- app/controllers/locomotive/current_site_metafields_controller.rb
|
774
817
|
- app/controllers/locomotive/custom_fields/select_options_controller.rb
|
@@ -831,6 +874,7 @@ files:
|
|
831
874
|
- app/models/locomotive/concerns/asset/checksum.rb
|
832
875
|
- app/models/locomotive/concerns/asset/types.rb
|
833
876
|
- app/models/locomotive/concerns/asset/vignette.rb
|
877
|
+
- app/models/locomotive/concerns/content_entry/authentication.rb
|
834
878
|
- app/models/locomotive/concerns/content_entry/counter.rb
|
835
879
|
- app/models/locomotive/concerns/content_entry/csv.rb
|
836
880
|
- app/models/locomotive/concerns/content_entry/file_size.rb
|