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.
Files changed (57) hide show
  1. data/app/assets/images/caboose/caboose_nav.png +0 -0
  2. data/app/assets/javascripts/caboose/admin.js +37 -0
  3. data/app/assets/javascripts/caboose/application.js +2 -1
  4. data/app/assets/javascripts/caboose/model.form.page.js +30 -0
  5. data/app/assets/javascripts/caboose/station.js +223 -0
  6. data/app/assets/stylesheets/caboose/admin.css +57 -0
  7. data/app/assets/stylesheets/caboose/caboose.css +146 -16
  8. data/app/assets/stylesheets/caboose/tinymce.css +25 -0
  9. data/app/controllers/caboose/pages_controller.rb +43 -19
  10. data/app/controllers/caboose/permissions_controller.rb +91 -73
  11. data/app/controllers/caboose/roles_controller.rb +49 -37
  12. data/app/controllers/caboose/settings_controller.rb +100 -0
  13. data/app/controllers/caboose/station_controller.rb +13 -0
  14. data/app/controllers/caboose/users_controller.rb +51 -44
  15. data/app/models/caboose/caboose_plugin.rb +2 -6
  16. data/app/models/caboose/page.rb +3 -3
  17. data/app/models/caboose/page_bar_generator.rb +37 -28
  18. data/app/models/caboose/page_plugin.rb +43 -0
  19. data/app/models/caboose/permission_plugin.rb +27 -0
  20. data/app/models/caboose/role.rb +19 -1
  21. data/app/models/caboose/role_plugin.rb +27 -0
  22. data/app/models/caboose/setting.rb +5 -0
  23. data/app/models/caboose/settings_plugin.rb +27 -0
  24. data/app/models/caboose/user.rb +1 -2
  25. data/app/models/caboose/user_plugin.rb +28 -0
  26. data/app/views/caboose/pages/edit.html.erb +7 -27
  27. data/app/views/caboose/pages/edit_settings.html.erb +38 -0
  28. data/app/views/caboose/pages/sitemap.html.erb +12 -0
  29. data/app/views/caboose/permissions/edit.html.erb +21 -4
  30. data/app/views/caboose/permissions/index.html.erb +29 -21
  31. data/app/views/caboose/permissions/new.html.erb +22 -2
  32. data/app/views/caboose/roles/edit.html.erb +40 -27
  33. data/app/views/caboose/roles/index.html.erb +3 -5
  34. data/app/views/caboose/roles/new.html.erb +30 -11
  35. data/app/views/caboose/settings/edit.html.erb +23 -0
  36. data/app/views/caboose/settings/index.html.erb +33 -0
  37. data/app/views/caboose/settings/new.html.erb +25 -0
  38. data/app/views/caboose/users/edit.html.erb +11 -14
  39. data/app/views/caboose/users/index.html.erb +2 -4
  40. data/app/views/caboose/users/new.html.erb +2 -0
  41. data/app/views/caboose/users/update_pic.html.erb +1 -1
  42. data/app/views/layouts/caboose/_station.html.erb +43 -14
  43. data/app/views/layouts/caboose/{caboose.html.erb → admin.html.erb} +2 -2
  44. data/config/routes.rb +16 -5
  45. data/lib/caboose.rb +1 -1
  46. data/lib/caboose/engine.rb +15 -6
  47. data/lib/caboose/version.rb +1 -1
  48. data/lib/sample_files/tinymce.yml +22 -0
  49. data/lib/tasks/caboose.rake +21 -1
  50. metadata +40 -12
  51. data/app/assets/javascripts/caboose/caboose.js +0 -28
  52. data/app/assets/javascripts/caboose/permissions.js +0 -0
  53. data/app/assets/javascripts/caboose/roles.js +0 -35
  54. data/app/assets/javascripts/caboose/users.js +0 -38
  55. data/app/views/caboose/permissions/show.html.erb +0 -15
  56. data/app/views/caboose/roles/show.html.erb +0 -20
  57. data/app/views/caboose/users/update_resume.html.erb +0 -14
@@ -0,0 +1,33 @@
1
+ <h1>Settings</h1>
2
+
3
+ <form action='/admin/settings' method='get'>
4
+ <table cellpadding='4' cellspacing='0' border='0'>
5
+ <tr><td>Name: </td><td><input type='text' name='name' value='<%= @gen.params['name'] %>' style='width: 200px;' /></td></tr>
6
+ </table>
7
+ <p><input type='submit' value='Search' /></p>
8
+ </form>
9
+
10
+ <% if (@settings.count > 0) %>
11
+
12
+ <table class='data'>
13
+ <tr>
14
+ <%= raw @gen.sortable_table_headings({
15
+ 'name' => 'Name',
16
+ 'value' => 'Value'
17
+ })
18
+ %>
19
+ </tr>
20
+ <% @settings.each do |setting| %>
21
+ <tr onclick="window.location='/admin/settings/<%= setting.id %>/edit';">
22
+ <td><%= setting.name %></td>
23
+ <td><%= setting.value %></td>
24
+ </tr>
25
+ <% end %>
26
+ </table>
27
+ <p><%= raw @gen.generate %></p>
28
+
29
+ <% else %>
30
+
31
+ <p>There are no settings.</p>
32
+
33
+ <% end %>
@@ -0,0 +1,25 @@
1
+
2
+ <h1>New Setting</h1>
3
+ <div id='setting_new_container'></div>
4
+
5
+ <% content_for :caboose_js do %>
6
+ <script type='text/javascript'>
7
+
8
+ var setting = false;
9
+ $(document).ready(function() {
10
+
11
+ setting = new Model({
12
+ name: 'Setting',
13
+ id: 'new',
14
+ listing_url: 'get /admin/settings',
15
+ create_url: 'post /admin/settings',
16
+ attributes: [
17
+ { name: 'name' , type: 'text' , value: '' },
18
+ { name: 'value' , type: 'textarea' , value: '' }
19
+ ]
20
+ });
21
+
22
+ });
23
+
24
+ </script>
25
+ <% end %>
@@ -1,6 +1,6 @@
1
1
 
2
2
  <h1>Edit User</h1>
3
- <div id='user_<%= @user.id %>_container'></div>
3
+ <div id='user_<%= @edituser.id %>_container'></div>
4
4
 
5
5
  <% content_for :caboose_js do %>
6
6
  <script type="text/javascript">
@@ -8,12 +8,15 @@
8
8
  $(document).ready(function() {
9
9
  var user = new Model({
10
10
  name: 'User',
11
- id: <%= @user.id %>,
11
+ id: <%= @edituser.id %>,
12
+ listing_url: 'get /admin/users',
13
+ update_url: 'put /admin/users/<%= @edituser.id %>',
14
+ delete_url: 'delete /admin/users/<%= @edituser.id %>',
12
15
  attributes: [
13
- { name: 'first_name' , type: 'text', value: "<%= @user.first_name %>" },
14
- { name: 'last_name' , type: 'text', value: "<%= @user.last_name %>" },
15
- { name: 'username' , type: 'text', value: "<%= @user.username %>" },
16
- { name: 'email' , type: 'text', value: "<%= @user.email %>" },
16
+ { name: 'first_name' , type: 'text', value: "<%= @edituser.first_name %>" },
17
+ { name: 'last_name' , type: 'text', value: "<%= @edituser.last_name %>" },
18
+ { name: 'username' , type: 'text', value: "<%= @edituser.username %>" },
19
+ { name: 'email' , type: 'text', value: "<%= @edituser.email %>" },
17
20
  { name: 'password' , type: 'password' },
18
21
  {
19
22
  name: 'roles',
@@ -23,19 +26,13 @@ $(document).ready(function() {
23
26
  empty_text: '[No roles]',
24
27
  multiple: true,
25
28
  loading_message: 'Getting roles...',
26
- options_url: '/roles/options'
29
+ options_url: '/admin/roles/options'
27
30
  },
28
31
  {
29
32
  name: 'pic',
30
33
  type: 'image',
31
34
  value: '',
32
- update_url: '/users/<%= @user.id %>/update-pic'
33
- },
34
- {
35
- name: 'resume',
36
- type: 'file',
37
- value: '',
38
- update_url: '/users/<%= @user.id %>/update-resume'
35
+ update_url: '/admin/users/<%= @edituser.id %>/update-pic'
39
36
  }
40
37
  ]
41
38
  });
@@ -1,8 +1,6 @@
1
1
  <h1>Users</h1>
2
2
 
3
- <p><a href='/users/new'>New User</a></p>
4
-
5
- <form action='/users' method='get'>
3
+ <form action='/admin/users' method='get'>
6
4
  <table cellpadding='4' cellspacing='0' border='0'>
7
5
  <tr><td>First name: </td><td><input type='text' name='first_name' value='<%= @gen.params['first_name'] %>' style='width: 200px;' /></td></tr>
8
6
  <tr><td>Last name: </td><td><input type='text' name='last_name' value='<%= @gen.params['last_name'] %>' style='width: 200px;' /></td></tr>
@@ -22,7 +20,7 @@
22
20
  %>
23
21
  </tr>
24
22
  <% @users.each do |user| %>
25
- <tr onclick="window.location='/users/<%= user.id %>/edit';">
23
+ <tr onclick="window.location='/admin/users/<%= user.id %>/edit';">
26
24
  <td><%= user.first_name %></td>
27
25
  <td><%= user.last_name %></td>
28
26
  <td><%= user.username %></td>
@@ -11,6 +11,8 @@ $(document).ready(function() {
11
11
  user = new Model({
12
12
  name: 'User',
13
13
  id: 'new',
14
+ listing_url: 'get /admin/users',
15
+ create_url: 'post /admin/users',
14
16
  attributes: [
15
17
  { name: 'username', type: 'text', value: '' }
16
18
  ]
@@ -3,7 +3,7 @@
3
3
  $(document).ready(function() {
4
4
  parent.Model.upload_finished({
5
5
  name: 'user',
6
- id: <%= @user.id %>,
6
+ id: <%= @edituser.id %>,
7
7
  attribute_name: 'pic',
8
8
  success: true,
9
9
  error: false,
@@ -1,23 +1,52 @@
1
+ <%
1
2
 
2
- <div id='caboose_station'>
3
+ @nav = Caboose.plugin_hook('admin_nav', [], @user, @page)
4
+
5
+ initial_state = session[:caboose_station_state].nil? ? 'min' : session[:caboose_station_state]
6
+ open_tabs = session[:caboose_station_open_tabs].nil? ? [] : session[:caboose_station_open_tabs]
7
+ return_url = session[:caboose_station_return_url].nil? ? '/' : session[:caboose_station_return_url]
8
+ return_url = '/' if return_url.starts_with?('/admin/') || return_url == '/admin'
9
+
10
+ style = ''
11
+ if (initial_state == 'left')
12
+ style = " style='display: block; left: 0;'"
13
+ elsif (initial_state == 'right')
14
+ style = " style='display: block; right: 0;'"
15
+ end
16
+
17
+ %>
18
+ <div id='caboose_station' class='state_<%= initial_state %>'<%= raw style %>>
19
+
3
20
  <% if (@user.nil? || @user.id == Caboose::User::LOGGED_OUT_USER_ID) %>
21
+ <h2>Caboose Station</h2>
4
22
  <a href='/login' class='login'>Login</a>
5
23
  <% else %>
6
- <ul>
24
+ <ul class='account'>
7
25
  <li class='my_account'><a href='/users/<%= @user.id %>/edit'>My Account</a></li>
8
26
  <li class='logout'><a href='/logout'>Logout</a></li>
9
- <% if (@user.is_allowed('admin', 'view')) %>
10
- <li class='admin'><a href='/admin'>Admin</a></li>
11
- <% end %>
12
- <%
13
- uru = session['use_redirect_urls'].nil? ? true : session['use_redirect_urls']
14
- %>
15
- <li><a href="javascript:setServerVar('use_redirect_urls', <%= uru ? '0' : '1' %>, 'redirect_message');"><%= uru ? 'Disable' : 'Enable' %> Redirect Urls</a><span id='redirect_message'></span></li>
16
- <% if (!@tasks.nil?) %>
17
- <% @tasks.each do |href, task| %>
18
- <li><a href='<%= href %>'><%= task %></a></li>
19
- <% end %>
20
- <% end %>
21
27
  </ul>
28
+ <h2>Caboose Station</h2>
29
+ <ul class='admin'>
30
+ <% i = 0 %>
31
+ <% @nav.each do |item| %>
32
+ <% id = item['id'].nil? ? i.to_s : item['id'] %>
33
+ <li id='nav_item_<%= id %>'><a href='#' class='top_level'><%= item['text'] %></a>
34
+ <% if (!item['children'].nil? && item['children'].count > 0) %>
35
+ <%
36
+ visible = open_tabs.include?(id) || (!item['show_children_default'].nil? && item['show_children_default'])
37
+ style = visible ? '' : " style='display: none;'"
38
+ %>
39
+ <ul id='subnav_<%= id %>' class='<%= visible ? 'visible' : 'hidden' %>'<%= raw style %>>
40
+ <% item['children'].each do |item2| %>
41
+ <li><a href='<%= item2['href'] %>'><%= item2['text'] %></a></li>
42
+ <% end %>
43
+ </ul>
44
+ <% end %>
45
+ </li>
46
+ <% i + 1 %>
47
+ <% end %>
48
+ </ul>
49
+ <a href='<%= return_url %>' class='close'>Close</a>
22
50
  <% end %>
51
+
23
52
  </div>
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <title>Caboose</title>
6
- <%= stylesheet_link_tag "caboose/application", :media => "all" %>
6
+ <%= stylesheet_link_tag "caboose/admin", :media => "all" %>
7
7
  <%= yield :caboose_css %>
8
8
  <%= csrf_meta_tags %>
9
9
  </head>
@@ -19,7 +19,7 @@
19
19
  </div>
20
20
  <div class="footer"></div>
21
21
  <%= render :partial => 'layouts/caboose/station' %>
22
- <%= javascript_include_tag "caboose/application" %>
22
+ <%= javascript_include_tag "caboose/admin" %>
23
23
  <%= yield :caboose_js %>
24
24
  </body>
25
25
  </html>
data/config/routes.rb CHANGED
@@ -1,16 +1,18 @@
1
1
  Caboose::Engine.routes.draw do
2
2
 
3
3
  get "admin" => "admin#index"
4
+ put "admin/station" => "station#index"
4
5
 
5
6
  get "login" => "login#index"
6
7
  post "login" => "login#login"
7
8
  get "logout" => "logout#index"
8
9
 
9
- post "admin/users/:id/update-pic" => "users#update_pic"
10
10
  get "admin/users" => "users#index"
11
+ get "admin/users/options" => "users#options"
12
+ get "admin/users/new" => "users#new"
13
+ post "admin/users/:id/update-pic" => "users#update_pic"
11
14
  get "admin/users/:id/edit" => "users#edit"
12
15
  put "admin/users/:id" => "users#update"
13
- get "admin/users/new" => "users#new"
14
16
  post "admin/users" => "users#create"
15
17
  delete "admin/users/:id" => "users#destroy"
16
18
 
@@ -23,19 +25,28 @@ Caboose::Engine.routes.draw do
23
25
  delete "admin/roles/:id" => "roles#destroy"
24
26
 
25
27
  get "admin/permissions" => "permissions#index"
26
- get "admin/permissions/:id" => "permissions#show"
27
- get "admin/permissions/:id/edit" => "permissions#edit"
28
- put "admin/permissions/:id" => "permissions#update"
28
+ get "admin/permissions/options" => "permissions#options"
29
29
  get "admin/permissions/new" => "permissions#new"
30
+ get "admin/permissions/:id/edit" => "permissions#edit"
31
+ put "admin/permissions/:id" => "permissions#update"
30
32
  post "admin/permissions" => "permissions#create"
31
33
  delete "admin/permissions/:id" => "permissions#destroy"
32
34
 
35
+ get "admin/settings" => "settings#index"
36
+ get "admin/settings/options" => "settings#options"
37
+ get "admin/settings/new" => "settings#new"
38
+ get "admin/settings/:id/edit" => "settings#edit"
39
+ put "admin/settings/:id" => "settings#update"
40
+ post "admin/settings" => "settings#create"
41
+ delete "admin/settings/:id" => "settings#destroy"
42
+
33
43
  get "pages" => "pages#index"
34
44
  get "pages/sitemap-options" => "pages#sitemap_options"
35
45
  get "pages/robots-options" => "pages#robots_options"
36
46
  get "pages/content-format-options" => "pages#content_format_options"
37
47
  get "pages/new" => "pages#new"
38
48
  get "pages/:id/redirect" => "pages#redirect"
49
+ get "pages/:id/edit-settings" => "pages#edit_settings"
39
50
  get "pages/:id/edit" => "pages#edit"
40
51
  get "pages/:id" => "pages#show"
41
52
  put "pages/:id" => "pages#update"
data/lib/caboose.rb CHANGED
@@ -9,7 +9,7 @@ module Caboose
9
9
  @@assets_path = "assets"
10
10
 
11
11
  mattr_accessor :plugins
12
- @@plugins = []
12
+ @@plugins = ['Caboose::UserPlugin', 'Caboose::RolePlugin', 'Caboose::PermissionPlugin', 'Caboose::PagePlugin', 'Caboose::SettingsPlugin']
13
13
 
14
14
  # Any paths to modeljs javascript files
15
15
  mattr_accessor :modeljs_js_files
@@ -1,3 +1,6 @@
1
+
2
+ require 'tinymce-rails'
3
+
1
4
  module Caboose
2
5
 
3
6
  def Caboose.log(message, title = nil)
@@ -14,15 +17,21 @@ module Caboose
14
17
  end
15
18
  end
16
19
 
17
- def Caboose.plugin_hook(tag, args = nil)
20
+ def Caboose.plugin_hook(*args)
21
+ resp = nil
22
+ args[0] = args[0].to_sym
18
23
  Caboose.plugins.each do |mod|
19
- func = "#{tag}_hook"
20
- if (mod.constantize.respond_to?(func))
21
- args = mod.constantize.send(func.to_sym, args)
24
+ #resp = mod.constantize.send(*args)
25
+ if (mod.constantize.respond_to?(args[0]))
26
+ resp = mod.constantize.send(*args)
22
27
  end
23
- #args = mod.send(func.to_sym, args)
24
28
  end
25
- return args
29
+ return resp
30
+ end
31
+
32
+ def Caboose.json(obj, defaultvalue = "")
33
+ return defaultvalue.to_json if obj.nil?
34
+ return obj.to_json
26
35
  end
27
36
 
28
37
  class Engine < ::Rails::Engine
@@ -1,3 +1,3 @@
1
1
  module Caboose
2
- VERSION = "0.0.7"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -0,0 +1,22 @@
1
+
2
+ default:
3
+ theme_advanced_toolbar_align: left
4
+ theme_advanced_buttons3_add:
5
+ - tablecontrols
6
+ plugins:
7
+ - table
8
+
9
+ caboose:
10
+ width: '540px'
11
+ height: '130px'
12
+ convert_urls: false
13
+ content_css: '/assets/caboose/tinymce.css'
14
+ theme_advanced_toolbar_location: top
15
+ theme_advanced_toolbar_align: left
16
+ theme_advanced_statusbar_location: bottom
17
+ theme_advanced_resizing: true
18
+ theme_advanced_buttons1: "bold,italic,underline,|,bullist,numlist,|,link,unlink,anchor,image,|,tablecontrols,|,code"
19
+ theme_advanced_buttons2: ""
20
+ theme_advanced_buttons3: ""
21
+ theme_advanced_buttons4: ""
22
+ plugins: "autolink,lists,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template"
@@ -1,3 +1,4 @@
1
+ require "caboose/version"
1
2
 
2
3
  namespace :caboose do
3
4
 
@@ -6,6 +7,7 @@ namespace :caboose do
6
7
  init_config
7
8
  init_routes
8
9
  init_assets
10
+ init_tinymce
9
11
  init_session
10
12
  init_schema
11
13
  init_data
@@ -15,7 +17,9 @@ namespace :caboose do
15
17
  desc "Configures the host application to use caboose for routing"
16
18
  task :init_routes => :environment do init_routes end
17
19
  desc "Initializes all the required caboose js, css and layout files in the host application"
18
- task :init_assets => :environment do init_assets end
20
+ task :init_assets => :environment do init_assets end
21
+ desc "Initializes the tinymce config file in the host application"
22
+ task :init_tinymce => :environment do init_tinymce end
19
23
  desc "Configures the host application to use active record session storing"
20
24
  task :init_session => :environment do init_session end
21
25
  desc "Initializes the caboose database schema"
@@ -74,6 +78,11 @@ namespace :caboose do
74
78
  init_file('app/views/layouts/layout_default.html.erb')
75
79
  end
76
80
 
81
+ def init_tinymce
82
+ puts "Adding the tinymce config file..."
83
+ init_file('config/tinymce.yml')
84
+ end
85
+
77
86
  def init_session
78
87
  puts "Setting the session config..."
79
88
 
@@ -106,6 +115,7 @@ namespace :caboose do
106
115
  c.drop_table :pages if c.table_exists?('pages')
107
116
  c.drop_table :page_permissions if c.table_exists?('page_permissions')
108
117
  c.drop_table :sessions if c.table_exists?('sessions')
118
+ c.drop_table :settings if c.table_exists?('settings')
109
119
  end
110
120
 
111
121
  def create_tables
@@ -197,6 +207,10 @@ namespace :caboose do
197
207
  c.add_index :sessions, :updated_at
198
208
  c.change_column :sessions, :created_at, :datetime, :null => true
199
209
  c.change_column :sessions, :updated_at, :datetime, :null => true
210
+ c.create_table :settings do |t|
211
+ t.string :name
212
+ t.text :value
213
+ end
200
214
 
201
215
  end
202
216
 
@@ -246,5 +260,11 @@ namespace :caboose do
246
260
  Caboose::PagePermission.create(role_id: elo_role.id, page_id: home_page.id, action: 'view')
247
261
  Caboose::PagePermission.create(role_id: elo_role.id, page_id: login_page.id, action: 'view')
248
262
 
263
+ # Create the required settings
264
+ Caboose::Setting.create(name: 'version' , value: Caboose::VERSION)
265
+ Caboose::Setting.create(name: 'site_name' , value: 'New Caboose Site')
266
+ Caboose::Setting.create(name: 'site_url' , value: 'www.mycaboosesite.com')
267
+ Caboose::Setting.create(name: 'admin_email' , value: 'william@nine.is')
268
+
249
269
  end
250
270
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caboose-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-28 00:00:00.000000000 Z
12
+ date: 2013-06-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -59,6 +59,22 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: mysql2
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
62
78
  - !ruby/object:Gem::Dependency
63
79
  name: modeljs
64
80
  requirement: !ruby/object:Gem::Requirement
@@ -76,14 +92,14 @@ dependencies:
76
92
  - !ruby/object:Gem::Version
77
93
  version: '0'
78
94
  - !ruby/object:Gem::Dependency
79
- name: mysql2
95
+ name: tinymce-rails
80
96
  requirement: !ruby/object:Gem::Requirement
81
97
  none: false
82
98
  requirements:
83
99
  - - ! '>='
84
100
  - !ruby/object:Gem::Version
85
101
  version: '0'
86
- type: :development
102
+ type: :runtime
87
103
  prerelease: false
88
104
  version_requirements: !ruby/object:Gem::Requirement
89
105
  none: false
@@ -99,14 +115,15 @@ extensions: []
99
115
  extra_rdoc_files: []
100
116
  files:
101
117
  - app/assets/images/caboose/caboose_nav.png
118
+ - app/assets/javascripts/caboose/admin.js
102
119
  - app/assets/javascripts/caboose/application.js
103
- - app/assets/javascripts/caboose/caboose.js
104
120
  - app/assets/javascripts/caboose/login.js
105
- - app/assets/javascripts/caboose/permissions.js
106
- - app/assets/javascripts/caboose/roles.js
107
- - app/assets/javascripts/caboose/users.js
121
+ - app/assets/javascripts/caboose/model.form.page.js
122
+ - app/assets/javascripts/caboose/station.js
123
+ - app/assets/stylesheets/caboose/admin.css
108
124
  - app/assets/stylesheets/caboose/application.css
109
125
  - app/assets/stylesheets/caboose/caboose.css
126
+ - app/assets/stylesheets/caboose/tinymce.css
110
127
  - app/controllers/caboose/admin_controller.rb
111
128
  - app/controllers/caboose/application_controller.rb
112
129
  - app/controllers/caboose/login_controller.rb
@@ -114,6 +131,8 @@ files:
114
131
  - app/controllers/caboose/pages_controller.rb
115
132
  - app/controllers/caboose/permissions_controller.rb
116
133
  - app/controllers/caboose/roles_controller.rb
134
+ - app/controllers/caboose/settings_controller.rb
135
+ - app/controllers/caboose/station_controller.rb
117
136
  - app/controllers/caboose/users_controller.rb
118
137
  - app/helpers/caboose/application_helper.rb
119
138
  - app/helpers/caboose/permissions_helper.rb
@@ -124,38 +143,46 @@ files:
124
143
  - app/models/caboose/page.rb
125
144
  - app/models/caboose/page_bar_generator.rb
126
145
  - app/models/caboose/page_permission.rb
146
+ - app/models/caboose/page_plugin.rb
127
147
  - app/models/caboose/permission.rb
148
+ - app/models/caboose/permission_plugin.rb
128
149
  - app/models/caboose/role.rb
150
+ - app/models/caboose/role_plugin.rb
151
+ - app/models/caboose/setting.rb
152
+ - app/models/caboose/settings_plugin.rb
129
153
  - app/models/caboose/std_class.rb
130
154
  - app/models/caboose/user.rb
155
+ - app/models/caboose/user_plugin.rb
131
156
  - app/views/caboose/admin/index.html.erb
132
157
  - app/views/caboose/application/show.html.erb
133
158
  - app/views/caboose/extras/error.html.erb
134
159
  - app/views/caboose/extras/error404.html.erb
135
160
  - app/views/caboose/login/index.html.erb
136
161
  - app/views/caboose/pages/edit.html.erb
162
+ - app/views/caboose/pages/edit_settings.html.erb
137
163
  - app/views/caboose/pages/index.html.erb
138
164
  - app/views/caboose/pages/new.html.erb
139
165
  - app/views/caboose/pages/show.html.erb
166
+ - app/views/caboose/pages/sitemap.html.erb
140
167
  - app/views/caboose/pages/update_pic.html.erb
141
168
  - app/views/caboose/pages/update_resume.html.erb
142
169
  - app/views/caboose/permissions/edit.html.erb
143
170
  - app/views/caboose/permissions/index.html.erb
144
171
  - app/views/caboose/permissions/new.html.erb
145
- - app/views/caboose/permissions/show.html.erb
146
172
  - app/views/caboose/roles/edit.html.erb
147
173
  - app/views/caboose/roles/index.html.erb
148
174
  - app/views/caboose/roles/new.html.erb
149
- - app/views/caboose/roles/show.html.erb
175
+ - app/views/caboose/settings/edit.html.erb
176
+ - app/views/caboose/settings/index.html.erb
177
+ - app/views/caboose/settings/new.html.erb
150
178
  - app/views/caboose/users/edit.html.erb
151
179
  - app/views/caboose/users/index.html.erb
152
180
  - app/views/caboose/users/new.html.erb
153
181
  - app/views/caboose/users/update_pic.html.erb
154
- - app/views/caboose/users/update_resume.html.erb
155
182
  - app/views/layouts/caboose/_station.html.erb
156
183
  - app/views/layouts/caboose/_top_nav.html.erb
184
+ - app/views/layouts/caboose/admin.html.erb
157
185
  - app/views/layouts/caboose/application.html.erb
158
- - app/views/layouts/caboose/caboose.html.erb
159
186
  - app/views/layouts/caboose/error404.html.erb
160
187
  - config/routes.rb
161
188
  - lib/caboose/engine.rb
@@ -168,6 +195,7 @@ files:
168
195
  - lib/sample_files/caboose_before.js
169
196
  - lib/sample_files/caboose_station.html.erb
170
197
  - lib/sample_files/layout_default.html.erb
198
+ - lib/sample_files/tinymce.yml
171
199
  - lib/tasks/caboose.rake
172
200
  - MIT-LICENSE
173
201
  - Rakefile