ecm_cms 0.0.13.pre → 1.0.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/ecm/cms/page_controller.rb +1 -2
- data/app/models/ecm/cms/content_box.rb +21 -0
- data/app/models/ecm/cms/navigation.rb +1 -0
- data/app/models/ecm/cms/page/content_block.rb +24 -0
- data/app/models/ecm/cms/page.rb +46 -38
- data/config/locales/ecm.cms.content_box.de.yml +16 -0
- data/config/locales/ecm.cms.content_box.en.yml +16 -0
- data/config/locales/ecm.cms.page.content_block.de.yml +15 -0
- data/config/locales/ecm.cms.page.content_block.en.yml +15 -0
- data/db/migrate/007_create_ecm_cms_content_boxes.rb +9 -0
- data/db/migrate/008_create_ecm_cms_page_content_blocks.rb +15 -0
- data/lib/ecm/cms/active_admin/ecm_cms_content_box.rb +32 -0
- data/lib/ecm/cms/active_admin/ecm_cms_navigation_items.rb +2 -2
- data/lib/ecm/cms/active_admin/ecm_cms_pages.rb +21 -0
- data/lib/ecm/cms/resolvers/ecm/cms/page_resolver.rb +13 -5
- data/lib/ecm/cms/version.rb +1 -1
- data/lib/generators/ecm/cms/locales/locales_generator.rb +6 -0
- metadata +34 -40
@@ -8,8 +8,7 @@ class Ecm::Cms::PageController < ApplicationController
|
|
8
8
|
# avoid error 500 on missing template
|
9
9
|
rescue_from ActionView::MissingTemplate do
|
10
10
|
respond_to do |format|
|
11
|
-
|
12
|
-
format.html { render(:file => "#{Rails.root}/public/404", :formats => [:html], :status => 404, :layout => false) }
|
11
|
+
format.html { render(:file => "#{Rails.root}/public/404", :formats => [:html], :layout => false, :status => 404) }
|
13
12
|
format.xml { head :not_found }
|
14
13
|
format.any { head :not_found }
|
15
14
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Ecm::Cms
|
2
|
+
class ContentBox < ActiveRecord::Base
|
3
|
+
self.table_name = 'ecm_cms_content_boxes'
|
4
|
+
|
5
|
+
# associations
|
6
|
+
has_many :ecm_cms_page_content_blocks, :class_name => 'Page::ContentBlock',
|
7
|
+
:foreign_key => 'ecm_cms_content_box_id'
|
8
|
+
|
9
|
+
# attributes
|
10
|
+
attr_accessible :name
|
11
|
+
|
12
|
+
# validations
|
13
|
+
validates :name, :presence => true,
|
14
|
+
:uniqueness => true
|
15
|
+
|
16
|
+
def ecm_cms_page_content_blocks_count
|
17
|
+
ecm_cms_page_content_blocks.count
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Ecm::Cms
|
2
|
+
class Page::ContentBlock < ActiveRecord::Base
|
3
|
+
# associations
|
4
|
+
belongs_to :ecm_cms_content_box, :class_name => 'ContentBox',
|
5
|
+
:foreign_key => 'ecm_cms_content_box_id'
|
6
|
+
belongs_to :ecm_cms_page, :class_name => 'Ecm::Cms::Page',
|
7
|
+
:foreign_key => 'ecm_cms_page_id'
|
8
|
+
|
9
|
+
# attributes
|
10
|
+
attr_accessible :body,
|
11
|
+
:ecm_cms_content_box_id
|
12
|
+
|
13
|
+
# validations
|
14
|
+
validates :body, :presence => true
|
15
|
+
validates :ecm_cms_content_box, :presence => true
|
16
|
+
validates :ecm_cms_page, :presence => true
|
17
|
+
# validates :ecm_cms_page, :existence => true
|
18
|
+
|
19
|
+
def content_box_name
|
20
|
+
ecm_cms_content_box.name
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
data/app/models/ecm/cms/page.rb
CHANGED
@@ -1,40 +1,48 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
1
|
+
module Ecm::Cms
|
2
|
+
class Page < ActiveRecord::Base
|
3
|
+
self.table_name = 'ecm_cms_pages'
|
4
|
+
|
5
|
+
# add shared behaviour for database backed templates
|
6
|
+
include DatabaseTemplate
|
7
|
+
|
8
|
+
# associations
|
9
|
+
has_many :ecm_cms_navigation_items,
|
10
|
+
:class_name => 'NavigationItem',
|
11
|
+
:dependent => :nullify,
|
12
|
+
:foreign_key => 'ecm_cms_page_id'
|
13
|
+
has_many :ecm_cms_page_content_blocks,
|
14
|
+
:class_name => 'Ecm::Cms::Page::ContentBlock',
|
15
|
+
:dependent => :destroy,
|
16
|
+
:foreign_key => 'ecm_cms_page_id',
|
17
|
+
:inverse_of => :ecm_cms_page
|
18
|
+
|
19
|
+
# attributes
|
20
|
+
attr_accessible :basename,
|
21
|
+
:body,
|
22
|
+
:ecm_cms_folder_id,
|
23
|
+
:ecm_cms_navigation_item_ids,
|
24
|
+
:ecm_cms_page_content_blocks_attributes,
|
25
|
+
:format,
|
26
|
+
:handler,
|
27
|
+
:layout,
|
28
|
+
:locale,
|
29
|
+
:meta_description,
|
30
|
+
:pathname,
|
31
|
+
:title
|
32
|
+
accepts_nested_attributes_for :ecm_cms_page_content_blocks, :allow_destroy => true
|
33
|
+
|
34
|
+
# callbacks
|
35
|
+
after_save :touch_navigation_items # , :if => Proc.new { |page| page.locale_changed? || page.pathname_changed? || page.basename_changed? }
|
36
|
+
|
37
|
+
# validations
|
38
|
+
validates :title, :presence => true
|
39
|
+
|
40
|
+
def home_page?
|
41
|
+
return self.pathname == '/' && self.basename == 'home'
|
42
|
+
end
|
43
|
+
|
44
|
+
def touch_navigation_items
|
45
|
+
self.ecm_cms_navigation_items.map(&:update_url_form_page!)
|
46
|
+
end
|
38
47
|
end
|
39
48
|
end
|
40
|
-
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
de:
|
3
|
+
activerecord:
|
4
|
+
models:
|
5
|
+
ecm/cms/content_box:
|
6
|
+
one: Content Box
|
7
|
+
other: Content Boxen
|
8
|
+
attributes:
|
9
|
+
ecm/cms/content_box:
|
10
|
+
name: Name
|
11
|
+
body: Inhalt
|
12
|
+
created_at: Erstellt am
|
13
|
+
ecm_cms_page_content_blocks: Content Blöcke
|
14
|
+
ecm_cms_page_content_blocks_count: Content Blöcke
|
15
|
+
updated_at: Aktualisiert am
|
16
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
en:
|
3
|
+
activerecord:
|
4
|
+
models:
|
5
|
+
ecm/cms/content_box:
|
6
|
+
one: content box
|
7
|
+
other: content boxes
|
8
|
+
attributes:
|
9
|
+
ecm/cms/content_box:
|
10
|
+
name: name
|
11
|
+
body: body
|
12
|
+
created_at: created at
|
13
|
+
ecm_cms_page_content_blocks: content blocks
|
14
|
+
ecm_cms_page_content_blocks_count: content blocks
|
15
|
+
updated_at: updated at
|
16
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
de:
|
3
|
+
activerecord:
|
4
|
+
models:
|
5
|
+
ecm/cms/page/content_block:
|
6
|
+
one: Content Block
|
7
|
+
other: Content Blöcke
|
8
|
+
attributes:
|
9
|
+
ecm/cms/page/content_block:
|
10
|
+
body: Inhalt
|
11
|
+
created_at: Erstellt am
|
12
|
+
ecm_cms_page: Seite
|
13
|
+
ecm_cms_content_box: Content Box
|
14
|
+
updated_at: Aktualisiert am
|
15
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
en:
|
3
|
+
activerecord:
|
4
|
+
models:
|
5
|
+
ecm/cms/page/content_block:
|
6
|
+
one: content block
|
7
|
+
other: content blocks
|
8
|
+
attributes:
|
9
|
+
ecm/cms/page/content_block:
|
10
|
+
body: body
|
11
|
+
created_at: created at
|
12
|
+
ecm_cms_page: page
|
13
|
+
ecm_cms_content_box: content box
|
14
|
+
updated_at: udpated at
|
15
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateEcmCmsPageContentBlocks < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :ecm_cms_page_content_blocks do |t|
|
4
|
+
t.text :body
|
5
|
+
|
6
|
+
# associations
|
7
|
+
t.references :ecm_cms_page
|
8
|
+
t.references :ecm_cms_content_box
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
add_index :ecm_cms_page_content_blocks, :ecm_cms_page_id
|
13
|
+
add_index :ecm_cms_page_content_blocks, :ecm_cms_content_box_id
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
ActiveAdmin.register Ecm::Cms::ContentBox do
|
2
|
+
# Menu
|
3
|
+
menu :parent => Proc.new { I18n.t('ecm.cms.active_admin.menu') }.call
|
4
|
+
|
5
|
+
index do
|
6
|
+
selectable_column
|
7
|
+
column :name
|
8
|
+
column :created_at
|
9
|
+
column :updated_at
|
10
|
+
default_actions
|
11
|
+
end
|
12
|
+
|
13
|
+
show do
|
14
|
+
panel Ecm::Cms::ContentBox.human_attribute_name(:ecm_cms_page_content_blocks) do
|
15
|
+
table_for ecm_cms_content_box.ecm_cms_page_content_blocks, :i18n => Ecm::Cms::Page::ContentBlock do |content_block|
|
16
|
+
column :ecm_cms_page
|
17
|
+
column :body
|
18
|
+
column :created_at
|
19
|
+
column :updated_at
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
sidebar Ecm::Cms::ContentBox.human_attribute_name(:details), :only => :show do
|
25
|
+
attributes_table_for ecm_cms_content_box do
|
26
|
+
row :name
|
27
|
+
row :created_at
|
28
|
+
row :updated_at
|
29
|
+
row :ecm_cms_page_content_blocks_count
|
30
|
+
end
|
31
|
+
end # sidebar
|
32
|
+
end
|
@@ -7,7 +7,7 @@ ActiveAdmin.register Ecm::Cms::NavigationItem do
|
|
7
7
|
|
8
8
|
form do |f|
|
9
9
|
f.inputs do
|
10
|
-
f.input :ecm_cms_navigation
|
10
|
+
f.input :ecm_cms_navigation, :collection => Ecm::Cms::Navigation.all.collect { |navigation| [navigation.to_s, navigation.id] }
|
11
11
|
f.input :parent
|
12
12
|
f.input :name
|
13
13
|
end
|
@@ -28,7 +28,7 @@ ActiveAdmin.register Ecm::Cms::NavigationItem do
|
|
28
28
|
index :as => :nested_set do
|
29
29
|
selectable_column
|
30
30
|
sortable_tree_columns
|
31
|
-
column :ecm_cms_navigation
|
31
|
+
column(:ecm_cms_navigation) { |ni| link_to(ni.ecm_cms_navigation.to_s, [:admin, ni.ecm_cms_navigation]) }
|
32
32
|
column :name
|
33
33
|
column :url
|
34
34
|
column :ecm_cms_page do |ni|
|
@@ -3,12 +3,27 @@ ActiveAdmin.register Ecm::Cms::Page do
|
|
3
3
|
menu :parent => Proc.new { I18n.t('ecm.cms.active_admin.menu') }.call
|
4
4
|
|
5
5
|
form do |f|
|
6
|
+
# f.inputs do
|
7
|
+
# f.object.errors.inspect
|
8
|
+
# end
|
9
|
+
|
6
10
|
f.inputs do
|
7
11
|
f.input :title
|
8
12
|
f.input :meta_description
|
9
13
|
f.input :body
|
10
14
|
end
|
11
15
|
|
16
|
+
f.has_many :ecm_cms_page_content_blocks do |cb|
|
17
|
+
# cb.inputs do
|
18
|
+
if cb.object.persisted?
|
19
|
+
cb.input :_destroy, :as => :boolean, :label => I18n.t('active_admin.delete')
|
20
|
+
end
|
21
|
+
|
22
|
+
cb.input :ecm_cms_content_box
|
23
|
+
cb.input :body
|
24
|
+
# end
|
25
|
+
end if Ecm::Cms::ContentBox.count > 0
|
26
|
+
|
12
27
|
f.inputs do
|
13
28
|
f.input :pathname
|
14
29
|
f.input :basename
|
@@ -58,6 +73,12 @@ ActiveAdmin.register Ecm::Cms::Page do
|
|
58
73
|
panel Ecm::Cms::Page.human_attribute_name(:body) do
|
59
74
|
pre { ecm_cms_page.body }
|
60
75
|
end
|
76
|
+
|
77
|
+
ecm_cms_page.ecm_cms_page_content_blocks.each do |content_block|
|
78
|
+
panel content_block.content_box_name do
|
79
|
+
pre { content_block.body }
|
80
|
+
end
|
81
|
+
end
|
61
82
|
end
|
62
83
|
|
63
84
|
sidebar Ecm::Cms::Page.human_attribute_name(:details), :only => :show do
|
@@ -10,14 +10,22 @@ module Ecm
|
|
10
10
|
include Ecm::Cms::DatabaseResolver
|
11
11
|
|
12
12
|
def build_source(record)
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
output = ''
|
14
|
+
record.ecm_cms_page_content_blocks.each do |content_block|
|
15
|
+
# rendered_body = RedCloth.new(begin;content_block.body;end).to_html.html_safe
|
16
|
+
rendered_body = RedCloth.new(content_block.body).to_html
|
17
|
+
output << "<% content_for :#{content_block.content_box_name} do %>#{rendered_body}<% end %>"
|
17
18
|
end
|
19
|
+
|
18
20
|
content_for_title = "<% content_for :title do %>#{record.title}<% end %>"
|
19
21
|
content_for_meta_description = "<% content_for :meta_description do %>#{record.meta_description}<% end %>"
|
20
|
-
|
22
|
+
output << content_for_title << content_for_meta_description
|
23
|
+
|
24
|
+
unless record.body.nil?
|
25
|
+
output << record.body
|
26
|
+
end
|
27
|
+
|
28
|
+
return output
|
21
29
|
end
|
22
30
|
|
23
31
|
def normalize_basename(basename)
|
data/lib/ecm/cms/version.rb
CHANGED
@@ -10,6 +10,9 @@ module Ecm
|
|
10
10
|
copy_file "ecm.cms.en.yml", "config/locales/ecm.cms.en.yml"
|
11
11
|
copy_file "ecm.cms.de.yml", "config/locales/ecm.cms.de.yml"
|
12
12
|
|
13
|
+
copy_file "ecm.cms.content_box.en.yml", "config/locales/ecm.cms.content_box.en.yml"
|
14
|
+
copy_file "ecm.cms.content_box.de.yml", "config/locales/ecm.cms.content_box.de.yml"
|
15
|
+
|
13
16
|
copy_file "ecm.cms.navigation.en.yml", "config/locales/ecm.cms.navigation.en.yml"
|
14
17
|
copy_file "ecm.cms.navigation.de.yml", "config/locales/ecm.cms.navigation.de.yml"
|
15
18
|
|
@@ -19,6 +22,9 @@ module Ecm
|
|
19
22
|
copy_file "ecm.cms.page.en.yml", "config/locales/ecm.cms.page.en.yml"
|
20
23
|
copy_file "ecm.cms.page.de.yml", "config/locales/ecm.cms.page.de.yml"
|
21
24
|
|
25
|
+
copy_file "ecm.cms.page.content_block.en.yml", "config/locales/ecm.cms.page.content_block.en.yml"
|
26
|
+
copy_file "ecm.cms.page.content_block.de.yml", "config/locales/ecm.cms.page.content_block.de.yml"
|
27
|
+
|
22
28
|
copy_file "ecm.cms.partial.en.yml", "config/locales/ecm.cms.partial.en.yml"
|
23
29
|
copy_file "ecm.cms.partial.de.yml", "config/locales/ecm.cms.partial.de.yml"
|
24
30
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecm_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 961915988
|
5
|
+
prerelease: 6
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
9
|
- 0
|
9
|
-
- 13
|
10
10
|
- pre
|
11
|
-
version: 0.0.
|
11
|
+
version: 1.0.0.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: 2013-
|
19
|
+
date: 2013-03-16 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: rails
|
@@ -26,12 +26,12 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 23
|
30
30
|
segments:
|
31
31
|
- 3
|
32
32
|
- 2
|
33
|
-
-
|
34
|
-
version: 3.2.
|
33
|
+
- 12
|
34
|
+
version: 3.2.12
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
@@ -175,7 +175,7 @@ dependencies:
|
|
175
175
|
type: :development
|
176
176
|
version_requirements: *id011
|
177
177
|
- !ruby/object:Gem::Dependency
|
178
|
-
name:
|
178
|
+
name: coffee-rails
|
179
179
|
prerelease: false
|
180
180
|
requirement: &id012 !ruby/object:Gem::Requirement
|
181
181
|
none: false
|
@@ -217,7 +217,7 @@ dependencies:
|
|
217
217
|
type: :development
|
218
218
|
version_requirements: *id014
|
219
219
|
- !ruby/object:Gem::Dependency
|
220
|
-
name:
|
220
|
+
name: therubyracer
|
221
221
|
prerelease: false
|
222
222
|
requirement: &id015 !ruby/object:Gem::Requirement
|
223
223
|
none: false
|
@@ -231,7 +231,7 @@ dependencies:
|
|
231
231
|
type: :development
|
232
232
|
version_requirements: *id015
|
233
233
|
- !ruby/object:Gem::Dependency
|
234
|
-
name:
|
234
|
+
name: twitter-bootstrap-rails
|
235
235
|
prerelease: false
|
236
236
|
requirement: &id016 !ruby/object:Gem::Requirement
|
237
237
|
none: false
|
@@ -245,7 +245,7 @@ dependencies:
|
|
245
245
|
type: :development
|
246
246
|
version_requirements: *id016
|
247
247
|
- !ruby/object:Gem::Dependency
|
248
|
-
name:
|
248
|
+
name: capybara
|
249
249
|
prerelease: false
|
250
250
|
requirement: &id017 !ruby/object:Gem::Requirement
|
251
251
|
none: false
|
@@ -259,7 +259,7 @@ dependencies:
|
|
259
259
|
type: :development
|
260
260
|
version_requirements: *id017
|
261
261
|
- !ruby/object:Gem::Dependency
|
262
|
-
name:
|
262
|
+
name: rspec-rails
|
263
263
|
prerelease: false
|
264
264
|
requirement: &id018 !ruby/object:Gem::Requirement
|
265
265
|
none: false
|
@@ -273,7 +273,7 @@ dependencies:
|
|
273
273
|
type: :development
|
274
274
|
version_requirements: *id018
|
275
275
|
- !ruby/object:Gem::Dependency
|
276
|
-
name:
|
276
|
+
name: shoulda-matchers
|
277
277
|
prerelease: false
|
278
278
|
requirement: &id019 !ruby/object:Gem::Requirement
|
279
279
|
none: false
|
@@ -286,24 +286,10 @@ dependencies:
|
|
286
286
|
version: "0"
|
287
287
|
type: :development
|
288
288
|
version_requirements: *id019
|
289
|
-
- !ruby/object:Gem::Dependency
|
290
|
-
name: shoulda-matchers
|
291
|
-
prerelease: false
|
292
|
-
requirement: &id020 !ruby/object:Gem::Requirement
|
293
|
-
none: false
|
294
|
-
requirements:
|
295
|
-
- - ">="
|
296
|
-
- !ruby/object:Gem::Version
|
297
|
-
hash: 3
|
298
|
-
segments:
|
299
|
-
- 0
|
300
|
-
version: "0"
|
301
|
-
type: :development
|
302
|
-
version_requirements: *id020
|
303
289
|
- !ruby/object:Gem::Dependency
|
304
290
|
name: factory_girl_rails
|
305
291
|
prerelease: false
|
306
|
-
requirement: &
|
292
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
307
293
|
none: false
|
308
294
|
requirements:
|
309
295
|
- - ~>
|
@@ -314,27 +300,26 @@ dependencies:
|
|
314
300
|
- 0
|
315
301
|
version: "1.0"
|
316
302
|
type: :development
|
317
|
-
version_requirements: *
|
303
|
+
version_requirements: *id020
|
318
304
|
- !ruby/object:Gem::Dependency
|
319
305
|
name: rb-inotify
|
320
306
|
prerelease: false
|
321
|
-
requirement: &
|
307
|
+
requirement: &id021 !ruby/object:Gem::Requirement
|
322
308
|
none: false
|
323
309
|
requirements:
|
324
310
|
- - ~>
|
325
311
|
- !ruby/object:Gem::Version
|
326
|
-
hash:
|
312
|
+
hash: 25
|
327
313
|
segments:
|
328
314
|
- 0
|
329
|
-
-
|
330
|
-
|
331
|
-
version: 0.8.8
|
315
|
+
- 9
|
316
|
+
version: "0.9"
|
332
317
|
type: :development
|
333
|
-
version_requirements: *
|
318
|
+
version_requirements: *id021
|
334
319
|
- !ruby/object:Gem::Dependency
|
335
320
|
name: guard-rspec
|
336
321
|
prerelease: false
|
337
|
-
requirement: &
|
322
|
+
requirement: &id022 !ruby/object:Gem::Requirement
|
338
323
|
none: false
|
339
324
|
requirements:
|
340
325
|
- - ">="
|
@@ -344,11 +329,11 @@ dependencies:
|
|
344
329
|
- 0
|
345
330
|
version: "0"
|
346
331
|
type: :development
|
347
|
-
version_requirements: *
|
332
|
+
version_requirements: *id022
|
348
333
|
- !ruby/object:Gem::Dependency
|
349
334
|
name: guard-bundler
|
350
335
|
prerelease: false
|
351
|
-
requirement: &
|
336
|
+
requirement: &id023 !ruby/object:Gem::Requirement
|
352
337
|
none: false
|
353
338
|
requirements:
|
354
339
|
- - ">="
|
@@ -358,7 +343,7 @@ dependencies:
|
|
358
343
|
- 0
|
359
344
|
version: "0"
|
360
345
|
type: :development
|
361
|
-
version_requirements: *
|
346
|
+
version_requirements: *id023
|
362
347
|
description: CMS Module for active admin.
|
363
348
|
email:
|
364
349
|
- roberto@vasquez-angel.de
|
@@ -374,12 +359,15 @@ files:
|
|
374
359
|
- app/models/ecm/cms.rb
|
375
360
|
- app/models/ecm/cms/navigation_item.rb
|
376
361
|
- app/models/ecm/cms/partial.rb
|
362
|
+
- app/models/ecm/cms/page/content_block.rb
|
377
363
|
- app/models/ecm/cms/navigation.rb
|
378
364
|
- app/models/ecm/cms/page.rb
|
365
|
+
- app/models/ecm/cms/content_box.rb
|
379
366
|
- app/models/ecm/cms/folder.rb
|
380
367
|
- app/models/ecm/cms/template.rb
|
381
368
|
- app/assets/stylesheets/ecm_cms.css.less
|
382
369
|
- config/locales/ecm.cms.page.en.yml
|
370
|
+
- config/locales/ecm.cms.content_box.de.yml
|
383
371
|
- config/locales/ecm.cms.partial.en.yml
|
384
372
|
- config/locales/ecm.cms.template.de.yml
|
385
373
|
- config/locales/ecm.cms.navigation_item.de.yml
|
@@ -390,11 +378,16 @@ files:
|
|
390
378
|
- config/locales/ecm.cms.navigation.de.yml
|
391
379
|
- config/locales/ecm.cms.navigation.en.yml
|
392
380
|
- config/locales/ecm.cms.navigation_item.en.yml
|
381
|
+
- config/locales/ecm.cms.content_box.en.yml
|
393
382
|
- config/locales/ecm.cms.partial.de.yml
|
383
|
+
- config/locales/ecm.cms.page.content_block.en.yml
|
384
|
+
- config/locales/ecm.cms.page.content_block.de.yml
|
394
385
|
- db/migrate/005_create_ecm_cms_navigations.rb
|
395
386
|
- db/migrate/003_create_ecm_cms_templates.rb
|
396
387
|
- db/migrate/001_create_ecm_cms_folders.rb
|
397
388
|
- db/migrate/002_create_ecm_cms_pages.rb
|
389
|
+
- db/migrate/008_create_ecm_cms_page_content_blocks.rb
|
390
|
+
- db/migrate/007_create_ecm_cms_content_boxes.rb
|
398
391
|
- db/migrate/004_create_ecm_cms_partials.rb
|
399
392
|
- db/migrate/006_create_ecm_cms_navigation_items.rb
|
400
393
|
- lib/rails_tools/i18n_controller.rb
|
@@ -412,6 +405,7 @@ files:
|
|
412
405
|
- lib/ecm/cms/active_admin/ecm_cms_navigation_items.rb
|
413
406
|
- lib/ecm/cms/active_admin/ecm_cms_pages.rb
|
414
407
|
- lib/ecm/cms/active_admin/ecm_cms_navigations.rb
|
408
|
+
- lib/ecm/cms/active_admin/ecm_cms_content_box.rb
|
415
409
|
- lib/ecm/cms/active_admin/ecm_cms_templates.rb
|
416
410
|
- lib/ecm/cms/resolvers/ecm/cms/page_resolver.rb
|
417
411
|
- lib/ecm/cms/resolvers/ecm/cms/template_resolver.rb
|