Skip to content

Commit ad40974

Browse files
authored
Merge pull request #598 from coopdevs/develop
v3.7.0
2 parents c3332f4 + 77c0ac5 commit ad40974

File tree

4 files changed

+31
-24
lines changed

4 files changed

+31
-24
lines changed

app/controllers/application_controller.rb

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ class ApplicationController < ActionController::Base
88

99
append_before_action :check_for_terms_acceptance!, unless: :devise_controller?
1010
before_action :configure_permitted_parameters, if: :devise_controller?
11-
before_action :set_locale
12-
before_action :set_current_organization
11+
before_action :set_locale,
12+
:set_current_organization,
13+
:store_user_location
1314

1415
rescue_from MissingTOSAcceptance, OutadedTOSAcceptance do
1516
redirect_to terms_path
@@ -38,8 +39,18 @@ def set_current_organization
3839
end
3940
end
4041

42+
def store_user_location
43+
if request.get? && !request.xhr? && is_navigational_format? && !devise_controller?
44+
store_location_for(:user, request.fullpath)
45+
end
46+
end
47+
4148
def after_sign_in_path_for(user)
42-
if user.members.present?
49+
stored_location = stored_location_for(user)
50+
51+
if stored_location.present?
52+
stored_location
53+
elsif user.members.present?
4354
users_path
4455
else
4556
page_path("about")
@@ -76,7 +87,6 @@ def admin?
7687
def superadmin?
7788
current_user.try :superuser?
7889
end
79-
8090
alias :superuser? :superadmin?
8191

8292
def authenticate_superuser!
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
class SessionsController < Devise::SessionsController
2-
3-
# POST /resource/sign_in
42
def create
53
super
64
flash.delete(:notice)
75
end
86

9-
# DELETE /resource/sign_out
107
def destroy
118
super
129
flash.delete(:notice)
1310
end
14-
end
11+
end

app/helpers/application_helper.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ def show_error_messages!(resource)
6262
def markdown(content)
6363
RDiscount.new(content || ''.freeze).to_html.html_safe
6464
end
65-
6665
alias m markdown
6766

6867
# Green or red CSS class depending on whether

spec/controllers/sessions_controller_spec.rb

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,34 @@
11
RSpec.describe SessionsController do
2-
let(:user) do
3-
Fabricate(:user, password: 'papapa22', password_confirmation: 'papapa22')
2+
let(:user) { Fabricate(:user, password: 'papapa22', password_confirmation: 'papapa22') }
3+
4+
before do
5+
request.env["devise.mapping"] = Devise.mappings[:user]
46
end
57

68
describe '#create' do
7-
before do
8-
request.env["devise.mapping"] = Devise.mappings[:user]
9-
end
10-
119
it 'does not show a notice flash message' do
12-
post :create, params: { user: {
13-
email: user.email,
14-
password: user.password
15-
} }
10+
post :create, params: { user: { email: user.email, password: user.password } }
11+
1612
expect(flash[:notice]).to be_nil
1713
end
14+
15+
it 'redirects to the previous page' do
16+
session["user_return_to"] = offers_path
17+
18+
post :create, params: { user: { email: user.email, password: user.password } }
19+
20+
expect(response).to redirect_to(offers_path)
21+
end
1822
end
1923

2024
describe '#destroy' do
2125
before do
22-
request.env["devise.mapping"] = Devise.mappings[:user]
23-
post :create, params: { user: {
24-
email: user.email,
25-
password: user.password
26-
} }
26+
post :create, params: { user: { email: user.email, password: user.password } }
2727
end
2828

2929
it 'does not show a notice flash message' do
3030
delete :destroy
31+
3132
expect(flash[:notice]).to be_nil
3233
end
3334
end

0 commit comments

Comments
 (0)