ecm_cms2 2.0.4 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/services/ecm/cms/create_navigation_service.rb +50 -0
- data/lib/ecm/cms/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a46d440ed60de2d49b37ffe06254a299e529962
|
4
|
+
data.tar.gz: 98a0181092f70edeafdc3ca9a458a484c81a5f70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30adfa89abf66c0d4b6cfa9f6c4a3496ba3b1b7c4ad27dca985d95b2bc69041f51a2ae1bc6dcaa31ffd38754cdb6fb3e93d6fb6037a3d100c038ab1ded1c0d6a
|
7
|
+
data.tar.gz: 7df8762035d6b5d67bca1a892319c7f82c9bb470b73a40fa3242d421b7a8555941ed9dcb0d4806d4c5e0279b17ad8cb9cbb00b7b9224c6275687b26b67f5addf
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Ecm::Cms
|
2
|
+
class CreateNavigationService < Itsf::Services::V2::Service::Base
|
3
|
+
class Response < Itsf::Services::V2::Response::Base
|
4
|
+
attr_accessor :navigation, :navigation_items, :created_navigation_items, :errored_navigation_items
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
super
|
8
|
+
@navigation_items = []
|
9
|
+
@created_navigation_items = []
|
10
|
+
@errrored_navigation_items = []
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
attr_accessor :locale, :name, :items_attributes
|
15
|
+
|
16
|
+
validates :locale, :name, :items_attributes, presence: true
|
17
|
+
|
18
|
+
def do_work
|
19
|
+
info "Running on environment #{Rails.env}"
|
20
|
+
return response unless valid?
|
21
|
+
@navigation = build_navigation
|
22
|
+
@navigation_items = build_navigation_items
|
23
|
+
@navigation_items.collect do |navigation_item|
|
24
|
+
if navigation_item.save
|
25
|
+
info "Created #{navigation_item}", indent: 1
|
26
|
+
response.created_navigation_items << navigation_item
|
27
|
+
else
|
28
|
+
add_error_and_say :base, "Error creating #{navigation_item}. Errors: #{navigation_item.errors.full_messages.to_sentence}", indent: 1
|
29
|
+
response.errored_navigation_items << navigation_item
|
30
|
+
end
|
31
|
+
end
|
32
|
+
response.navigation = @navigation
|
33
|
+
response.navigation_items = @navigation_items
|
34
|
+
info 'Done'
|
35
|
+
return response
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def build_navigation
|
41
|
+
Navigation.new(locale: locale, name: name)
|
42
|
+
end
|
43
|
+
|
44
|
+
def build_navigation_items
|
45
|
+
@items_attributes.collect do |item_attributes|
|
46
|
+
NavigationItem.new(item_attributes.merge(ecm_cms_navigation: @navigation))
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/lib/ecm/cms/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecm_cms2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Vasquez Angel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -432,6 +432,7 @@ files:
|
|
432
432
|
- app/models/ecm/cms/partial.rb
|
433
433
|
- app/models/ecm/cms/template.rb
|
434
434
|
- app/services/ecm/cms/add_homepages_service.rb
|
435
|
+
- app/services/ecm/cms/create_navigation_service.rb
|
435
436
|
- app/services/ecm/cms/import_partials_service.rb
|
436
437
|
- app/views/ecm/cms/_link_to_top.html.erb
|
437
438
|
- config/initializers/mime_types.rb
|