caboose-cms 0.0.7 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/images/caboose/caboose_nav.png +0 -0
- data/app/assets/javascripts/caboose/admin.js +37 -0
- data/app/assets/javascripts/caboose/application.js +2 -1
- data/app/assets/javascripts/caboose/model.form.page.js +30 -0
- data/app/assets/javascripts/caboose/station.js +223 -0
- data/app/assets/stylesheets/caboose/admin.css +57 -0
- data/app/assets/stylesheets/caboose/caboose.css +146 -16
- data/app/assets/stylesheets/caboose/tinymce.css +25 -0
- data/app/controllers/caboose/pages_controller.rb +43 -19
- data/app/controllers/caboose/permissions_controller.rb +91 -73
- data/app/controllers/caboose/roles_controller.rb +49 -37
- data/app/controllers/caboose/settings_controller.rb +100 -0
- data/app/controllers/caboose/station_controller.rb +13 -0
- data/app/controllers/caboose/users_controller.rb +51 -44
- data/app/models/caboose/caboose_plugin.rb +2 -6
- data/app/models/caboose/page.rb +3 -3
- data/app/models/caboose/page_bar_generator.rb +37 -28
- data/app/models/caboose/page_plugin.rb +43 -0
- data/app/models/caboose/permission_plugin.rb +27 -0
- data/app/models/caboose/role.rb +19 -1
- data/app/models/caboose/role_plugin.rb +27 -0
- data/app/models/caboose/setting.rb +5 -0
- data/app/models/caboose/settings_plugin.rb +27 -0
- data/app/models/caboose/user.rb +1 -2
- data/app/models/caboose/user_plugin.rb +28 -0
- data/app/views/caboose/pages/edit.html.erb +7 -27
- data/app/views/caboose/pages/edit_settings.html.erb +38 -0
- data/app/views/caboose/pages/sitemap.html.erb +12 -0
- data/app/views/caboose/permissions/edit.html.erb +21 -4
- data/app/views/caboose/permissions/index.html.erb +29 -21
- data/app/views/caboose/permissions/new.html.erb +22 -2
- data/app/views/caboose/roles/edit.html.erb +40 -27
- data/app/views/caboose/roles/index.html.erb +3 -5
- data/app/views/caboose/roles/new.html.erb +30 -11
- data/app/views/caboose/settings/edit.html.erb +23 -0
- data/app/views/caboose/settings/index.html.erb +33 -0
- data/app/views/caboose/settings/new.html.erb +25 -0
- data/app/views/caboose/users/edit.html.erb +11 -14
- data/app/views/caboose/users/index.html.erb +2 -4
- data/app/views/caboose/users/new.html.erb +2 -0
- data/app/views/caboose/users/update_pic.html.erb +1 -1
- data/app/views/layouts/caboose/_station.html.erb +43 -14
- data/app/views/layouts/caboose/{caboose.html.erb → admin.html.erb} +2 -2
- data/config/routes.rb +16 -5
- data/lib/caboose.rb +1 -1
- data/lib/caboose/engine.rb +15 -6
- data/lib/caboose/version.rb +1 -1
- data/lib/sample_files/tinymce.yml +22 -0
- data/lib/tasks/caboose.rake +21 -1
- metadata +40 -12
- data/app/assets/javascripts/caboose/caboose.js +0 -28
- data/app/assets/javascripts/caboose/permissions.js +0 -0
- data/app/assets/javascripts/caboose/roles.js +0 -35
- data/app/assets/javascripts/caboose/users.js +0 -38
- data/app/views/caboose/permissions/show.html.erb +0 -15
- data/app/views/caboose/roles/show.html.erb +0 -20
- data/app/views/caboose/users/update_resume.html.erb +0 -14
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
body, td, pre {
|
3
|
+
color: #000000;
|
4
|
+
font-family: Verdana,Arial,Helvetica,sans-serif;
|
5
|
+
font-size: inherit;
|
6
|
+
}
|
7
|
+
body {
|
8
|
+
background: none repeat scroll 0 0 #FFFFFF;
|
9
|
+
}
|
10
|
+
body.mceForceColors {
|
11
|
+
background: none repeat scroll 0 0 #FFFFFF;
|
12
|
+
color: #000000;
|
13
|
+
}
|
14
|
+
body.mceBrowserDefaults {
|
15
|
+
background: none repeat scroll 0 0 transparent;
|
16
|
+
color: inherit;
|
17
|
+
font-family: inherit;
|
18
|
+
font-size: inherit;
|
19
|
+
}
|
20
|
+
h1 { font-size: inherit; }
|
21
|
+
h2 { font-size: inherit; }
|
22
|
+
h3 { font-size: inherit; }
|
23
|
+
h4 { font-size: inherit; }
|
24
|
+
h5 { font-size: inherit; }
|
25
|
+
h6 { font-size: inherit; }
|
@@ -15,7 +15,6 @@ module Caboose
|
|
15
15
|
|
16
16
|
# Find the page with an exact URI match
|
17
17
|
page = Page.page_with_uri(request.fullpath, false)
|
18
|
-
Caboose.log(page)
|
19
18
|
|
20
19
|
if (!page)
|
21
20
|
asset
|
@@ -41,22 +40,8 @@ module Caboose
|
|
41
40
|
page.content = Caboose.plugin_hook('page_content', page.content)
|
42
41
|
@page = page
|
43
42
|
@user = user
|
44
|
-
is_admin = @user.is_allowed('all', 'all')
|
45
|
-
|
46
43
|
@crumb_trail = Caboose::Page.crumb_trail(@page)
|
47
44
|
@subnav = Caboose::Page.subnav(@page, session['use_redirect_urls'], @user)
|
48
|
-
@actions = Caboose::Page.permissible_actions(@user.id, @page.id)
|
49
|
-
@tasks = {}
|
50
|
-
@page_tasks = {}
|
51
|
-
|
52
|
-
if (@actions.include?('edit') || is_admin)
|
53
|
-
@page_tasks["/pages/#{@page.id}/sitemap"] = 'Site Map This Page'
|
54
|
-
@page_tasks["/pages/#{@page.id}/edit"] = 'Edit Page Content'
|
55
|
-
@page_tasks["/pages/#{@page.id}/edit-settings"] = 'Edit Page Settings'
|
56
|
-
end
|
57
|
-
if (@user.is_allowed('pages', 'add') || is_admin)
|
58
|
-
@page_tasks["/pages/new?parent_id=#{@page.id}"] = 'New Page'
|
59
|
-
end
|
60
45
|
|
61
46
|
#@subnav.links = @tasks.collect {|href, task| {'href' => href, 'text' => task, 'is_current' => uri == href}}
|
62
47
|
|
@@ -86,9 +71,9 @@ module Caboose
|
|
86
71
|
return
|
87
72
|
end
|
88
73
|
|
89
|
-
Caboose.log(Caboose::assets_path, 'Caboose::assets_path')
|
74
|
+
#Caboose.log(Caboose::assets_path, 'Caboose::assets_path')
|
90
75
|
path = Caboose::assets_path.join("#{asset.id}.#{asset.extension}")
|
91
|
-
Caboose.log("Sending asset #{path}")
|
76
|
+
#Caboose.log("Sending asset #{path}")
|
92
77
|
#send_file(path)
|
93
78
|
#send_file(path, :filename => "your_document.pdf", :type => "application/pdf")
|
94
79
|
|
@@ -110,14 +95,37 @@ module Caboose
|
|
110
95
|
return if !user_is_allowed('pages', 'add')
|
111
96
|
@pages = Page.new
|
112
97
|
@parent_id = params[:parent_id].nil? ? params[:parent_id] : -1
|
113
|
-
render :layout => 'caboose/
|
98
|
+
render :layout => 'caboose/admin'
|
99
|
+
end
|
100
|
+
|
101
|
+
# GET /pages/1/redirect
|
102
|
+
def redirect
|
103
|
+
@page = Page.find(params[:id])
|
104
|
+
redirect_to "/#{@page.uri}"
|
114
105
|
end
|
115
106
|
|
116
107
|
# GET /pages/1/edit
|
117
108
|
def edit
|
118
109
|
return if !user_is_allowed('pages', 'edit')
|
119
110
|
@page = Page.find(params[:id])
|
120
|
-
|
111
|
+
|
112
|
+
session['caboose_station_state'] = 'left'
|
113
|
+
session['caboose_station_open_tabs'] = ['pages']
|
114
|
+
session['caboose_station_return_url'] = "/#{@page.uri}"
|
115
|
+
|
116
|
+
render :layout => 'caboose/admin'
|
117
|
+
end
|
118
|
+
|
119
|
+
# GET /pages/1/edit-settings
|
120
|
+
def edit_settings
|
121
|
+
return if !user_is_allowed('pages', 'edit')
|
122
|
+
@page = Page.find(params[:id])
|
123
|
+
|
124
|
+
session['caboose_station_state'] = 'left'
|
125
|
+
session['caboose_station_open_tabs'] = ['pages']
|
126
|
+
session['caboose_station_return_url'] = "/#{@page.uri}"
|
127
|
+
|
128
|
+
render :layout => 'caboose/admin'
|
121
129
|
end
|
122
130
|
|
123
131
|
# POST /pages
|
@@ -261,6 +269,22 @@ module Caboose
|
|
261
269
|
render json: resp
|
262
270
|
end
|
263
271
|
|
272
|
+
def sitemap
|
273
|
+
parent_id = params[:parent_id]
|
274
|
+
top_page = Page.index_page
|
275
|
+
p = !parent_id.nil? ? Page.find(parent_id) : top_page
|
276
|
+
options = []
|
277
|
+
sitemap_helper2(top_page, options)
|
278
|
+
@options = options
|
279
|
+
end
|
280
|
+
|
281
|
+
def sitemap_helper2(page, options, prefix = '')
|
282
|
+
options << { 'value' => page.id, 'text' => prefix + page.title }
|
283
|
+
page.children.each do |kid|
|
284
|
+
sitemap_helper(kid, options, prefix + ' - ')
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
264
288
|
def sitemap_options
|
265
289
|
parent_id = params[:parent_id]
|
266
290
|
top_page = Page.index_page
|
@@ -1,83 +1,101 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
respond_to do |format|
|
8
|
-
format.html # index.html.erb
|
9
|
-
format.json { render json: @permissions }
|
1
|
+
module Caboose
|
2
|
+
class PermissionsController < ApplicationController
|
3
|
+
layout 'caboose/admin'
|
4
|
+
|
5
|
+
def before_action
|
6
|
+
@page = Page.page_with_uri('/admin')
|
10
7
|
end
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
8
|
+
|
9
|
+
# GET /admin/permissions
|
10
|
+
def index
|
11
|
+
return if !user_is_allowed('permissions', 'view')
|
12
|
+
|
13
|
+
@gen = PageBarGenerator.new(params, {
|
14
|
+
'resource' => nil
|
15
|
+
},{
|
16
|
+
'model' => 'Caboose::Permission',
|
17
|
+
'sort' => 'resource, action',
|
18
|
+
'desc' => false,
|
19
|
+
'base_url' => '/admin/permissions'
|
20
|
+
})
|
21
|
+
@permissions = @gen.items
|
21
22
|
end
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
@permission = Permission.new
|
28
|
-
|
29
|
-
respond_to do |format|
|
30
|
-
format.html # new.html.erb
|
31
|
-
format.json { render json: @permission }
|
23
|
+
|
24
|
+
# GET /admin/permissions/new
|
25
|
+
def new
|
26
|
+
return if !user_is_allowed('permissions', 'add')
|
27
|
+
@permission = Permission.new
|
32
28
|
end
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
# POST /permissions
|
41
|
-
# POST /permissions.json
|
42
|
-
def create
|
43
|
-
@permission = Permission.new(params[:permission])
|
44
|
-
|
45
|
-
respond_to do |format|
|
46
|
-
if @permission.save
|
47
|
-
format.html { redirect_to @permission, notice: 'Permission was successfully created.' }
|
48
|
-
format.json { render json: @permission, status: :created, location: @permission }
|
49
|
-
else
|
50
|
-
format.html { render action: "new" }
|
51
|
-
format.json { render json: @permission.errors, status: :unprocessable_entity }
|
52
|
-
end
|
29
|
+
|
30
|
+
# GET /admin/permissions/1/edit
|
31
|
+
def edit
|
32
|
+
return if !user_is_allowed('permissions', 'edit')
|
33
|
+
@permission = Permission.find(params[:id])
|
53
34
|
end
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
35
|
+
|
36
|
+
# POST /admin/permissions
|
37
|
+
def create
|
38
|
+
return if !user_is_allowed('permissions', 'add')
|
39
|
+
|
40
|
+
resp = StdClass.new({
|
41
|
+
'error' => nil,
|
42
|
+
'redirect' => nil
|
43
|
+
})
|
44
|
+
|
45
|
+
perm = Permission.new()
|
46
|
+
perm.resource = params[:resource]
|
47
|
+
perm.action = params[:action2]
|
48
|
+
|
49
|
+
if (perm.resource.strip.length == 0)
|
50
|
+
resp.error = "The resource is required."
|
51
|
+
elsif (perm.action.strip.length == 0)
|
52
|
+
resp.error = "The action is required."
|
53
|
+
else
|
54
|
+
perm.save
|
55
|
+
resp.redirect = "/admin/permissions/#{perm.id}/edit"
|
68
56
|
end
|
57
|
+
render json: resp
|
69
58
|
end
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
def destroy
|
75
|
-
@permission = Permission.find(params[:id])
|
76
|
-
@permission.destroy
|
59
|
+
|
60
|
+
# PUT /admin/permissions/1
|
61
|
+
def update
|
62
|
+
return if !user_is_allowed('permissions', 'edit')
|
77
63
|
|
78
|
-
|
79
|
-
|
80
|
-
|
64
|
+
resp = StdClass.new
|
65
|
+
perm = Permission.find(params[:id])
|
66
|
+
|
67
|
+
save = true
|
68
|
+
params.each do |name,value|
|
69
|
+
case name
|
70
|
+
when "resource"
|
71
|
+
perm.resource = value
|
72
|
+
when "action2"
|
73
|
+
perm.action = value
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
resp.success = save && perm.save
|
78
|
+
render json: resp
|
79
|
+
end
|
80
|
+
|
81
|
+
# DELETE /admin/permissions/1
|
82
|
+
def destroy
|
83
|
+
return if !user_is_allowed('permissions', 'delete')
|
84
|
+
perm = Permission.find(params[:id])
|
85
|
+
perm.destroy
|
86
|
+
|
87
|
+
resp = StdClass.new({
|
88
|
+
'redirect' => '/admin/permissions'
|
89
|
+
})
|
90
|
+
render json: resp
|
91
|
+
end
|
92
|
+
|
93
|
+
# GET /admin/permissions/options
|
94
|
+
def options
|
95
|
+
return if !user_is_allowed('permissions', 'view')
|
96
|
+
perms = Permission.reorder('resource, action').all
|
97
|
+
options = perms.collect { |p| { 'value' => p.id, 'text' => "#{p.resource}_#{p.action}"}}
|
98
|
+
render json: options
|
81
99
|
end
|
82
100
|
end
|
83
101
|
end
|
@@ -1,7 +1,12 @@
|
|
1
1
|
module Caboose
|
2
2
|
class RolesController < ApplicationController
|
3
|
+
layout 'caboose/admin'
|
3
4
|
|
4
|
-
|
5
|
+
def before_action
|
6
|
+
@page = Page.page_with_uri('/admin')
|
7
|
+
end
|
8
|
+
|
9
|
+
# GET /admin/roles
|
5
10
|
def index
|
6
11
|
return if !user_is_allowed('roles', 'view')
|
7
12
|
top_roles = Role.tree
|
@@ -10,20 +15,19 @@ module Caboose
|
|
10
15
|
@roles = arr
|
11
16
|
end
|
12
17
|
|
13
|
-
# GET /roles/new
|
18
|
+
# GET /admin/roles/new
|
14
19
|
def new
|
15
20
|
return if !user_is_allowed('roles', 'add')
|
16
21
|
@role = Role.new
|
17
22
|
end
|
18
23
|
|
19
|
-
# GET /roles/1/edit
|
24
|
+
# GET /admin/roles/1/edit
|
20
25
|
def edit
|
21
26
|
return if !user_is_allowed('roles', 'edit')
|
22
27
|
@role = Role.find(params[:id])
|
23
|
-
@users = User.users_with_role(@role.id)
|
24
28
|
end
|
25
29
|
|
26
|
-
# POST /roles
|
30
|
+
# POST /admin/roles
|
27
31
|
def create
|
28
32
|
return if !user_is_allowed('roles', 'add')
|
29
33
|
|
@@ -37,65 +41,73 @@ module Caboose
|
|
37
41
|
role.name = params[:name]
|
38
42
|
role.save
|
39
43
|
|
40
|
-
resp.redirect = "/roles/#{role.id}/edit"
|
44
|
+
resp.redirect = "/admin/roles/#{role.id}/edit"
|
41
45
|
render json: resp
|
42
46
|
end
|
43
47
|
|
44
|
-
# PUT /roles/1
|
48
|
+
# PUT /admin/roles/1
|
45
49
|
def update
|
46
50
|
return if !user_is_allowed('roles', 'edit')
|
47
51
|
|
48
52
|
resp = StdClass.new
|
49
53
|
role = Role.find(params[:id])
|
50
|
-
name = params[:name]
|
51
|
-
value = params[:value]
|
52
54
|
|
53
55
|
save = true
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
56
|
+
params.each do |name,value|
|
57
|
+
case name
|
58
|
+
when "name"
|
59
|
+
role.name = value
|
60
|
+
when "description"
|
61
|
+
role.description = value
|
62
|
+
when "parent_id"
|
63
|
+
value = value.to_i
|
64
|
+
if (role.id == value)
|
65
|
+
resp.error = "You can't set the parent to be this role."
|
66
|
+
save = false
|
67
|
+
elsif (role.is_ancestor_of?(value))
|
68
|
+
resp.error = "You can't set the parent to be one of the child roles."
|
69
|
+
save = false
|
70
|
+
else
|
71
|
+
role.parent_id = value
|
72
|
+
if (value == -1)
|
73
|
+
resp.attributes = { 'parent_id' => { 'text' => '[No parent]' }}
|
74
|
+
else
|
75
|
+
p = Role.find(value)
|
76
|
+
resp.attributes = { 'parent_id' => { 'text' => p.name }}
|
77
|
+
end
|
78
|
+
end
|
79
|
+
when "members"
|
80
|
+
value = [] if value.nil? || value.length == 0
|
81
|
+
role.users = value.collect { |uid| User.find(uid) }
|
82
|
+
resp.attributes = { 'members' => { 'text' => role.users.collect{ |u| "#{u.first_name} #{u.last_name}" }.join('<br />') }}
|
83
|
+
end
|
71
84
|
end
|
72
85
|
|
73
|
-
resp.success = save &&
|
86
|
+
resp.success = save && role.save
|
74
87
|
render json: resp
|
75
88
|
end
|
76
89
|
|
77
|
-
# DELETE /roles/1
|
90
|
+
# DELETE /admin/roles/1
|
78
91
|
def destroy
|
79
92
|
return if !user_is_allowed('roles', 'delete')
|
80
93
|
@role = Role.find(params[:id])
|
81
94
|
@role.destroy
|
82
|
-
|
83
|
-
respond_to do |format|
|
84
|
-
format.html { redirect_to roles_url }
|
85
|
-
format.json { head :no_content }
|
86
|
-
end
|
95
|
+
render json: { 'redirect' => '/admin/roles' }
|
87
96
|
end
|
88
97
|
|
89
|
-
# GET /roles/options
|
98
|
+
# GET /admin/roles/options
|
90
99
|
def options
|
91
100
|
return if !user_is_allowed('roles', 'view')
|
92
101
|
@top_roles = Role.tree
|
93
|
-
arr = [
|
94
|
-
|
102
|
+
arr = [{
|
103
|
+
"value" => -1,
|
104
|
+
"text" => 'Top Level'
|
105
|
+
}]
|
106
|
+
@top_roles.each { |r| arr += add_role_options(r, 1) }
|
95
107
|
render json: arr.to_json
|
96
108
|
end
|
97
109
|
|
98
|
-
def add_role_options(role, level)
|
110
|
+
def add_role_options(role, level)
|
99
111
|
arr = [{
|
100
112
|
"value" => role.id,
|
101
113
|
"text" => (" - " * level) + role.name
|
@@ -0,0 +1,100 @@
|
|
1
|
+
module Caboose
|
2
|
+
class SettingsController < ApplicationController
|
3
|
+
layout 'caboose/admin'
|
4
|
+
|
5
|
+
def before_action
|
6
|
+
@page = Page.page_with_uri('/admin')
|
7
|
+
end
|
8
|
+
|
9
|
+
# GET /admin/settings
|
10
|
+
def index
|
11
|
+
return if !user_is_allowed('settings', 'view')
|
12
|
+
|
13
|
+
@gen = PageBarGenerator.new(params, {
|
14
|
+
'name' => nil,
|
15
|
+
'value' => nil
|
16
|
+
},{
|
17
|
+
'model' => 'Caboose::Setting',
|
18
|
+
'sort' => 'name',
|
19
|
+
'desc' => false,
|
20
|
+
'base_url' => '/admin/settings'
|
21
|
+
})
|
22
|
+
@settings = @gen.items
|
23
|
+
end
|
24
|
+
|
25
|
+
# GET /admin/settings/new
|
26
|
+
def new
|
27
|
+
return if !user_is_allowed('settings', 'add')
|
28
|
+
@setting = Setting.new
|
29
|
+
end
|
30
|
+
|
31
|
+
# GET /admin/settings/1/edit
|
32
|
+
def edit
|
33
|
+
return if !user_is_allowed('settings', 'edit')
|
34
|
+
@setting = Setting.find(params[:id])
|
35
|
+
end
|
36
|
+
|
37
|
+
# POST /admin/settings
|
38
|
+
def create
|
39
|
+
return if !user_is_allowed('settings', 'add')
|
40
|
+
|
41
|
+
resp = StdClass.new({
|
42
|
+
'error' => nil,
|
43
|
+
'redirect' => nil
|
44
|
+
})
|
45
|
+
|
46
|
+
setting = Setting.new()
|
47
|
+
setting.name = params[:name]
|
48
|
+
setting.value = params[:value]
|
49
|
+
|
50
|
+
if (setting.name.strip.length == 0)
|
51
|
+
resp.error = "The setting name is required."
|
52
|
+
else
|
53
|
+
setting.save
|
54
|
+
resp.redirect = "/admin/settings/#{setting.id}/edit"
|
55
|
+
end
|
56
|
+
render json: resp
|
57
|
+
end
|
58
|
+
|
59
|
+
# PUT /admin/settings/1
|
60
|
+
def update
|
61
|
+
return if !user_is_allowed('settings', 'edit')
|
62
|
+
|
63
|
+
resp = StdClass.new
|
64
|
+
setting = Setting.find(params[:id])
|
65
|
+
|
66
|
+
save = true
|
67
|
+
params.each do |name,value|
|
68
|
+
case name
|
69
|
+
when "name"
|
70
|
+
setting.name = value
|
71
|
+
when "value"
|
72
|
+
setting.value = value
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
resp.success = save && setting.save
|
77
|
+
render json: resp
|
78
|
+
end
|
79
|
+
|
80
|
+
# DELETE /admin/settings/1
|
81
|
+
def destroy
|
82
|
+
return if !user_is_allowed('settings', 'delete')
|
83
|
+
setting = Setting.find(params[:id])
|
84
|
+
setting.destroy
|
85
|
+
|
86
|
+
resp = StdClass.new({
|
87
|
+
'redirect' => '/admin/settings'
|
88
|
+
})
|
89
|
+
render json: resp
|
90
|
+
end
|
91
|
+
|
92
|
+
# GET /admin/settings/options
|
93
|
+
def options
|
94
|
+
return if !user_is_allowed('settings', 'view')
|
95
|
+
settings = Setting.reorder('name').all
|
96
|
+
options = settings.collect { |s| { 'value' => s.id, 'text' => s.name }}
|
97
|
+
render json: options
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|