locomotivecms 4.0.0 → 4.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +1 -1
  4. data/Rakefile +3 -0
  5. data/app/api/locomotive/api/entities/content_type_entity.rb +1 -1
  6. data/app/api/locomotive/api/entities/site_entity.rb +1 -1
  7. data/app/api/locomotive/api/forms/content_type_form.rb +2 -1
  8. data/app/api/locomotive/api/forms/site_form.rb +1 -0
  9. data/app/api/locomotive/api/helpers/persistence_helper.rb +1 -1
  10. data/app/api/locomotive/api/resources/content_asset_resource.rb +6 -0
  11. data/app/api/locomotive/api/resources/content_type_resource.rb +2 -0
  12. data/app/api/locomotive/api/resources/current_site_resource.rb +1 -1
  13. data/app/api/locomotive/api/resources/site_resource.rb +3 -1
  14. data/app/assets/javascripts/locomotive/editor.js +2541 -1196
  15. data/app/assets/javascripts/locomotive/views/content_entry_imports/new_view.js.coffee +12 -0
  16. data/app/assets/javascripts/locomotive/views/content_entry_imports/show_view.js.coffee +8 -0
  17. data/app/assets/stylesheets/locomotive/application.scss +2 -0
  18. data/app/assets/stylesheets/locomotive/editor.css +105 -12
  19. data/app/assets/stylesheets/locomotive/new/_dashboard.scss +20 -0
  20. data/app/assets/stylesheets/locomotive/old/_content_assets.scss +1 -1
  21. data/app/controllers/locomotive/content_assets_controller.rb +2 -1
  22. data/app/controllers/locomotive/content_entry_imports_controller.rb +50 -0
  23. data/app/controllers/locomotive/custom_fields/select_options_controller.rb +1 -0
  24. data/app/helpers/locomotive/base_helper.rb +1 -1
  25. data/app/helpers/locomotive/content_entries_helper.rb +9 -3
  26. data/app/helpers/locomotive/shared/pages_helper.rb +1 -1
  27. data/app/jobs/locomotive/import_content_entry_job.rb +12 -0
  28. data/app/jobs/locomotive/send_pony_email_job.rb +4 -3
  29. data/app/mailers/locomotive/notifications.rb +37 -11
  30. data/app/models/locomotive/account.rb +1 -0
  31. data/app/models/locomotive/concerns/asset/vignette.rb +7 -5
  32. data/app/models/locomotive/concerns/content_type/group_by.rb +6 -1
  33. data/app/models/locomotive/concerns/content_type/import.rb +124 -0
  34. data/app/models/locomotive/concerns/site/metafields.rb +26 -0
  35. data/app/models/locomotive/content_asset.rb +9 -2
  36. data/app/models/locomotive/content_type.rb +1 -0
  37. data/app/models/locomotive/section.rb +3 -1
  38. data/app/models/locomotive/site.rb +2 -0
  39. data/app/policies/locomotive/content_entry_policy.rb +1 -2
  40. data/app/policies/locomotive/content_type_policy.rb +3 -0
  41. data/app/policies/locomotive/site_policy.rb +5 -3
  42. data/app/services/locomotive/content_asset_service.rb +27 -4
  43. data/app/services/locomotive/content_entry_import_service.rb +107 -0
  44. data/app/services/locomotive/content_entry_service.rb +1 -1
  45. data/app/uploaders/locomotive/picture_uploader.rb +1 -1
  46. data/app/uploaders/locomotive/theme_asset_uploader.rb +1 -1
  47. data/app/views/locomotive/content_assets/_dropzone.html.slim +5 -1
  48. data/app/views/locomotive/content_entries/index.html.slim +8 -0
  49. data/app/views/locomotive/content_entry_imports/new.html.slim +23 -0
  50. data/app/views/locomotive/content_entry_imports/show.html.slim +54 -0
  51. data/app/views/locomotive/current_site/form/_advanced.html.slim +2 -0
  52. data/app/views/locomotive/page_content/edit.html.erb +1 -0
  53. data/app/views/locomotive/shared/account/_navigation.html.slim +1 -1
  54. data/config/locales/editor.en.yml +22 -0
  55. data/config/locales/editor.fr.yml +22 -0
  56. data/config/locales/en.yml +21 -0
  57. data/config/locales/es.yml +2 -0
  58. data/config/locales/flash.en.yml +6 -0
  59. data/config/locales/fr.yml +2 -0
  60. data/config/locales/mongoid.en.yml +5 -1
  61. data/config/locales/mongoid.es.yml +4 -0
  62. data/config/locales/simple_form.en.yml +13 -1
  63. data/config/locales/simple_form.es.yml +2 -0
  64. data/config/routes.rb +3 -2
  65. data/lib/generators/locomotive/install/install_generator.rb +1 -0
  66. data/lib/generators/locomotive/install/templates/carrierwave_aws.rb +5 -0
  67. data/lib/locomotive/configuration.rb +1 -0
  68. data/lib/locomotive/dragonfly.rb +6 -4
  69. data/lib/locomotive/steam/services/liquid_parser_with_cache_service.rb +1 -1
  70. data/lib/locomotive/version.rb +1 -1
  71. metadata +50 -27
@@ -35,9 +35,19 @@ fr:
35
35
  remove_button: "Enlever"
36
36
  crop_button: "Rogner"
37
37
 
38
+ asset_picker:
39
+ select_button: "Sélectionner"
40
+ change_button: "Changer"
41
+ remove_button: "Enlever"
42
+
38
43
  content_type:
39
44
  show: "Voir"
40
45
 
46
+ content_entry:
47
+ select_button: "Sélectionner"
48
+ change_button: "Changer"
49
+ remove_button: "Enlever"
50
+
41
51
  views:
42
52
  action_bar:
43
53
  header:
@@ -54,6 +64,12 @@ fr:
54
64
  seo: "SEO"
55
65
 
56
66
  pickers:
67
+ assets:
68
+ title: "Fichiers"
69
+ loading: "Chargement des fichiers en cours !"
70
+ add: "+ ajouter"
71
+ upload_in_progress: "Téléchargement en cours..."
72
+ search_placeholder: "Nom du fichier"
57
73
  images:
58
74
  title: "Images"
59
75
  loading: "Chargement des images en cours !"
@@ -82,9 +98,15 @@ fr:
82
98
  email:
83
99
  label: Adresse Email
84
100
  placeholder: "name@example.com"
101
+ content_entry:
102
+ title: "Sélectionner une ressource"
103
+ input:
104
+ label: Titre d'une ressource
105
+ placeholder: Taper le tire de votre ressource
85
106
 
86
107
  preview:
87
108
  view: "Aperçu"
109
+ errorMessage: "La page n'a pas pu être chargée. Veuillez contacter le développeur du site."
88
110
 
89
111
  sections:
90
112
  edit:
@@ -38,6 +38,8 @@ en:
38
38
  unsaved_content_warning: "This page is asking you to confirm that you want to leave - data you have entered may not be saved."
39
39
 
40
40
  shared:
41
+ "yes": "Yes"
42
+ "no": "No"
41
43
  header:
42
44
  welcome: Welcome, %{name}
43
45
  sites: My sites
@@ -332,6 +334,7 @@ en:
332
334
  dropzone:
333
335
  instructions: "<strong>Drop files from your computer here.</strong><br/>You can also"
334
336
  browse: "browse for a file"
337
+ maximum_file_size: "Maximum file size allowed is %{maximum}."
335
338
 
336
339
  list:
337
340
  no_items: "There are no media for now."
@@ -363,6 +366,7 @@ en:
363
366
  title: '%{type}'
364
367
  download: Download entries
365
368
  new: New entry
369
+ import: CSV Import
366
370
  bulk_destroy: Delete entries
367
371
  edit_notification_settings: Edit notification settings
368
372
  search_placeholder: "Enter your search keywords here"
@@ -377,6 +381,23 @@ en:
377
381
  shared:
378
382
  back: '&larr; Back to list'
379
383
 
384
+ content_entry_imports:
385
+ new:
386
+ title: "%{type} - Import a CSV file"
387
+ show: "See last import"
388
+ show:
389
+ title: "%{type} - Report of the CSV import"
390
+ report:
391
+ status: "Status"
392
+ created_rows: "Created entries"
393
+ updated_rows: "Updated entries"
394
+ failed_rows: "Failed entries"
395
+ statuses:
396
+ ready: "Ready"
397
+ done: "Done"
398
+ canceled: "Canceled"
399
+ failed: "Failer"
400
+
380
401
  developers_documentation:
381
402
  show:
382
403
  title: Developers
@@ -291,6 +291,8 @@ es:
291
291
  dropzone:
292
292
  instructions: "<strong>Coloca los archivos desde tu computadora aqui.</strong><br/>Tambien puedes"
293
293
  browse: "buscar un fichero"
294
+ maximum_file_size: "El tamaño máximo permitido es %{maximum}."
295
+
294
296
  list:
295
297
  no_items: "No hay archivos por ahora"
296
298
  buttons:
@@ -32,6 +32,12 @@ en:
32
32
  notice: "Model was successfully updated."
33
33
  alert: "Model was not updated."
34
34
 
35
+ content_entry_imports:
36
+ create:
37
+ notice: "The import task was successfully launched."
38
+ destroy:
39
+ notice: "The import task was manually cancelled."
40
+
35
41
  current_site:
36
42
  update:
37
43
  notice: "My site was successfully updated."
@@ -36,6 +36,8 @@ fr:
36
36
  confirm: Êtes-vous sûr ?
37
37
  unsaved_content_warning: "Vous avez des modifications non sauvegardées dans cette page. Si vous la quittez, ces modifications seront perdues."
38
38
  shared:
39
+ "yes": "Oui"
40
+ "no": "Non"
39
41
  header:
40
42
  welcome: Bienvenue, %{name}
41
43
  sites: Mes sites
@@ -14,10 +14,14 @@ en:
14
14
  unique_account: "is already used"
15
15
  email:
16
16
  unique_account: "is already used"
17
+ locomotive/content_asset:
18
+ attributes:
19
+ source:
20
+ maximum_file_size_exceeded: exceeds the maximum file size allowed
17
21
  attributes:
18
22
  locomotive/content_entry:
19
23
  created_at: Created at
20
-
24
+
21
25
  errors:
22
26
  messages:
23
27
  domain_taken: "%{value} is already taken"
@@ -14,6 +14,10 @@ es:
14
14
  unique_account: "ya estaba en uso"
15
15
  email:
16
16
  unique_account: "ya esta en uso"
17
+ locomotive/content_asset:
18
+ attributes:
19
+ source:
20
+ maximum_file_size_exceeded: supera el tamaño máximo de fichero permitido
17
21
  attributes:
18
22
  locomotive/content_entry:
19
23
  created_at: Creado el
@@ -32,6 +32,9 @@ en:
32
32
  public_submission_accounts: "Notified Accounts"
33
33
  # "custom_fields/field":
34
34
  # select_options: "Options"
35
+ content_entry_import:
36
+ col_sep: "Column separator"
37
+ quote_char: "Quote character"
35
38
  account:
36
39
  api_key: API key
37
40
  no_api_key: None
@@ -52,6 +55,7 @@ en:
52
55
  password: "Site-Wide Password"
53
56
  url_redirections_expert_mode: "Expert mode"
54
57
  url_redirections_plain_text: "Url redirections"
58
+ maximum_uploaded_file_size: "Maximum uploaded files size"
55
59
  new:
56
60
  locales: First language
57
61
  membership:
@@ -74,6 +78,8 @@ en:
74
78
  rows: "Rows"
75
79
  head: "Head row?"
76
80
  class_name: "CSS class"
81
+ content_entry_import:
82
+ file: CSV File
77
83
 
78
84
  hints:
79
85
  locomotive:
@@ -97,6 +103,7 @@ en:
97
103
  meta_keywords: "Meta keywords used within the head tag of the page. They are separated by a comma. Required for SEO."
98
104
  meta_description: "Meta description used within the head tag of the page. Required for SEO."
99
105
  robots_txt: "Content of the <span class='code'>/robots.txt</span> file. Check the following <a href='http://www.w3.org/TR/html4/appendix/notes.html#h-B.4.1.1'>url</a> for more information."
106
+ maximum_uploaded_file_size: "In bytes."
100
107
  domains: "Add your domains just below. Documentation <a href=\"https://locomotive-v3.readme.io/docs/domains\">here</a> for more information."
101
108
  asset_host: "Site-specific asset host that overrides engine asset host (ex. \"localhost\", \"asset.dev\", \"https://asset-host.com/\")."
102
109
  memberships: "You can invite other accounts to edit/manage the site."
@@ -119,11 +126,16 @@ en:
119
126
  seo_title: "The value you fill in will replace the SEO title of the templatized page related to your model."
120
127
  meta_keywords: "Overrides the site's meta keywords used within the head tag of the page. They are separated by a comma."
121
128
  meta_description: "Overrides the site's meta description used within the head tag of the page."
129
+ content_entry_import:
130
+ col_sep: "The String placed between each field. ',' by default."
131
+ quote_char: "The character used to quote fields. '\"' by default."
122
132
  content_type:
123
133
  public_submission_accounts: "When an entry is created, send a notification email to the accounts listed below."
124
134
  image_resize_form:
125
135
  width: "in px"
126
- height: "in px"
136
+ height: "in px"
137
+ content_entry_import:
138
+ file: "Your CSV must contain a header and use the double quotes to enclose value."
127
139
 
128
140
  placeholders:
129
141
  locomotive:
@@ -46,6 +46,7 @@ es:
46
46
  cache_enabled: Cache
47
47
  private_access: "Habilitar proteccion de password"
48
48
  password: "Password global de sitio"
49
+ maximum_uploaded_file_size: Tamaño máximo de los archivos subidos
49
50
  new:
50
51
  locales: Primer lenguaje
51
52
  membership:
@@ -89,6 +90,7 @@ es:
89
90
  meta_keywords: "Keywords meta usadas dentro de la etiqueta principal de la pagina. Son separadas por una coma. Requeridas para SEO."
90
91
  meta_description: "Meta descripcion usada dentro de la etiqueta principal de la pagina. Requerida para SEO."
91
92
  robots_txt: "Contenido del archivo <span class='code'>/robots.txt</span>. Chequea el siguiente <a href='http://www.w3.org/TR/html4/appendix/notes.html#h-B.4.1.1'>url</a> para mas informacion."
93
+ maximum_uploaded_file_size: "En bytes."
92
94
  domains: "Agrega tus dominios debajo. Encontraras documentacion <a href=\"https://locomotive-v3.readme.io/docs/domains\">aqui</a> para mas informacion."
93
95
  memberships: "Puedes invitar a otras cuentas a editar/manejar el sitio."
94
96
  cache_enabled: "Cuendo este habilitado, tus paginas seran 'cacheadas' siempre y cuando el contenido no cambie. Desahbilitar el cache por pagina es permitido."
data/config/routes.rb CHANGED
@@ -66,12 +66,13 @@ Locomotive::Engine.routes.draw do
66
66
  get :new_account
67
67
  end
68
68
 
69
+ resource :content_entry_import, only: [:show, :new, :create, :destroy], path: 'content_types/:slug/imports'
70
+
69
71
  resources :content_entries, path: 'content_types/:slug/entries' do
70
72
  get :show_in_form, on: :collection
71
73
  put :sort, on: :collection
72
74
  get :export, on: :collection
73
- delete :bulk_destroy, on: :collection
74
-
75
+ delete :bulk_destroy, on: :collection
75
76
  resource :impersonation, only: [:create], controller: 'content_entry_impersonations'
76
77
  end
77
78
 
@@ -32,6 +32,7 @@ module Locomotive
32
32
  end
33
33
 
34
34
  RUBY
35
+ end
35
36
  else
36
37
  template 'carrierwave.rb', 'config/initializers/carrierwave.rb'
37
38
  end
@@ -22,6 +22,11 @@ CarrierWave.configure do |config|
22
22
  region: ENV['S3_BUCKET_REGION']
23
23
  }
24
24
 
25
+ # Use a different endpoint (eg: another provider such as Exoscale)
26
+ if ENV['S3_ENDPOINT'].present?
27
+ config.aws_credentials[:endpoint] = ENV['S3_ENDPOINT']
28
+ end
29
+
25
30
  # Put your CDN host below instead
26
31
  if ENV['S3_ASSET_HOST_URL'].present?
27
32
  config.asset_host = ENV['S3_ASSET_HOST_URL']
@@ -22,6 +22,7 @@ module Locomotive
22
22
  unsafe_token_authentication: false,
23
23
  enable_registration: true,
24
24
  optimize_uploaded_files: false,
25
+ default_maximum_uploaded_file_size: 2.megabytes,
25
26
  ui: {
26
27
  per_page: 10
27
28
  },
@@ -3,18 +3,20 @@ require 'locomotive/dragonfly/processors/smart_thumb'
3
3
  module Locomotive
4
4
  module Dragonfly
5
5
 
6
- def self.resize_url(source, resize_string)
6
+ def self.resize_url(source, resize_string, timestamp = nil)
7
7
  if file = self.fetch_file(source)
8
- file.thumb(resize_string).url
8
+ url = file.thumb(resize_string).url
9
+ timestamp ? url + "?#{timestamp}" : url
9
10
  else
10
11
  Locomotive.log :error, "Unable to resize on the fly: #{source.inspect}"
11
12
  return
12
13
  end
13
14
  end
14
15
 
15
- def self.thumbnail_pdf(source, resize_string)
16
+ def self.thumbnail_pdf(source, resize_string, timestamp = nil)
16
17
  if file = self.fetch_file(source)
17
- file.thumb(resize_string, format: 'png', frame: 0).encode('png').url
18
+ url = file.thumb(resize_string, format: 'png', frame: 0).encode('png').url
19
+ timestamp ? url + "?#{timestamp}" : url
18
20
  else
19
21
  Locomotive.log :error, "Unable to convert the pdf: #{source.inspect}"
20
22
  return
@@ -3,7 +3,7 @@ module Locomotive
3
3
 
4
4
  class LiquidParserWithCacheService < LiquidParserService
5
5
 
6
- UNMARSHALABLE_OPTIONS = %i(parser page parent_finder snippet_finder section_finder locale).freeze
6
+ UNMARSHALABLE_OPTIONS = %i(parser page parent_finder snippet_finder section_finder).freeze
7
7
 
8
8
  attr_accessor_initialize :current_site, :parent_finder, :snippet_finder, :locale
9
9
 
@@ -1,3 +1,3 @@
1
1
  module Locomotive
2
- VERSION = '4.0.0'
2
+ VERSION = '4.1.0.rc1'
3
3
  end
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.1.0.rc1
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-20 00:00:00.000000000 Z
11
+ date: 2021-09-24 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.3
19
+ version: 5.2.4.2
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.3
29
+ version: 5.2.4.2
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '6.0'
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 4.7.1
53
+ version: 4.7.3
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 4.7.1
60
+ version: 4.7.3
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: devise-encryptable
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -106,14 +106,14 @@ dependencies:
106
106
  requirements:
107
107
  - - '='
108
108
  - !ruby/object:Gem::Version
109
- version: 2.8.0
109
+ version: 2.13.1
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - '='
115
115
  - !ruby/object:Gem::Version
116
- version: 2.8.0
116
+ version: 2.13.1
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: mongoid
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -162,28 +162,28 @@ dependencies:
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: 2.10.0
165
+ version: 2.12.0
166
166
  type: :runtime
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: 2.10.0
172
+ version: 2.12.0
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: locomotivecms_steam
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: 1.5.0
179
+ version: 1.6.0.rc1
180
180
  type: :runtime
181
181
  prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
- version: 1.5.0
186
+ version: 1.6.0.rc1
187
187
  - !ruby/object:Gem::Dependency
188
188
  name: slim
189
189
  requirement: !ruby/object:Gem::Requirement
@@ -218,14 +218,14 @@ dependencies:
218
218
  requirements:
219
219
  - - "~>"
220
220
  - !ruby/object:Gem::Version
221
- version: 1.1.1
221
+ version: 1.2.1
222
222
  type: :runtime
223
223
  prerelease: false
224
224
  version_requirements: !ruby/object:Gem::Requirement
225
225
  requirements:
226
226
  - - "~>"
227
227
  - !ruby/object:Gem::Version
228
- version: 1.1.1
228
+ version: 1.2.1
229
229
  - !ruby/object:Gem::Dependency
230
230
  name: kaminari-mongoid
231
231
  requirement: !ruby/object:Gem::Requirement
@@ -442,14 +442,14 @@ dependencies:
442
442
  requirements:
443
443
  - - "~>"
444
444
  - !ruby/object:Gem::Version
445
- version: 1.1.0
445
+ version: 1.3.0
446
446
  type: :runtime
447
447
  prerelease: false
448
448
  version_requirements: !ruby/object:Gem::Requirement
449
449
  requirements:
450
450
  - - "~>"
451
451
  - !ruby/object:Gem::Version
452
- version: 1.1.0
452
+ version: 1.3.0
453
453
  - !ruby/object:Gem::Dependency
454
454
  name: dragonfly
455
455
  requirement: !ruby/object:Gem::Requirement
@@ -484,14 +484,14 @@ dependencies:
484
484
  requirements:
485
485
  - - "~>"
486
486
  - !ruby/object:Gem::Version
487
- version: 1.13.1
487
+ version: 1.15.0
488
488
  type: :runtime
489
489
  prerelease: false
490
490
  version_requirements: !ruby/object:Gem::Requirement
491
491
  requirements:
492
492
  - - "~>"
493
493
  - !ruby/object:Gem::Version
494
- version: 1.13.1
494
+ version: 1.15.0
495
495
  - !ruby/object:Gem::Dependency
496
496
  name: yajl-ruby
497
497
  requirement: !ruby/object:Gem::Requirement
@@ -534,34 +534,48 @@ dependencies:
534
534
  - - "~>"
535
535
  - !ruby/object:Gem::Version
536
536
  version: 0.1.1
537
+ - !ruby/object:Gem::Dependency
538
+ name: rack
539
+ requirement: !ruby/object:Gem::Requirement
540
+ requirements:
541
+ - - "~>"
542
+ - !ruby/object:Gem::Version
543
+ version: 2.1.4
544
+ type: :runtime
545
+ prerelease: false
546
+ version_requirements: !ruby/object:Gem::Requirement
547
+ requirements:
548
+ - - "~>"
549
+ - !ruby/object:Gem::Version
550
+ version: 2.1.4
537
551
  - !ruby/object:Gem::Dependency
538
552
  name: grape
539
553
  requirement: !ruby/object:Gem::Requirement
540
554
  requirements:
541
555
  - - "~>"
542
556
  - !ruby/object:Gem::Version
543
- version: 1.1.0
557
+ version: 1.5.0
544
558
  type: :runtime
545
559
  prerelease: false
546
560
  version_requirements: !ruby/object:Gem::Requirement
547
561
  requirements:
548
562
  - - "~>"
549
563
  - !ruby/object:Gem::Version
550
- version: 1.1.0
564
+ version: 1.5.0
551
565
  - !ruby/object:Gem::Dependency
552
566
  name: grape-entity
553
567
  requirement: !ruby/object:Gem::Requirement
554
568
  requirements:
555
- - - '='
569
+ - - "~>"
556
570
  - !ruby/object:Gem::Version
557
- version: 0.7.1
571
+ version: 0.8.1
558
572
  type: :runtime
559
573
  prerelease: false
560
574
  version_requirements: !ruby/object:Gem::Requirement
561
575
  requirements:
562
- - - '='
576
+ - - "~>"
563
577
  - !ruby/object:Gem::Version
564
- version: 0.7.1
578
+ version: 0.8.1
565
579
  - !ruby/object:Gem::Dependency
566
580
  name: carrierwave-imageoptim
567
581
  requirement: !ruby/object:Gem::Requirement
@@ -730,6 +744,8 @@ files:
730
744
  - app/assets/javascripts/locomotive/views/content_entries/edit_view.js.coffee
731
745
  - app/assets/javascripts/locomotive/views/content_entries/index_view.js.coffee
732
746
  - app/assets/javascripts/locomotive/views/content_entries/new_view.js.coffee
747
+ - app/assets/javascripts/locomotive/views/content_entry_imports/new_view.js.coffee
748
+ - app/assets/javascripts/locomotive/views/content_entry_imports/show_view.js.coffee
733
749
  - app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee
734
750
  - app/assets/javascripts/locomotive/views/current_site_metafields/index_view.js.coffee
735
751
  - app/assets/javascripts/locomotive/views/custom_fields/select_options/edit_view.js.coffee
@@ -782,6 +798,7 @@ files:
782
798
  - app/assets/stylesheets/locomotive/new/_brand.scss
783
799
  - app/assets/stylesheets/locomotive/new/_checkbox.scss
784
800
  - app/assets/stylesheets/locomotive/new/_content.scss
801
+ - app/assets/stylesheets/locomotive/new/_dashboard.scss
785
802
  - app/assets/stylesheets/locomotive/new/_drawer.scss
786
803
  - app/assets/stylesheets/locomotive/new/_files.scss
787
804
  - app/assets/stylesheets/locomotive/new/_flags.scss
@@ -840,6 +857,7 @@ files:
840
857
  - app/controllers/locomotive/content_assets_controller.rb
841
858
  - app/controllers/locomotive/content_entries_controller.rb
842
859
  - app/controllers/locomotive/content_entry_impersonations_controller.rb
860
+ - app/controllers/locomotive/content_entry_imports_controller.rb
843
861
  - app/controllers/locomotive/current_site_controller.rb
844
862
  - app/controllers/locomotive/current_site_metafields_controller.rb
845
863
  - app/controllers/locomotive/custom_fields/select_options_controller.rb
@@ -894,6 +912,7 @@ files:
894
912
  - app/inputs/locomotive/rte_input.rb
895
913
  - app/inputs/locomotive/simple_image_input.rb
896
914
  - app/inputs/locomotive/toggle_input.rb
915
+ - app/jobs/locomotive/import_content_entry_job.rb
897
916
  - app/jobs/locomotive/send_pony_email_job.rb
898
917
  - app/mailers/locomotive/devise_mailer.rb
899
918
  - app/mailers/locomotive/notifications.rb
@@ -915,6 +934,7 @@ files:
915
934
  - app/models/locomotive/concerns/content_type/entry_template.rb
916
935
  - app/models/locomotive/concerns/content_type/filter_fields.rb
917
936
  - app/models/locomotive/concerns/content_type/group_by.rb
937
+ - app/models/locomotive/concerns/content_type/import.rb
918
938
  - app/models/locomotive/concerns/content_type/label.rb
919
939
  - app/models/locomotive/concerns/content_type/order_by.rb
920
940
  - app/models/locomotive/concerns/content_type/public_submission_title_template.rb
@@ -972,6 +992,7 @@ files:
972
992
  - app/policies/locomotive/translation_policy.rb
973
993
  - app/services/locomotive/concerns/activity_service.rb
974
994
  - app/services/locomotive/content_asset_service.rb
995
+ - app/services/locomotive/content_entry_import_service.rb
975
996
  - app/services/locomotive/content_entry_service.rb
976
997
  - app/services/locomotive/content_type_service.rb
977
998
  - app/services/locomotive/custom_field_finder_service.rb
@@ -1009,6 +1030,8 @@ files:
1009
1030
  - app/views/locomotive/content_entries/form/_tabs.html.slim
1010
1031
  - app/views/locomotive/content_entries/index.html.slim
1011
1032
  - app/views/locomotive/content_entries/new.html.slim
1033
+ - app/views/locomotive/content_entry_imports/new.html.slim
1034
+ - app/views/locomotive/content_entry_imports/show.html.slim
1012
1035
  - app/views/locomotive/current_site/_domain.html.slim
1013
1036
  - app/views/locomotive/current_site/_locale.html.slim
1014
1037
  - app/views/locomotive/current_site/_membership.html.slim
@@ -1409,11 +1432,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
1409
1432
  version: '0'
1410
1433
  required_rubygems_version: !ruby/object:Gem::Requirement
1411
1434
  requirements:
1412
- - - ">="
1435
+ - - ">"
1413
1436
  - !ruby/object:Gem::Version
1414
- version: '0'
1437
+ version: 1.3.1
1415
1438
  requirements: []
1416
- rubygems_version: 3.0.3
1439
+ rubygems_version: 3.1.4
1417
1440
  signing_key:
1418
1441
  specification_version: 4
1419
1442
  summary: A platform to create, publish and edit sites