caboose-cms 0.2.11 → 0.2.14

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.
@@ -9,7 +9,6 @@
9
9
  * compiled file, but it's generally better to create a new file per style scope.
10
10
  *
11
11
  *= require colorbox-rails
12
- *= require modeljs
13
12
  *= require caboose/fonts
14
13
  *= require caboose/caboose
15
14
  */
@@ -8,8 +8,7 @@
8
8
  * You're free to add application-wide styles to this file and they'll appear at the top of the
9
9
  * compiled file, but it's generally better to create a new file per style scope.
10
10
  *
11
- *= require colorbox-rails
12
- *= require modeljs
11
+ *= require colorbox-rails
13
12
  *= require caboose/fonts
14
13
  *= require caboose/page_bar_generator
15
14
  *= require caboose/caboose
@@ -9,7 +9,6 @@
9
9
  * compiled file, but it's generally better to create a new file per style scope.
10
10
  *
11
11
  *= require colorbox-rails
12
- *= require modeljs
13
12
  *= require caboose/fonts
14
13
  *= require caboose/caboose
15
14
  */
@@ -35,9 +35,8 @@ module Caboose
35
35
 
36
36
  # Returns whether or not a user is logged in
37
37
  def logged_in?
38
- #return true if !session["app_user"].nil? && session["app_user"].id != -1
39
38
  validate_token
40
- return true if !session["app_user"].nil? && session["app_user"].id != -1
39
+ return true if !session["app_user"].nil? && session["app_user"] != false && session["app_user"].id != -1
41
40
  return false
42
41
  end
43
42
 
@@ -11,35 +11,34 @@ module Caboose
11
11
 
12
12
  # POST /login
13
13
  def login
14
+ Caboose.log("PodioConfig.api_key = #{PodioConfig.api_key}")
14
15
 
15
- @resp = StdClass.new('error' => '', 'redirect' => '')
16
- @return_url = params[:return_url].nil? ? "/" : params[:return_url]
16
+ resp = StdClass.new('error' => '', 'redirect' => '')
17
+ return_url = params[:return_url].nil? ? "/" : params[:return_url]
17
18
 
18
19
  if (logged_in?)
19
- @resp.error = "Already logged in"
20
+ resp.redirect = return_url
20
21
  else
21
- @username = params[:username]
22
- @password = params[:password]
22
+ username = params[:username]
23
+ password = params[:password]
23
24
 
24
- if (@username.nil? || @password.nil? || @password.strip.length == 0)
25
- @resp.error = "Invalid credentials"
25
+ if (username.nil? || password.nil? || password.strip.length == 0)
26
+ resp.error = "Invalid credentials"
26
27
  else
27
28
 
28
- @password = Digest::SHA1.hexdigest(Caboose::salt + @password)
29
- user = User.where(:username => @username, :password => @password).first
30
- if (user.nil?)
31
- user = User.where(:email => @username, :password => @password).first
32
- end
29
+ bouncer_class = Caboose::authenticator_class.constantize
30
+ bouncer = bouncer_class.new
31
+ user = bouncer.authenticate(username, password)
33
32
 
34
- if (user.nil?)
35
- @resp.error = "Invalid credentials"
33
+ if (user.nil? || user == false)
34
+ resp.error = "Invalid credentials"
36
35
  else
37
36
  login_user(user)
38
- @resp.redirect = @return_url
37
+ resp.redirect = return_url
39
38
  end
40
39
  end
41
40
  end
42
- render json: @resp
41
+ render :json => resp
43
42
  end
44
43
  end
45
- end
44
+ end
@@ -0,0 +1,14 @@
1
+
2
+ class Caboose::Authenticator
3
+
4
+ def authenticate(username, password)
5
+ pass = Digest::SHA1.hexdigest(Caboose::salt + password)
6
+ user = Caboose::User.where(:username => username, :password => pass).first
7
+ if (user.nil?)
8
+ user = User.where(:email => username, :password => pass).first
9
+ end
10
+ return false if user.nil?
11
+ return user
12
+ end
13
+
14
+ end
@@ -25,12 +25,12 @@ function login()
25
25
  type: 'post',
26
26
  data: $('#login_form').serialize(),
27
27
  success: function(resp) {
28
- //if (resp.error)
29
- // modal.autosize("<p class='note error'>" + resp.error + "</p>");
30
- //else if (resp.redirect != false)
31
- // <%= @modal ? "" : "parent." %>window.location = resp.redirect;
32
- //else
33
- // parent.location.reload(true);
28
+ if (resp.error)
29
+ modal.autosize("<p class='note error'>" + resp.error + "</p>");
30
+ else if (resp.redirect != false)
31
+ <%= @modal ? "" : "parent." %>window.location = resp.redirect;
32
+ else
33
+ parent.location.reload(true);
34
34
  },
35
35
  error: function() {
36
36
  modal.autosize("<p class='note error'>Error</p>");
@@ -0,0 +1,6 @@
1
+ <% if (yield && yield.strip.length > 0) %>
2
+ <%= yield %>
3
+ <% elsif (!@page.nil?) %>
4
+ <h1><%= @page.title %></h1>
5
+ <%= raw @page.content %>
6
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <%
2
+ if (@user.nil? || @user == Caboose::User.logged_out_user)
3
+ %><a href='/login?return_url=<%= request.fullpath %>' id='caboose_login'><span>Login</span></a><%
4
+ else
5
+ %><a href='/station?page_id=<%= @page.id %>' id='caboose_station'><span>Control Panel</span></a><%
6
+ end
7
+ %>
@@ -2,12 +2,6 @@
2
2
  <div id='top_nav'>
3
3
  <div class='caboose_logo'></div>
4
4
  <ul>
5
- <% if (@user.nil? || @user == Caboose::User.logged_out_user) %>
6
- <li><a href='/login?return_url=#{request.fullpath}' id='caboose_login'><span>Login</span></a></li>
7
- <% else %>
8
- <li class='cpanel' ><a href='/station?page_id=<%= @page.id %>' id='caboose_station'><span>Control Panel</span></a></li>
9
- <li class='account' ><a href='/admin/users/<%= @user.id %>/edit'><span>Account</span></a></li>
10
- <li class='logout' ><a href='/logout'><span>Logout</span></a></li>
11
- <% end %>
5
+ <li><%= render :partial => 'layouts/caboose/station_link' %></li>
12
6
  </ul>
13
7
  </div>
@@ -21,6 +21,9 @@ module Caboose
21
21
  # Any modeljs stylesheets
22
22
  mattr_accessor :modeljs_css_files
23
23
  @@modeljs_css_files = []
24
+
25
+ # The login authenticator
26
+ mattr_accessor :authenticator_class
27
+ @@authenticator_class = 'Caboose::Authenticator'
24
28
 
25
29
  end
26
-
@@ -1,7 +1,7 @@
1
1
 
2
2
  require 'tinymce-rails'
3
3
  require 'jquery-ui-rails'
4
- require 'modeljs'
4
+ #require 'modeljs'
5
5
  require 'colorbox-rails'
6
6
 
7
7
  module Caboose
@@ -1,3 +1,3 @@
1
1
  module Caboose
2
- VERSION = '0.2.11'
2
+ VERSION = '0.2.14'
3
3
  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.2.11
4
+ version: 0.2.14
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-07-22 00:00:00.000000000 Z
12
+ date: 2013-07-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 3.2.13
21
+ version: 3.2.12
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 3.2.13
29
+ version: 3.2.12
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: jquery-rails
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -75,38 +75,6 @@ dependencies:
75
75
  - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: mysql2
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
86
- type: :runtime
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: modeljs
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - '='
100
- - !ruby/object:Gem::Version
101
- version: 0.0.10
102
- type: :runtime
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - '='
108
- - !ruby/object:Gem::Version
109
- version: 0.0.10
110
78
  - !ruby/object:Gem::Dependency
111
79
  name: tinymce-rails
112
80
  requirement: !ruby/object:Gem::Requirement
@@ -219,6 +187,7 @@ files:
219
187
  - app/helpers/caboose/permissions_helper.rb
220
188
  - app/models/caboose/approval_request.rb
221
189
  - app/models/caboose/asset.rb
190
+ - app/models/caboose/authenticator.rb
222
191
  - app/models/caboose/caboose_plugin.rb
223
192
  - app/models/caboose/menu_block.rb
224
193
  - app/models/caboose/page.rb
@@ -270,7 +239,9 @@ files:
270
239
  - app/views/caboose/users/new.html.erb
271
240
  - app/views/caboose/users/update_pic.html.erb
272
241
  - app/views/layouts/caboose/_admin_top_nav.html.erb
242
+ - app/views/layouts/caboose/_content.html.erb
273
243
  - app/views/layouts/caboose/_station.html.erb
244
+ - app/views/layouts/caboose/_station_link.html.erb
274
245
  - app/views/layouts/caboose/_top_nav.html.erb
275
246
  - app/views/layouts/caboose/admin.html.erb
276
247
  - app/views/layouts/caboose/application.html.erb