caboose-cms 0.2.11 → 0.2.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -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