caboose-cms 0.0.7 → 0.1.0
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.
- 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
|