billy_cms 0.0.9 → 0.0.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d419311ea986490c6d7af05bd38c5e388ca7712e
4
- data.tar.gz: d205d2a1ecd400948d0441665f37da6c541b1959
3
+ metadata.gz: 15bc4ec8c016530fced76042b9ae95d1650e5fdc
4
+ data.tar.gz: 434f25354c705ecf7d4d5cafea20444af5adacfc
5
5
  SHA512:
6
- metadata.gz: b743028d938bbfcf368fda5403992a960be5bee27cf9ebdf618da390e5c8f5dc0befa05f4d061d8c6f2083cfd5f2b5da963d3de7d6093e942b067e513735f2e3
7
- data.tar.gz: 4b8d321bd48f6ed0ef52d8c09b782daf66f96080852660a703fd8fc7fa5d31f99895be8e3bbe2b26422b862e5cdead6e203b1ee82be84a03814032bb77c58d97
6
+ metadata.gz: 5698688ce205483968355021a0fc273e56407e90af00832e0d45b6551d515d5b35a197f7a64bdae74b8e4274bc68a60d115e9aac69ff571840d4adcb90a64b80
7
+ data.tar.gz: e5970c0b54b6e89d577a5d94da14e3ca4fe61f5979dede5fbf26ad39e87175b78ec2b8858dcc6935197ac5c80a3b22715ad9ef2036f0480b4dc3769561da8019
@@ -55,12 +55,12 @@ app.controller('ApplicationCtrl', ['$scope', '$http', 'BillyObject', 'PageType',
55
55
  version : 1
56
56
  };
57
57
  $http.get('/billy_cms/api/page_types').then(function(result) {
58
- ctrl.allPageTypes = result.data.page_types.map(function(pageTypeData) {
58
+ ctrl.allPageTypes = result.data.map(function(pageTypeData) {
59
59
  return new PageType(pageTypeData);
60
60
  });
61
61
  });
62
62
  $http.get('/billy_cms/api/pages').then(function(result) {
63
- ctrl.rawPagesData = result.data.pages.map(function(page) { return new BillyObject(page); });
63
+ ctrl.rawPagesData = result.data.map(function(page) { return new BillyObject(page); });
64
64
  ctrl.recreateTreeFromRawData();
65
65
  });
66
66
  this.tree = [];
@@ -0,0 +1,23 @@
1
+ module Api
2
+ class ApiController < ActionController::Base
3
+ protect_from_forgery with: :null_session
4
+ skip_before_filter :verify_authenticity_token
5
+
6
+ before_filter :ensure_user_is_admin
7
+
8
+ def current_user
9
+ @current_user ||= begin
10
+ users = User.where(id: session[:user_id]).presence
11
+ session[:user_id] && users ? users.first : false
12
+ end
13
+ end
14
+
15
+ protected
16
+
17
+ def ensure_user_is_admin
18
+ unless current_user && current_user.admin?
19
+ render text: 'Forbidden', status: 403
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,63 @@
1
+ module Api
2
+ class AttributesController < ApiController
3
+ def index
4
+ render json: BillyCms::AdditionalAttribute.all
5
+ end
6
+
7
+ def show
8
+ render json: BillyCms::AdditionalAttribute.find(params[:id])
9
+ end
10
+
11
+ def update
12
+ render nothing: true, status: 400 unless params[:attribute]
13
+ attribute = BillyCms::AdditionalAttribute.find params[:id]
14
+ if attribute.update_attributes attribute_params
15
+ render json: {
16
+ success: true,
17
+ attribute: attribute
18
+ }
19
+ else
20
+ render json: {
21
+ success: false,
22
+ error: attribute.error_messages,
23
+ }, status: 500
24
+ end
25
+ end
26
+
27
+ def create
28
+ render nothing: true, status: 400 unless params[:attribute]
29
+ attribute = BillyCms::AdditionalAttribute.new attribute_params
30
+ if attribute.save
31
+ render json: {
32
+ success: true,
33
+ attribute: attribute
34
+ }
35
+ else
36
+ render json: {
37
+ success: false,
38
+ error: attribute.error_messages,
39
+ }, status: 500
40
+ end
41
+ end
42
+
43
+ def destroy
44
+ render :nothing, status: 400 unless params[:id]
45
+ if BillyCms::AdditionalAttribute.delete(params[:id])
46
+ render json: {
47
+ success: true
48
+ }
49
+ else
50
+ render json: {
51
+ success: false,
52
+ error: attribute.error_messages,
53
+ }, status: 500
54
+ end
55
+ end
56
+
57
+ private
58
+
59
+ def attributes_params
60
+ params.require(:attribute).permit(:title, :attribute, :attribute_type) if current_user.admin?
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,11 @@
1
+ module Api
2
+ class PageTypesController < ApiController
3
+ def index
4
+ render json: BillyCms::PageType.all
5
+ end
6
+
7
+ def show
8
+ render json: BillyCms::PageType.find(params[:id])
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,61 @@
1
+ module Api
2
+ class PagesController < ApiController
3
+ def index
4
+ render json: BillyCms::Page.all
5
+ end
6
+
7
+ def update
8
+ render nothing: true, status: 400 unless params[:page]
9
+ page = BillyCms::Page.find params[:id]
10
+ if page.update_attributes page_params
11
+ render json: {
12
+ success: true,
13
+ page: page
14
+ }
15
+ else
16
+ render json: {
17
+ success: false,
18
+ error: page.errors.full_messages,
19
+ }, status: 500
20
+ end
21
+ end
22
+
23
+ def create
24
+ render nothing: true, status: 400 unless params[:page]
25
+ page = BillyCms::Page.new page_params
26
+ if page.save
27
+ render json: {
28
+ success: true,
29
+ page: page
30
+ }
31
+ else
32
+ render json: {
33
+ success: false,
34
+ error: page.error_messages,
35
+ }, status: 500
36
+ end
37
+ end
38
+
39
+ def destroy
40
+ render :nothing, status: 400 unless params[:id]
41
+ if BillyCms::Page.delete(params[:id])
42
+ render json: {
43
+ success: true
44
+ }
45
+ else
46
+ render json: {
47
+ success: false,
48
+ error: page.error_messages,
49
+ }, status: 500
50
+ end
51
+ end
52
+
53
+ private
54
+
55
+ def page_params
56
+ page = BillyCms::Page.find(params[:id]) if params[:id].present?
57
+ allowed_types = page ? page.additional_attributes.map(&:name).map(&:to_sym) : []
58
+ params.require(:page).permit(:title, :content, :parent_page_id, :order_key, :hide_from_navigation, :page_type, additional_attributes_values: allowed_types) if current_user.admin?
59
+ end
60
+ end
61
+ end
data/config/routes.rb ADDED
@@ -0,0 +1,8 @@
1
+ BillyCms::Engine.routes.draw do
2
+ get '/' => 'billy_cms/backend#index'
3
+ namespace :api do
4
+ resources :pages
5
+ resources :attributes
6
+ resources :page_types
7
+ end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module BillyCms
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: billy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - unsdrei GbR
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-15 00:00:00.000000000 Z
11
+ date: 2016-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -143,10 +143,10 @@ files:
143
143
  - app/assets/stylesheets/billy_cms/editmode.scss
144
144
  - app/assets/stylesheets/billy_cms/index.scss
145
145
  - app/assets/stylesheets/billy_cms/jstree.scss
146
- - app/controllers/billy_cms/api/api_controller.rb
147
- - app/controllers/billy_cms/api/attributes_controller.rb
148
- - app/controllers/billy_cms/api/page_types_controller.rb
149
- - app/controllers/billy_cms/api/pages_controller.rb
146
+ - app/controllers/api/api_controller.rb
147
+ - app/controllers/api/attributes_controller.rb
148
+ - app/controllers/api/page_types_controller.rb
149
+ - app/controllers/api/pages_controller.rb
150
150
  - app/controllers/billy_cms/backend_controller.rb
151
151
  - app/controllers/billy_cms/base_controller.rb
152
152
  - app/helpers/billy_cms/cms_path_helper.rb
@@ -172,6 +172,7 @@ files:
172
172
  - bin/console
173
173
  - bin/setup
174
174
  - config/initializers/active_model_serializers.rb
175
+ - config/routes.rb
175
176
  - lib/billy_cms.rb
176
177
  - lib/billy_cms/version.rb
177
178
  homepage: ''
@@ -1,25 +0,0 @@
1
- module BillyCms
2
- module Api
3
- class ApiController < ActionController::Base
4
- protect_from_forgery with: :null_session
5
- skip_before_filter :verify_authenticity_token
6
-
7
- before_filter :ensure_user_is_admin
8
-
9
- def current_user
10
- @current_user ||= begin
11
- users = User.where(id: session[:user_id]).presence
12
- session[:user_id] && users ? users.first : false
13
- end
14
- end
15
-
16
- protected
17
-
18
- def ensure_user_is_admin
19
- unless current_user && current_user.admin?
20
- render text: 'Forbidden', status: 403
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,65 +0,0 @@
1
- module BillyCms
2
- module Api
3
- class AttributesController < ApiController
4
- def index
5
- render json: AdditionalAttribute.all
6
- end
7
-
8
- def show
9
- render json: AdditionalAttribute.find(params[:id])
10
- end
11
-
12
- def update
13
- render nothing: true, status: 400 unless params[:attribute]
14
- attribute = AdditionalAttribute.find params[:id]
15
- if attribute.update_attributes attribute_params
16
- render json: {
17
- success: true,
18
- attribute: attribute
19
- }
20
- else
21
- render json: {
22
- success: false,
23
- error: attribute.error_messages,
24
- }, status: 500
25
- end
26
- end
27
-
28
- def create
29
- render nothing: true, status: 400 unless params[:attribute]
30
- attribute = AdditionalAttribute.new attribute_params
31
- if attribute.save
32
- render json: {
33
- success: true,
34
- attribute: attribute
35
- }
36
- else
37
- render json: {
38
- success: false,
39
- error: attribute.error_messages,
40
- }, status: 500
41
- end
42
- end
43
-
44
- def destroy
45
- render :nothing, status: 400 unless params[:id]
46
- if AdditionalAttribute.delete(params[:id])
47
- render json: {
48
- success: true
49
- }
50
- else
51
- render json: {
52
- success: false,
53
- error: attribute.error_messages,
54
- }, status: 500
55
- end
56
- end
57
-
58
- private
59
-
60
- def attributes_params
61
- params.require(:attribute).permit(:title, :attribute, :attribute_type) if current_user.admin?
62
- end
63
- end
64
- end
65
- end
@@ -1,13 +0,0 @@
1
- module BillyCms
2
- module Api
3
- class PageTypesController < ApiController
4
- def index
5
- render json: PageType.all
6
- end
7
-
8
- def show
9
- render json: PageType.find(params[:id])
10
- end
11
- end
12
- end
13
- end
@@ -1,63 +0,0 @@
1
- module BillyCms
2
- module Api
3
- class PagesController < ApiController
4
- def index
5
- render json: Page.all
6
- end
7
-
8
- def update
9
- render nothing: true, status: 400 unless params[:page]
10
- page = Page.find params[:id]
11
- if page.update_attributes page_params
12
- render json: {
13
- success: true,
14
- page: page
15
- }
16
- else
17
- render json: {
18
- success: false,
19
- error: page.errors.full_messages,
20
- }, status: 500
21
- end
22
- end
23
-
24
- def create
25
- render nothing: true, status: 400 unless params[:page]
26
- page = Page.new page_params
27
- if page.save
28
- render json: {
29
- success: true,
30
- page: page
31
- }
32
- else
33
- render json: {
34
- success: false,
35
- error: page.error_messages,
36
- }, status: 500
37
- end
38
- end
39
-
40
- def destroy
41
- render :nothing, status: 400 unless params[:id]
42
- if Page.delete(params[:id])
43
- render json: {
44
- success: true
45
- }
46
- else
47
- render json: {
48
- success: false,
49
- error: page.error_messages,
50
- }, status: 500
51
- end
52
- end
53
-
54
- private
55
-
56
- def page_params
57
- page = Page.find(params[:id]) if params[:id].present?
58
- allowed_types = page ? page.additional_attributes.map(&:name).map(&:to_sym) : []
59
- params.require(:page).permit(:title, :content, :parent_page_id, :order_key, :hide_from_navigation, :page_type, additional_attributes_values: allowed_types) if current_user.admin?
60
- end
61
- end
62
- end
63
- end