muck-users 3.1.8 → 3.1.9

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.8
1
+ 3.1.9
@@ -11,15 +11,15 @@ class Admin::Muck::AccessCodeRequestsController < Admin::Muck::BaseController
11
11
  end
12
12
 
13
13
  def send_code
14
+ @expires_at = 1.year.from_now
14
15
  @access_code_request = AccessCodeRequest.find(params[:id])
15
16
  render :template => "admin/access_code_requests/send_code", :layout => false
16
17
  end
17
18
 
18
19
  def update
19
- debugger
20
20
  @access_code_request = AccessCodeRequest.find(params[:id])
21
21
  if params[:send_access_code]
22
- @success = @access_code_request.send_access_code(params[:subject], params[:message])
22
+ @success = @access_code_request.send_access_code(params[:subject], params[:message], params[:expires_at])
23
23
  else
24
24
  @success = @access_code_request.update_attributes(params[:access_code_request])
25
25
  end
@@ -31,7 +31,7 @@ class Admin::Muck::AccessCodeRequestsController < Admin::Muck::BaseController
31
31
  end
32
32
 
33
33
  rescue => ex
34
- flash[:error] = ex
34
+ flash[:error] = ex.to_s
35
35
  output_admin_messages
36
36
  end
37
37
 
@@ -35,21 +35,29 @@ class Muck::UserSessionsController < ApplicationController
35
35
  flash[:notice] = t('muck.users.login_out_success')
36
36
  respond_to do |format|
37
37
  format.html { redirect_to logout_complete_path }
38
+ format.json { render :json => { :logged_in => false, :message => t('muck.users.login_out_success') } }
38
39
  end
39
40
  end
40
41
 
42
+ def login_check
43
+ render :json => { :logged_in => logged_in? }
44
+ end
45
+
41
46
  protected
42
47
 
43
48
  def after_create_response(success)
44
49
  if success
45
- flash[:notice] = t('muck.users.login_success')
46
50
  respond_to do |format|
47
- format.html { redirect_back_or_default user_path(@user_session.user) }
51
+ format.html do
52
+ flash[:notice] = t('muck.users.login_success')
53
+ redirect_back_or_default(user_path(@user_session.user))
54
+ end
55
+ format.json { render :json => { :logged_in => true, :message => t('muck.users.login_success'), :user => @user.to_json } }
48
56
  end
49
57
  else
50
- flash[:notice] = t('muck.users.login_fail')
51
58
  respond_to do |format|
52
- format.html { render :template => 'user_sessions/new' }
59
+ format.html { render :template => 'user_sessions/new', :notice => t('muck.users.login_fail') }
60
+ format.json { render :json => { :logged_in => false, :message => t('muck.users.login_fail') } }
53
61
  end
54
62
  end
55
63
  end
@@ -10,9 +10,9 @@ class Muck::UsersController < ApplicationController
10
10
  @user ||= current_user
11
11
  if @user == current_user
12
12
  @page_title = @user.to_param
13
- standard_response('show')
13
+ standard_response('show', true)
14
14
  else
15
- redirect_to public_user_path(@user)
15
+ standard_response('show', false, public_user_path(@user))
16
16
  end
17
17
  end
18
18
 
@@ -35,15 +35,13 @@ class Muck::UsersController < ApplicationController
35
35
  def new
36
36
  @page_title = t('muck.users.register_account', :application_name => MuckEngine.configuration.application_name)
37
37
  @user = User.new
38
- standard_response('new')
38
+ standard_response('new', true)
39
39
  end
40
40
 
41
41
  def edit
42
42
  @page_title = t('muck.users.update_profile')
43
43
  @user = admin? ? User.find(params[:id]) : current_user
44
- respond_to do |format|
45
- format.html { render :template => 'users/edit' }
46
- end
44
+ standard_response('edit', true)
47
45
  end
48
46
 
49
47
  def create
@@ -162,12 +160,20 @@ class Muck::UsersController < ApplicationController
162
160
  end
163
161
  end
164
162
 
165
- def standard_response(template)
166
- respond_to do |format|
167
- format.html { render :template => "users/#{template}" }
168
- format.xml { render :xml => @user }
169
- format.json { render :json => { :success => true, :user => @user.as_json } }
170
- end
163
+ def standard_response(template, success = true, failure_path = '')
164
+ if success
165
+ respond_to do |format|
166
+ format.html { render :template => "users/#{template}" }
167
+ format.xml { render :xml => @user }
168
+ format.json { render :json => { :success => true, :user => @user.as_json } }
169
+ end
170
+ else
171
+ respond_to do |format|
172
+ format.html { redirect_to failure_path }
173
+ format.xml { render :xml => @user }
174
+ format.json { render :json => { :success => false } }
175
+ end
176
+ end
171
177
  end
172
178
 
173
179
  def after_create_response(success, local_uri = '')
@@ -4,16 +4,26 @@
4
4
  <%= muck_form_for @access_code_request, :url => admin_access_code_request_path(@access_code_request), :html => { :method => :put, :class => 'ajax' } do |f| -%>
5
5
  <p><%=translate('muck.users.send_access_code_instructions') %></p>
6
6
  <div class="form-row">
7
- <label><%= translate('muck.users.access_code_subject')%></label>
8
- <%= text_field_tag :subject -%>
7
+ <label><%= translate('muck.users.access_code_subject') %></label>
8
+ <%= text_field_tag :subject, params[:subject] -%>
9
9
  </div>
10
10
  <div class="form-row">
11
- <label><%= translate('muck.users.access_code_message')%></label>
12
- <%= text_area_tag :message -%>
11
+ <label><%= translate('muck.users.access_code_message') %></label>
12
+ <%= text_area_tag :message, params[:message] -%>
13
+ </div>
14
+ <div class="form-row">
15
+ <label><%= translate('muck.users.expiration_date') %></label>
16
+ <%= text_field_tag :expires_at, params[:expires_at] || @expires_at, :class => 'date_pick' -%>
13
17
  </div>
14
18
  <div class="form-row">
15
19
  <%= f.submit translate('muck.users.send_access_code') %>
16
20
  </div>
17
21
  <%= hidden_field :send_access_code, true %>
18
22
  <% end -%>
19
- </div>
23
+ </div>
24
+
25
+ <script type="text/javascript" language="JavaScript">
26
+ jQuery(document).ready(function(){
27
+ jQuery('.date_pick').datepicker();
28
+ });
29
+ </script>
data/config/routes.rb CHANGED
@@ -18,6 +18,7 @@ Rails.application.routes.draw do
18
18
  match '/users/activation_complete/:id' => 'muck/users#welcome', :as => :activation_complete
19
19
  match '/signup_complete_activate/:id' => 'muck/users#activation_instructions', :as => :signup_complete_activation_required
20
20
  match 'account' => 'muck/users#show', :as => :account
21
+ match 'current_user' => 'muck/users#show'
21
22
 
22
23
  # activations
23
24
  resources :activations, :controller => 'muck/activations'
@@ -38,12 +39,11 @@ Rails.application.routes.draw do
38
39
  match '/login' => 'muck/user_sessions#new', :as => :login, :constraints => { :protocol => muck_routes_protocol }
39
40
  match '/logout' => 'muck/user_sessions#destroy', :as => :logout, :constraints => { :protocol => muck_routes_protocol }
40
41
  match '/signup_complete_login/:id' => 'muck/user_sessions#new', :as => :signup_complete_login_required
42
+ match '/login' => 'muck/user_sessions#new', :as => :logout_complete
43
+ match '/login_check' => 'muck/user_sessions#login_check'
41
44
 
42
45
  # Access codes
43
46
  resources :access_code_requests, :controller => 'muck/access_code_requests'
44
-
45
- # page a user is taken to when they log out
46
- match '/login' => 'user_session#new', :as => :logout_complete
47
47
 
48
48
  # admin
49
49
  namespace :admin do
@@ -36,7 +36,10 @@ module MuckUsers
36
36
  unless logged_in?
37
37
  store_location
38
38
  flash[:notice] = I18n.t('muck.users.login_requred')
39
- redirect_to login_path
39
+ respond_to do |format|
40
+ format.html { redirect_to login_path }
41
+ format.json { render :json => { :success => false, :logged_in => false, :message => I18n.t('muck.users.login_requred') } }
42
+ end
40
43
  end
41
44
  end
42
45
 
@@ -24,20 +24,21 @@ module MuckUsers
24
24
  end
25
25
 
26
26
  def mark_fullfilled(access_code_requests)
27
- access_code_requests.each do |request|
28
- request.update_attribute(:code_sent_at, DateTime.now)
27
+ access_code_requests.each do |r|
28
+ r.update_attribute(:code_sent_at, DateTime.now)
29
29
  end
30
30
  end
31
31
 
32
32
  end
33
33
 
34
- def send_access_code(subject, message)
34
+ def send_access_code(subject, message, expires_at)
35
35
  access_code = AccessCode.create!(:unlimited => false,
36
36
  :use_limit => 1,
37
37
  :uses => 0,
38
- :code => AccessCode.random_code)
38
+ :code => AccessCode.random_code,
39
+ :expires_at => expires_at)
39
40
  UserMailer.access_code(self.email, subject, message, access_code.code).deliver
40
- success = AccessCodeRequest.mark_fullfilled(self)
41
+ success = AccessCodeRequest.mark_fullfilled([self])
41
42
  end
42
43
 
43
44
  end
data/muck-users.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{muck-users}
8
- s.version = "3.1.8"
8
+ s.version = "3.1.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Justin Ball", "Joel Duffin"]
12
- s.date = %q{2011-02-24}
12
+ s.date = %q{2011-03-01}
13
13
  s.description = %q{Easily add user signup, login and other features to your application}
14
14
  s.email = %q{justin@tatemae.com}
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muck-users
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 1
9
- - 8
10
- version: 3.1.8
9
+ - 9
10
+ version: 3.1.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Justin Ball
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-02-24 00:00:00 -07:00
19
+ date: 2011-03-01 00:00:00 -07:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency