forked from solidusio/solidus_auth_devise
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuser_sessions_controller.rb
More file actions
55 lines (45 loc) · 1.4 KB
/
user_sessions_controller.rb
File metadata and controls
55 lines (45 loc) · 1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# frozen_string_literal: true
class Spree::Admin::UserSessionsController < Devise::SessionsController
helper 'spree/base'
include Spree::Core::ControllerHelpers::Auth
include Spree::Core::ControllerHelpers::Common
include Spree::Core::ControllerHelpers::Store
helper 'spree/admin/navigation'
layout 'spree/layouts/admin'
def create
authenticate_spree_user!
if spree_user_signed_in?
respond_to do |format|
format.html {
flash[:success] = I18n.t('spree.logged_in_succesfully')
redirect_back_or_default(after_sign_in_path_for(spree_current_user))
}
format.js {
user = resource.record
render json: { ship_address: user.ship_address, bill_address: user.bill_address }.to_json
}
end
else
flash.now[:error] = t('devise.failure.invalid')
render :new
end
end
def authorization_failure
end
private
# NOTE: as soon as this gem stops supporting Solidus 3.1 if-else should be removed and left only include
if defined?(::Spree::Admin::SetsUserLanguageLocaleKey)
include ::Spree::Admin::SetsUserLanguageLocaleKey
else
def set_user_language_locale_key
:admin_locale
end
end
def accurate_title
I18n.t('spree.login')
end
def redirect_back_or_default(default)
redirect_to(session["spree_user_return_to"] || default)
session["spree_user_return_to"] = nil
end
end