ecm_products 0.0.7.pre → 2.0.6.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. data/app/models/ecm/products/product.rb +51 -42
  2. data/app/models/ecm/products/product_category.rb +6 -7
  3. data/app/models/ecm/products/product_link.rb +1 -0
  4. data/app/models/ecm/products/product_picture.rb +56 -0
  5. data/app/views/ecm/products/product_pictures/_product_picture.html.erb +10 -0
  6. data/app/views/ecm/products/products/_product_details.html.erb +18 -7
  7. data/config/locales/ecm.products.de.yml +1 -0
  8. data/config/locales/ecm.products.en.yml +1 -0
  9. data/config/locales/ecm.products.product.de.yml +31 -29
  10. data/config/locales/ecm.products.product.en.yml +31 -29
  11. data/config/locales/ecm.products.product_category.de.yml +27 -25
  12. data/config/locales/ecm.products.product_category.en.yml +27 -25
  13. data/config/locales/ecm.products.product_picture.de.yml +25 -0
  14. data/config/locales/ecm.products.product_picture.en.yml +25 -0
  15. data/config/locales/ecm.products.routes.de.yml +2 -0
  16. data/config/locales/ecm.products.routes.en.yml +2 -0
  17. data/db/migrate/002_create_ecm_products_products.rb +1 -0
  18. data/db/migrate/004_create_ecm_products_product_pictures.rb +32 -0
  19. data/lib/ecm/products/active_admin/ecm_products_product_categories.rb +61 -39
  20. data/lib/ecm/products/active_admin/ecm_products_product_links.rb +16 -12
  21. data/lib/ecm/products/active_admin/ecm_products_product_pictures.rb +76 -0
  22. data/lib/ecm/products/active_admin/ecm_products_products.rb +80 -35
  23. data/lib/ecm/products/configuration.rb +35 -2
  24. data/lib/ecm/products/version.rb +1 -1
  25. data/lib/ecm_products.rb +1 -0
  26. data/lib/generators/ecm/products/install/templates/ecm_products.rb +46 -0
  27. data/lib/generators/ecm/products/locales/locales_generator.rb +3 -0
  28. data/lib/tasks/ecm_products_tasks.rake +118 -67
  29. metadata +70 -50
@@ -1,76 +1,127 @@
1
- namespace :ecm_products do
2
- namespace :db do
3
- desc "Purges and creates example data"
4
- task :populate!, [] => [:environment] do |t, args|
1
+ namespace :ecm do
2
+ namespace :products do
3
+ namespace :db do
4
+ desc "Purges and creates example data"
5
+ task :populate!, [] => [:environment] do |t, args|
5
6
 
6
- Rake::Task["ecm_products:db:clear!"].execute
7
- Rake::Task["ecm_products:db:populate"].execute
8
- end
9
-
10
- desc "Clears all data!"
11
- task :clear!, [] => [:environment] do |t, args|
12
- Ecm::Products::ProductCategory.delete_all
13
- Ecm::Products::Product.delete_all
14
- Ecm::Products::ProductLink.delete_all
15
- end
16
-
17
- desc "Creates example_data"
18
- task :populate, [] => [:environment] do |t, args|
19
- require "ffaker"
20
- require "forgery"
21
-
22
- # Create example product category roots
23
- 10.times do
24
- Ecm::Products::ProductCategory.create! do |pc|
25
- pc.locale = I18n.available_locales.choice.to_s
26
- pc.name = Faker::Product.brand
27
- pc.short_description = Faker::Lorem.paragraph(2)
28
- pc.long_description = Faker::Lorem.paragraph(10)
29
- pc.preview_image = File.open(ECM::Products::Engine.root + "spec/fixtures/product/preview_image.gif")
30
- pc.main_image = File.open(ECM::Products::Engine.root + "spec/fixtures/product/main_image.gif")
7
+ Rake::Task["ecm:products:db:clear!"].execute
8
+ Rake::Task["ecm:products:db:populate"].execute
9
+ end
10
+
11
+ desc "Clears all data!"
12
+ task :clear!, [] => [:environment] do |t, args|
13
+ Rake::Task["ecm:products:db:clear_product_categories!"].execute
14
+ Rake::Task["ecm:products:db:clear_products!"].execute
15
+ Rake::Task["ecm:products:db:clear_product_links!"].execute
16
+ Rake::Task["ecm:products:db:clear_product_pictures!"].execute
17
+ end
18
+
19
+ desc "Clears all product categories!"
20
+ task :clear_product_categories!, [] => [:environment] do |t, args|
21
+ Ecm::Products::ProductCategory.delete_all
22
+ end
23
+
24
+ desc "Clears all products!"
25
+ task :clear_products!, [] => [:environment] do |t, args|
26
+ Ecm::Products::Product.delete_all
27
+ end
28
+
29
+ desc "Clears all product links!"
30
+ task :clear_product_links!, [] => [:environment] do |t, args|
31
+ Ecm::Products::ProductLink.delete_all
32
+ end
33
+
34
+ desc "Clears all product pictures!"
35
+ task :clear_product_pictures!, [] => [:environment] do |t, args|
36
+ Ecm::Products::ProductPicture.delete_all
37
+ end
38
+
39
+ desc "Creates example data"
40
+ task :populate, [] => [:environment] do |t, args|
41
+ Rake::Task["ecm:products:db:populate_product_categories"].execute
42
+ Rake::Task["ecm:products:db:populate_products"].execute
43
+ Rake::Task["ecm:products:db:populate_product_links"].execute
44
+ Rake::Task["ecm:products:db:populate_product_pictures"].execute
45
+ end
46
+
47
+ desc "Creates example for product categories"
48
+ task :populate_product_categories, [] => [:environment] do |t, args|
49
+ require "ffaker"
50
+ require "forgery"
51
+
52
+ # Create example product category roots
53
+ 5.times do
54
+ Ecm::Products::ProductCategory.create! do |pc|
55
+ pc.locale = I18n.available_locales.choice.to_s
56
+ pc.name = "#{Faker::Product.brand} #{(1 + rand(9))}"
57
+ pc.short_description = Faker::Lorem.paragraph(2)
58
+ pc.long_description = Faker::Lorem.paragraph(10)
59
+ pc.preview_image = File.open(ECM::Products::Engine.root + "spec/files/ecm/products/product/preview_image.gif")
60
+ pc.main_image = File.open(ECM::Products::Engine.root + "spec/files/ecm/products/product/main_image.gif")
61
+ end
62
+ end
63
+
64
+ # Create example product categories
65
+ # roots = Ecm::Products::ProductCategory.roots.all
66
+ 10.times do
67
+ Ecm::Products::ProductCategory.create! do |pc|
68
+ pc.parent = Ecm::Products::ProductCategory.all.choice
69
+ pc.name = Faker::Product.brand
70
+ pc.short_description = Faker::Lorem.paragraph(2)
71
+ pc.long_description = Faker::Lorem.paragraph(10)
72
+ pc.preview_image = File.open(ECM::Products::Engine.root + "spec/files/ecm/products/product_category/preview_image.gif")
73
+ pc.main_image = File.open(ECM::Products::Engine.root + "spec/files/ecm/products/product_category/main_image.gif")
74
+ end
31
75
  end
32
76
  end
33
-
34
- # Create example product categories
35
- # roots = Ecm::Products::ProductCategory.roots.all
36
- 10.times do
37
- Ecm::Products::ProductCategory.create! do |pc|
38
- pc.parent = Ecm::Products::ProductCategory.all.choice
39
- pc.name = Faker::Product.brand
40
- pc.short_description = Faker::Lorem.paragraph(2)
41
- pc.long_description = Faker::Lorem.paragraph(10)
42
- pc.preview_image = File.open(ECM::Products::Engine.root + "spec/fixtures/product_category/preview_image.gif")
43
- pc.main_image = File.open(ECM::Products::Engine.root + "spec/fixtures/product_category/main_image.gif")
77
+
78
+ desc "Creates example for products"
79
+ task :populate_products, [] => [:environment] do |t, args|
80
+ # Create example products
81
+ product_categories = Ecm::Products::ProductCategory.all
82
+ 50.times do
83
+ Ecm::Products::Product.create! do |p|
84
+ p.name = Faker::Product.product_name
85
+ p.short_description = Faker::Lorem.paragraph(rand(2))
86
+ p.long_description = Faker::Lorem.paragraph(rand(10))
87
+ p.price_on_application = [true, false].choice
88
+ p.preview_image = File.open(ECM::Products::Engine.root + "spec/files/ecm/products/product_category/preview_image.gif")
89
+ p.main_image = File.open(ECM::Products::Engine.root + "spec/files/ecm/products/product_category/main_image.gif")
90
+
91
+ p.ecm_products_product_category = product_categories.choice
92
+
93
+ p.price = Money.new(rand(1000000 / 100), "EUR")
94
+ end
44
95
  end
45
- end
46
-
47
- # Create example products
48
- product_categories = Ecm::Products::ProductCategory.all
49
- 100.times do
50
- Ecm::Products::Product.create! do |p|
51
- p.name = Faker::Product.product_name
52
- p.short_description = Faker::Lorem.paragraph(rand(2))
53
- p.long_description = Faker::Lorem.paragraph(rand(10))
54
- p.price_on_application = [true, false].choice
55
- p.preview_image = File.open(ECM::Products::Engine.root + "spec/fixtures/product_category/preview_image.gif")
56
- p.main_image = File.open(ECM::Products::Engine.root + "spec/fixtures/product_category/main_image.gif")
57
-
58
- p.ecm_products_product_category = product_categories.choice
59
-
60
- p.price Money.new(rand(1000000 / 100), "EUR")
96
+ end
97
+
98
+ desc "Creates example for product links"
99
+ task :populate_product_links, [] => [:environment] do |t, args|
100
+ # Create example links
101
+ Ecm::Products::Product.all.each do |p|
102
+ rand(10).times do
103
+ p.ecm_products_product_links.create! do |pl|
104
+ pl.name = Faker::Product.product_name
105
+ pl.url = Faker::Internet.http_url
106
+ pl.description = Faker::Lorem.paragraph(rand(3))
107
+ end
108
+ end
61
109
  end
62
- end
63
-
64
- # Create example links
65
- Ecm::Products::Product.all.each do |p|
66
- rand(10).times do
67
- p.ecm_products_product_links.create do |pl|
68
- pl.name = Faker::Product.product_name
69
- pl.url = Faker::Internet.http_url
70
- pl.description = Faker::Lorem.paragraph(rand(3))
110
+ end
111
+
112
+ desc "Creates example for products"
113
+ task :populate_product_pictures, [] => [:environment] do |t, args|
114
+ # Create example pictures
115
+ Ecm::Products::Product.all.each do |p|
116
+ (0..10).to_a.push(0, 0, 0, 0, 0).choice.times do
117
+ p.ecm_products_product_pictures.create! do |pp|
118
+ pp.image = File.open(ECM::Products::Engine.root + "spec/files/ecm/products/product_picture/image.jpg")
119
+ pp.description = Faker::Lorem.paragraph(rand(3)) if rand(2) > 0
120
+ end
71
121
  end
72
122
  end
73
- end
74
- end
123
+ end
124
+ end
75
125
  end
76
126
  end
127
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecm_products
3
3
  version: !ruby/object:Gem::Version
4
- hash: 961915992
4
+ hash: 961916028
5
5
  prerelease: 6
6
6
  segments:
7
+ - 2
7
8
  - 0
8
- - 0
9
- - 7
9
+ - 6
10
10
  - pre
11
- version: 0.0.7.pre
11
+ version: 2.0.6.pre
12
12
  platform: ruby
13
13
  authors:
14
14
  - Roberto Vasquez Angel
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-09-23 00:00:00 Z
19
+ date: 2012-09-26 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: rails
@@ -35,7 +35,7 @@ dependencies:
35
35
  type: :runtime
36
36
  version_requirements: *id001
37
37
  - !ruby/object:Gem::Dependency
38
- name: active_admin-acts_as_list
38
+ name: activeadmin
39
39
  prerelease: false
40
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
41
  none: false
@@ -49,9 +49,23 @@ dependencies:
49
49
  type: :runtime
50
50
  version_requirements: *id002
51
51
  - !ruby/object:Gem::Dependency
52
- name: active_admin-awesome_nested_set
52
+ name: active_admin-acts_as_list
53
53
  prerelease: false
54
54
  requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ type: :runtime
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: active_admin-awesome_nested_set
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
55
69
  none: false
56
70
  requirements:
57
71
  - - ~>
@@ -63,11 +77,11 @@ dependencies:
63
77
  - 3
64
78
  version: 0.0.3
65
79
  type: :runtime
66
- version_requirements: *id003
80
+ version_requirements: *id004
67
81
  - !ruby/object:Gem::Dependency
68
82
  name: acts_as_list
69
83
  prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
84
+ requirement: &id005 !ruby/object:Gem::Requirement
71
85
  none: false
72
86
  requirements:
73
87
  - - ~>
@@ -79,11 +93,11 @@ dependencies:
79
93
  - 7
80
94
  version: 0.1.7
81
95
  type: :runtime
82
- version_requirements: *id004
96
+ version_requirements: *id005
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: acts_as_markup
85
99
  prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
100
+ requirement: &id006 !ruby/object:Gem::Requirement
87
101
  none: false
88
102
  requirements:
89
103
  - - ">="
@@ -93,11 +107,11 @@ dependencies:
93
107
  - 0
94
108
  version: "0"
95
109
  type: :runtime
96
- version_requirements: *id005
110
+ version_requirements: *id006
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: awesome_nested_set
99
113
  prerelease: false
100
- requirement: &id006 !ruby/object:Gem::Requirement
114
+ requirement: &id007 !ruby/object:Gem::Requirement
101
115
  none: false
102
116
  requirements:
103
117
  - - ">="
@@ -107,11 +121,11 @@ dependencies:
107
121
  - 0
108
122
  version: "0"
109
123
  type: :runtime
110
- version_requirements: *id006
124
+ version_requirements: *id007
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: awesome_nested_set-tools
113
127
  prerelease: false
114
- requirement: &id007 !ruby/object:Gem::Requirement
128
+ requirement: &id008 !ruby/object:Gem::Requirement
115
129
  none: false
116
130
  requirements:
117
131
  - - ">="
@@ -121,11 +135,11 @@ dependencies:
121
135
  - 0
122
136
  version: "0"
123
137
  type: :runtime
124
- version_requirements: *id007
138
+ version_requirements: *id008
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: friendly_id
127
141
  prerelease: false
128
- requirement: &id008 !ruby/object:Gem::Requirement
142
+ requirement: &id009 !ruby/object:Gem::Requirement
129
143
  none: false
130
144
  requirements:
131
145
  - - ">="
@@ -135,11 +149,11 @@ dependencies:
135
149
  - 0
136
150
  version: "0"
137
151
  type: :runtime
138
- version_requirements: *id008
152
+ version_requirements: *id009
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: money-rails
141
155
  prerelease: false
142
- requirement: &id009 !ruby/object:Gem::Requirement
156
+ requirement: &id010 !ruby/object:Gem::Requirement
143
157
  none: false
144
158
  requirements:
145
159
  - - ">="
@@ -149,11 +163,11 @@ dependencies:
149
163
  - 0
150
164
  version: "0"
151
165
  type: :runtime
152
- version_requirements: *id009
166
+ version_requirements: *id010
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: paperclip
155
169
  prerelease: false
156
- requirement: &id010 !ruby/object:Gem::Requirement
170
+ requirement: &id011 !ruby/object:Gem::Requirement
157
171
  none: false
158
172
  requirements:
159
173
  - - ~>
@@ -164,11 +178,11 @@ dependencies:
164
178
  - 7
165
179
  version: "2.7"
166
180
  type: :runtime
167
- version_requirements: *id010
181
+ version_requirements: *id011
168
182
  - !ruby/object:Gem::Dependency
169
183
  name: rails_tools-absence_validator
170
184
  prerelease: false
171
- requirement: &id011 !ruby/object:Gem::Requirement
185
+ requirement: &id012 !ruby/object:Gem::Requirement
172
186
  none: false
173
187
  requirements:
174
188
  - - ~>
@@ -180,11 +194,11 @@ dependencies:
180
194
  - 1
181
195
  version: 0.0.1
182
196
  type: :runtime
183
- version_requirements: *id011
197
+ version_requirements: *id012
184
198
  - !ruby/object:Gem::Dependency
185
199
  name: sqlite3
186
200
  prerelease: false
187
- requirement: &id012 !ruby/object:Gem::Requirement
201
+ requirement: &id013 !ruby/object:Gem::Requirement
188
202
  none: false
189
203
  requirements:
190
204
  - - ">="
@@ -194,11 +208,11 @@ dependencies:
194
208
  - 0
195
209
  version: "0"
196
210
  type: :development
197
- version_requirements: *id012
211
+ version_requirements: *id013
198
212
  - !ruby/object:Gem::Dependency
199
213
  name: thin
200
214
  prerelease: false
201
- requirement: &id013 !ruby/object:Gem::Requirement
215
+ requirement: &id014 !ruby/object:Gem::Requirement
202
216
  none: false
203
217
  requirements:
204
218
  - - ">="
@@ -208,11 +222,11 @@ dependencies:
208
222
  - 0
209
223
  version: "0"
210
224
  type: :development
211
- version_requirements: *id013
225
+ version_requirements: *id014
212
226
  - !ruby/object:Gem::Dependency
213
227
  name: yard
214
228
  prerelease: false
215
- requirement: &id014 !ruby/object:Gem::Requirement
229
+ requirement: &id015 !ruby/object:Gem::Requirement
216
230
  none: false
217
231
  requirements:
218
232
  - - ">="
@@ -222,11 +236,11 @@ dependencies:
222
236
  - 0
223
237
  version: "0"
224
238
  type: :development
225
- version_requirements: *id014
239
+ version_requirements: *id015
226
240
  - !ruby/object:Gem::Dependency
227
241
  name: sass-rails
228
242
  prerelease: false
229
- requirement: &id015 !ruby/object:Gem::Requirement
243
+ requirement: &id016 !ruby/object:Gem::Requirement
230
244
  none: false
231
245
  requirements:
232
246
  - - ">="
@@ -236,11 +250,11 @@ dependencies:
236
250
  - 0
237
251
  version: "0"
238
252
  type: :development
239
- version_requirements: *id015
253
+ version_requirements: *id016
240
254
  - !ruby/object:Gem::Dependency
241
255
  name: coffee-rails
242
256
  prerelease: false
243
- requirement: &id016 !ruby/object:Gem::Requirement
257
+ requirement: &id017 !ruby/object:Gem::Requirement
244
258
  none: false
245
259
  requirements:
246
260
  - - ">="
@@ -250,11 +264,11 @@ dependencies:
250
264
  - 0
251
265
  version: "0"
252
266
  type: :development
253
- version_requirements: *id016
267
+ version_requirements: *id017
254
268
  - !ruby/object:Gem::Dependency
255
269
  name: capybara
256
270
  prerelease: false
257
- requirement: &id017 !ruby/object:Gem::Requirement
271
+ requirement: &id018 !ruby/object:Gem::Requirement
258
272
  none: false
259
273
  requirements:
260
274
  - - ">="
@@ -264,11 +278,11 @@ dependencies:
264
278
  - 0
265
279
  version: "0"
266
280
  type: :development
267
- version_requirements: *id017
281
+ version_requirements: *id018
268
282
  - !ruby/object:Gem::Dependency
269
283
  name: rspec-rails
270
284
  prerelease: false
271
- requirement: &id018 !ruby/object:Gem::Requirement
285
+ requirement: &id019 !ruby/object:Gem::Requirement
272
286
  none: false
273
287
  requirements:
274
288
  - - ~>
@@ -279,11 +293,11 @@ dependencies:
279
293
  - 0
280
294
  version: "2.0"
281
295
  type: :development
282
- version_requirements: *id018
296
+ version_requirements: *id019
283
297
  - !ruby/object:Gem::Dependency
284
298
  name: factory_girl_rails
285
299
  prerelease: false
286
- requirement: &id019 !ruby/object:Gem::Requirement
300
+ requirement: &id020 !ruby/object:Gem::Requirement
287
301
  none: false
288
302
  requirements:
289
303
  - - ~>
@@ -294,11 +308,11 @@ dependencies:
294
308
  - 0
295
309
  version: "1.0"
296
310
  type: :development
297
- version_requirements: *id019
311
+ version_requirements: *id020
298
312
  - !ruby/object:Gem::Dependency
299
313
  name: ffaker
300
314
  prerelease: false
301
- requirement: &id020 !ruby/object:Gem::Requirement
315
+ requirement: &id021 !ruby/object:Gem::Requirement
302
316
  none: false
303
317
  requirements:
304
318
  - - ">="
@@ -308,11 +322,11 @@ dependencies:
308
322
  - 0
309
323
  version: "0"
310
324
  type: :development
311
- version_requirements: *id020
325
+ version_requirements: *id021
312
326
  - !ruby/object:Gem::Dependency
313
327
  name: guard-rspec
314
328
  prerelease: false
315
- requirement: &id021 !ruby/object:Gem::Requirement
329
+ requirement: &id022 !ruby/object:Gem::Requirement
316
330
  none: false
317
331
  requirements:
318
332
  - - ">="
@@ -322,11 +336,11 @@ dependencies:
322
336
  - 0
323
337
  version: "0"
324
338
  type: :development
325
- version_requirements: *id021
339
+ version_requirements: *id022
326
340
  - !ruby/object:Gem::Dependency
327
341
  name: guard-bundler
328
342
  prerelease: false
329
- requirement: &id022 !ruby/object:Gem::Requirement
343
+ requirement: &id023 !ruby/object:Gem::Requirement
330
344
  none: false
331
345
  requirements:
332
346
  - - ">="
@@ -336,11 +350,11 @@ dependencies:
336
350
  - 0
337
351
  version: "0"
338
352
  type: :development
339
- version_requirements: *id022
353
+ version_requirements: *id023
340
354
  - !ruby/object:Gem::Dependency
341
355
  name: shoulda-matchers
342
356
  prerelease: false
343
- requirement: &id023 !ruby/object:Gem::Requirement
357
+ requirement: &id024 !ruby/object:Gem::Requirement
344
358
  none: false
345
359
  requirements:
346
360
  - - ">="
@@ -350,11 +364,11 @@ dependencies:
350
364
  - 0
351
365
  version: "0"
352
366
  type: :development
353
- version_requirements: *id023
367
+ version_requirements: *id024
354
368
  - !ruby/object:Gem::Dependency
355
369
  name: forgery
356
370
  prerelease: false
357
- requirement: &id024 !ruby/object:Gem::Requirement
371
+ requirement: &id025 !ruby/object:Gem::Requirement
358
372
  none: false
359
373
  requirements:
360
374
  - - "="
@@ -366,7 +380,7 @@ dependencies:
366
380
  - 0
367
381
  version: 0.5.0
368
382
  type: :development
369
- version_requirements: *id024
383
+ version_requirements: *id025
370
384
  description: Product management for active admin.
371
385
  email:
372
386
  - roberto@vasquez-angel.de
@@ -381,6 +395,7 @@ files:
381
395
  - app/controllers/ecm/products/product_categories_controller.rb
382
396
  - app/helpers/ecm/products/product_category_helper.rb
383
397
  - app/helpers/ecm/products/product_helper.rb
398
+ - app/views/ecm/products/product_pictures/_product_picture.html.erb
384
399
  - app/views/ecm/products/product_categories/_product_category.html.erb
385
400
  - app/views/ecm/products/product_categories/show.html.erb
386
401
  - app/views/ecm/products/product_categories/index.html.erb
@@ -391,11 +406,14 @@ files:
391
406
  - app/views/ecm/products/products/index.html.erb
392
407
  - app/views/ecm/products/products/_product_preview.html.erb
393
408
  - app/views/ecm/products/products/_product.html.erb
409
+ - app/models/ecm/products/product_picture.rb
394
410
  - app/models/ecm/products/product.rb
395
411
  - app/models/ecm/products/product_link.rb
396
412
  - app/models/ecm/products/product_category.rb
397
413
  - app/models/ecm/products.rb
398
414
  - config/locales/ecm.products.de.yml
415
+ - config/locales/ecm.products.product_picture.en.yml
416
+ - config/locales/ecm.products.product_picture.de.yml
399
417
  - config/locales/ecm.products.routes.de.yml
400
418
  - config/locales/ecm.products.product.en.yml
401
419
  - config/locales/ecm.products.product_category.de.yml
@@ -408,12 +426,14 @@ files:
408
426
  - db/migrate/002_create_ecm_products_products.rb
409
427
  - db/migrate/001_create_ecm_products_product_categories.rb
410
428
  - db/migrate/003_create_ecm_products_product_links.rb
429
+ - db/migrate/004_create_ecm_products_product_pictures.rb
411
430
  - lib/ecm_products.rb
412
431
  - lib/generators/ecm/products/locales/locales_generator.rb
413
432
  - lib/generators/ecm/products/install/install_generator.rb
414
433
  - lib/generators/ecm/products/install/templates/ecm_products.rb
415
434
  - lib/tasks/ecm_products_tasks.rake
416
435
  - lib/ecm/products/active_admin/ecm_products_product_categories.rb
436
+ - lib/ecm/products/active_admin/ecm_products_product_pictures.rb
417
437
  - lib/ecm/products/active_admin/ecm_products_product_links.rb
418
438
  - lib/ecm/products/active_admin/ecm_products_products.rb
419
439
  - lib/ecm/products/engine.rb