activeadmin_cms 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/CHANGELOG +9 -0
- data/README.md +11 -11
- data/app/admin/manage_pages.rb +98 -0
- data/app/admin/manage_posts.rb +61 -0
- data/app/assets/javascripts/activeadmin_cms/editor/ace.js +1 -1
- data/app/models/activeadmin_cms/page.rb +9 -0
- data/app/models/activeadmin_cms/post.rb +5 -0
- data/lib/activeadmin_cms/version.rb +1 -1
- metadata +4 -3
- data/app/admin/pages.rb +0 -44
- data/app/admin/posts.rb +0 -40
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NDM5MzNiZTExZjA4MjA1ZWMzNGVlZjlmMTlhY2VmMDA0ZjQwNjgzNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGU2YTVlMDljZTM2MWVlN2YxMTk3YmJjODVkNTcxZjk4MGVlZWEyMQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTQyYzI5ODM5NzYxNGU0NTEyMGQ5NGZhNTk5MjBhYjk4MzcyMmIxYzNmZjQw
|
10
|
+
YTgyMTY3ZTAyY2ZkMzNkMDE0YjZiMjE4MjY3NDkyMmRhM2Q3YzVkZDc1YjUx
|
11
|
+
ZGQzMDQyY2UxODMyZDY3ODk0ODNkNzEyMzBmZDQ4NTkxNmNlMTE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZTI2MGYxZDNiN2MxNTYzMmU4OTgyNjRhNjgwNmM1ZTFmYTg4ZTY1YTZmZDQy
|
14
|
+
MjExNGY2MjQwMGZkYjcxMTliNWJkN2EyOWY2MDUyYjczZWE3NzJjNzJlNmQ4
|
15
|
+
OGRkMmNmM2ZmMjJkMWNmYTliOTVkZjFiODMzM2Y1N2Q2NDU4NzQ=
|
data/CHANGELOG
ADDED
data/README.md
CHANGED
@@ -2,20 +2,12 @@
|
|
2
2
|
|
3
3
|
ActiveAdminCms adds CMS functionality to your ActiveAdmin backend.
|
4
4
|
|
5
|
+
NOTE: ActiveAdminCms is only compatible with Rails 4 and cares only about admin part.
|
6
|
+
|
5
7
|
## Installation
|
6
8
|
|
7
9
|
#### 1. Add this line(s) to your application's Gemfile:
|
8
10
|
|
9
|
-
Rails 3
|
10
|
-
|
11
|
-
```
|
12
|
-
gem 'activeadmin'
|
13
|
-
gem 'activeadmin_cms'
|
14
|
-
gem 'acts-as-taggable-on' // if you are going to use tags
|
15
|
-
```
|
16
|
-
|
17
|
-
Rails 4
|
18
|
-
|
19
11
|
```
|
20
12
|
gem 'activeadmin', github: "gregbell/active_admin"
|
21
13
|
gem 'activeadmin_cms'
|
@@ -30,7 +22,7 @@ $ rails generate acts_as_taggable_on:migration // if you are going to use tags
|
|
30
22
|
$ rake db:migrate
|
31
23
|
```
|
32
24
|
|
33
|
-
#### 3. Add javascript bindings
|
25
|
+
#### 3. Add javascript bindings & stylesheets
|
34
26
|
|
35
27
|
Append to active_admin.js (add it in `app/assets/javascripts` if not exists)
|
36
28
|
|
@@ -39,3 +31,11 @@ Append to active_admin.js (add it in `app/assets/javascripts` if not exists)
|
|
39
31
|
//= require activeadmin_cms/base
|
40
32
|
```
|
41
33
|
|
34
|
+
Append to active_admin.css (add it in `app/assets/stylesheets` if not exists)
|
35
|
+
|
36
|
+
```
|
37
|
+
//= require "active_admin/mixins";
|
38
|
+
//= require "active_admin/base";
|
39
|
+
//= require "activeadmin_cms/base";
|
40
|
+
```
|
41
|
+
|
@@ -0,0 +1,98 @@
|
|
1
|
+
ActiveAdmin.register ActiveadminCms::Page, as: 'Page' do
|
2
|
+
menu parent: "CMS"
|
3
|
+
filter :title
|
4
|
+
|
5
|
+
action_item only: :show do
|
6
|
+
if page.has_changed_content? || !page.published?
|
7
|
+
link_to "Publish", publish_admin_page_path, method: :put
|
8
|
+
elsif page.published?
|
9
|
+
link_to "Move draft", draft_admin_page_path, method: :put
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
index do
|
14
|
+
column :id
|
15
|
+
column :title do |page|
|
16
|
+
if page.has_changed_content?
|
17
|
+
"* #{page.title}"
|
18
|
+
else
|
19
|
+
page.title
|
20
|
+
end
|
21
|
+
end
|
22
|
+
column :created_at
|
23
|
+
default_actions
|
24
|
+
end
|
25
|
+
|
26
|
+
show do
|
27
|
+
panel "Post Details" do
|
28
|
+
attributes_table_for page do
|
29
|
+
row(:title) do |page|
|
30
|
+
if page.has_changed_content?
|
31
|
+
"* #{page.title}"
|
32
|
+
else
|
33
|
+
page.title
|
34
|
+
end
|
35
|
+
end
|
36
|
+
if page.has_changed_content?
|
37
|
+
row(:draft_content) { page.draft_content.html_safe }
|
38
|
+
end
|
39
|
+
row(:content) { page.content.html_safe }
|
40
|
+
row(:published?)
|
41
|
+
row(:created_at)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
active_admin_comments
|
45
|
+
end
|
46
|
+
|
47
|
+
controller do
|
48
|
+
def update
|
49
|
+
@page = ActiveadminCms::Page.find(params[:id])
|
50
|
+
|
51
|
+
if @page.update_attributes(permitted_params)
|
52
|
+
if params[:commit].downcase != 'save'
|
53
|
+
@page.publish!
|
54
|
+
end
|
55
|
+
redirect_to admin_page_path(@page)
|
56
|
+
else
|
57
|
+
render :edit
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
form do |f|
|
63
|
+
config = ActiveadminCms::Engine.config
|
64
|
+
f.inputs "Details" do
|
65
|
+
f.input :title
|
66
|
+
if config.page_categories.any?
|
67
|
+
f.input :category, collection: config.page_categories, include_blank: false
|
68
|
+
end
|
69
|
+
f.input :draft_content, label: 'Content'
|
70
|
+
if config.page_editor_backend = 'ace_editor'
|
71
|
+
f.form_buffers.last << content_tag(:div, page.draft_content, id: 'editor')
|
72
|
+
end
|
73
|
+
end
|
74
|
+
f.buttons do
|
75
|
+
f.submit('Save') +
|
76
|
+
f.submit('Save & Publish')
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
controller do
|
81
|
+
def permitted_params
|
82
|
+
params.require(:page).permit(:title, :draft_content, :category)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
member_action :publish, method: :put do
|
87
|
+
page = ActiveadminCms::Page.find(params[:id])
|
88
|
+
page.publish!
|
89
|
+
redirect_to admin_page_path(page), notice: "The page has been published!"
|
90
|
+
end
|
91
|
+
|
92
|
+
member_action :draft, method: :put do
|
93
|
+
page = ActiveadminCms::Page.find(params[:id])
|
94
|
+
page.published = false
|
95
|
+
page.save
|
96
|
+
redirect_to admin_page_path(page), notice: "The page has been moved to draft!"
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
ActiveAdmin.register ActiveadminCms::Post, as: 'Post' do
|
2
|
+
menu parent: "CMS"
|
3
|
+
filter :title
|
4
|
+
|
5
|
+
action_item only: :show do
|
6
|
+
if !post.published?
|
7
|
+
link_to "Publish", publish_admin_post_path, method: :put
|
8
|
+
elsif post.published?
|
9
|
+
link_to "Move draft", draft_admin_post_path, method: :put
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
index do
|
14
|
+
column :id
|
15
|
+
column :title
|
16
|
+
column :created_at
|
17
|
+
default_actions
|
18
|
+
end
|
19
|
+
|
20
|
+
show do
|
21
|
+
panel "Post Details" do
|
22
|
+
attributes_table_for post do
|
23
|
+
row(:title)
|
24
|
+
row(:content)
|
25
|
+
row(:published)
|
26
|
+
row(:created_at)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
active_admin_comments
|
30
|
+
end
|
31
|
+
|
32
|
+
form do |f|
|
33
|
+
f.inputs "Details" do
|
34
|
+
f.input :title
|
35
|
+
f.input :content
|
36
|
+
if ActiveadminCms::Engine.config.tags_backend = 'acts_as_taggable_on'
|
37
|
+
f.input :tag_list
|
38
|
+
end
|
39
|
+
end
|
40
|
+
f.actions
|
41
|
+
end
|
42
|
+
|
43
|
+
controller do
|
44
|
+
def permitted_params
|
45
|
+
params.require(:post).permit(:title, :content, :tag_list)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
member_action :publish, method: :put do
|
50
|
+
post = ActiveadminCms::Post.find(params[:id])
|
51
|
+
post.publish!
|
52
|
+
redirect_to admin_post_path(post), notice: "The post has been published!"
|
53
|
+
end
|
54
|
+
|
55
|
+
member_action :draft, method: :put do
|
56
|
+
post = ActiveadminCms::Post.find(params[:id])
|
57
|
+
post.published = false
|
58
|
+
post.save
|
59
|
+
redirect_to admin_post_path(post), notice: "The post has been moved to draft!"
|
60
|
+
end
|
61
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activeadmin_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Iskander Haziev
|
@@ -171,8 +171,8 @@ executables: []
|
|
171
171
|
extensions: []
|
172
172
|
extra_rdoc_files: []
|
173
173
|
files:
|
174
|
-
- app/admin/
|
175
|
-
- app/admin/
|
174
|
+
- app/admin/manage_pages.rb
|
175
|
+
- app/admin/manage_posts.rb
|
176
176
|
- app/assets/javascripts/activeadmin_cms/base.js
|
177
177
|
- app/assets/javascripts/activeadmin_cms/editor/ace.js
|
178
178
|
- app/assets/stylesheets/activeadmin_cms/base.css
|
@@ -192,6 +192,7 @@ files:
|
|
192
192
|
- MIT-LICENSE
|
193
193
|
- Rakefile
|
194
194
|
- README.md
|
195
|
+
- CHANGELOG
|
195
196
|
- test/activeadmin_cms_test.rb
|
196
197
|
- test/dummy/app/assets/javascripts/application.js
|
197
198
|
- test/dummy/app/assets/stylesheets/application.css
|
data/app/admin/pages.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
ActiveAdmin.register ActiveadminCms::Page, as: 'Page' do
|
2
|
-
menu parent: "CMS"
|
3
|
-
filter :title
|
4
|
-
|
5
|
-
index do
|
6
|
-
column :id
|
7
|
-
column :title
|
8
|
-
column :created_at
|
9
|
-
default_actions
|
10
|
-
end
|
11
|
-
|
12
|
-
show do
|
13
|
-
panel "Post Details" do
|
14
|
-
attributes_table_for page do
|
15
|
-
row(:title)
|
16
|
-
row(:content)
|
17
|
-
row(:published)
|
18
|
-
row(:created_at)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
active_admin_comments
|
22
|
-
end
|
23
|
-
|
24
|
-
form do |f|
|
25
|
-
config = ActiveadminCms::Engine.config
|
26
|
-
f.inputs "Details" do
|
27
|
-
f.input :title
|
28
|
-
if config.page_categories.any?
|
29
|
-
f.input :category, collection: config.page_categories, include_blank: false
|
30
|
-
end
|
31
|
-
f.input :content
|
32
|
-
if config.page_editor_backend = 'ace_editor'
|
33
|
-
f.form_buffers.last << content_tag(:div, nil, id: 'editor')
|
34
|
-
end
|
35
|
-
end
|
36
|
-
f.buttons
|
37
|
-
end
|
38
|
-
|
39
|
-
controller do
|
40
|
-
def permitted_params
|
41
|
-
params.permit page: [:title, :content, :category]
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
data/app/admin/posts.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
ActiveAdmin.register ActiveadminCms::Post, as: 'Post' do
|
2
|
-
menu parent: "CMS"
|
3
|
-
filter :title
|
4
|
-
|
5
|
-
index do
|
6
|
-
column :id
|
7
|
-
column :title
|
8
|
-
column :created_at
|
9
|
-
default_actions
|
10
|
-
end
|
11
|
-
|
12
|
-
show do
|
13
|
-
panel "Post Details" do
|
14
|
-
attributes_table_for post do
|
15
|
-
row(:title)
|
16
|
-
row(:content)
|
17
|
-
row(:published)
|
18
|
-
row(:created_at)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
active_admin_comments
|
22
|
-
end
|
23
|
-
|
24
|
-
form do |f|
|
25
|
-
f.inputs "Details" do
|
26
|
-
f.input :title
|
27
|
-
f.input :content
|
28
|
-
if ActiveadminCms::Engine.config.tags_backend = 'acts_as_taggable_on'
|
29
|
-
f.input :tag_list
|
30
|
-
end
|
31
|
-
end
|
32
|
-
f.buttons
|
33
|
-
end
|
34
|
-
|
35
|
-
controller do
|
36
|
-
def permitted_params
|
37
|
-
params.permit post: [:title, :content, :tag_list]
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|