muck-users 3.1.8 → 3.1.9

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/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