OSDN Git Service

rename model name
[pettanr/pettanr.git] / app / controllers / user_sessions_controller.rb
1 class UserSessionsController < Devise::SessionsController
2   prepend_before_filter :require_no_authentication, :only => [:create ]
3   respond_to :json
4
5   def create
6     if request.xhr?
7       resource = warden.authenticate!(scope: resource_name, recall: "#{controller_path}#failure")
8       sign_in(resource_name, resource)
9       return render :json => current_user.to_json({:include => {:author => {}, :artist => {}} })
10     else
11       super
12     end
13   end
14   
15   def destroy
16     if request.xhr?
17       Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name)
18       return render :json => {:success => true}
19     else
20       super
21     end
22   end
23   
24   def xhr_failure
25     return render :json => {:success => false, :errors => ["Login failed."]}
26   end
27   
28   def require_no_authentication
29     if request.xhr?
30       true
31     else
32       super
33     end
34   end
35   
36 end