Commit dbb81838f665c240c485752a1f7b4d7a730ed4e9
1 parent
964df626
Exists in
master
and in
23 other branches
extracted repeated code to a method
Showing
1 changed file
with
21 additions
and
43 deletions
Show diff stats
app/controllers/public/account_controller.rb
| @@ -378,39 +378,12 @@ class AccountController < ApplicationController | @@ -378,39 +378,12 @@ class AccountController < ApplicationController | ||
| 378 | end | 378 | end |
| 379 | 379 | ||
| 380 | if params[:return_to] | 380 | if params[:return_to] |
| 381 | - #I never get here | ||
| 382 | redirect_to params[:return_to] | 381 | redirect_to params[:return_to] |
| 383 | elsif environment.enabled?('allow_change_of_redirection_after_login') | 382 | elsif environment.enabled?('allow_change_of_redirection_after_login') |
| 384 | - case user.preferred_login_redirection | ||
| 385 | - when 'keep_on_same_page' | ||
| 386 | - redirect_back_or_default(user.admin_url) | ||
| 387 | - when 'site_homepage' | ||
| 388 | - redirect_to :controller => :home | ||
| 389 | - when 'user_profile_page' | ||
| 390 | - redirect_to user.public_profile_url | ||
| 391 | - when 'user_homepage' | ||
| 392 | - redirect_to user.url | ||
| 393 | - when 'user_control_panel' | ||
| 394 | - redirect_to user.admin_url | ||
| 395 | - else | ||
| 396 | - redirect_back_or_default(user.admin_url) | ||
| 397 | - end | 383 | + check_redirection_options(user, user.preferred_login_redirection, user.admin_url) |
| 398 | else | 384 | else |
| 399 | if environment == current_user.environment | 385 | if environment == current_user.environment |
| 400 | - case environment.redirection_after_login | ||
| 401 | - when 'keep_on_same_page' | ||
| 402 | - redirect_back_or_default(user.admin_url) | ||
| 403 | - when 'site_homepage' | ||
| 404 | - redirect_to :controller => :home | ||
| 405 | - when 'user_profile_page' | ||
| 406 | - redirect_to user.public_profile_url | ||
| 407 | - when 'user_homepage' | ||
| 408 | - redirect_to user.url | ||
| 409 | - when 'user_control_panel' | ||
| 410 | - redirect_to user.admin_url | ||
| 411 | - else | ||
| 412 | - redirect_back_or_default(user.admin_url) | ||
| 413 | - end | 386 | + check_redirection_options(user, environment.redirection_after_login, user.admin_url) |
| 414 | else | 387 | else |
| 415 | redirect_back_or_default(:controller => 'home') | 388 | redirect_back_or_default(:controller => 'home') |
| 416 | end | 389 | end |
| @@ -418,20 +391,7 @@ class AccountController < ApplicationController | @@ -418,20 +391,7 @@ class AccountController < ApplicationController | ||
| 418 | end | 391 | end |
| 419 | 392 | ||
| 420 | def go_to_signup_initial_page | 393 | def go_to_signup_initial_page |
| 421 | - case @user.environment.redirection_after_signup | ||
| 422 | - when 'keep_on_same_page' | ||
| 423 | - redirect_back_or_default(user.admin_url) | ||
| 424 | - when 'site_homepage' | ||
| 425 | - redirect_to :controller => :home | ||
| 426 | - when 'user_profile_page' | ||
| 427 | - redirect_to user.public_profile_url | ||
| 428 | - when 'user_homepage' | ||
| 429 | - redirect_to user.url | ||
| 430 | - when 'user_control_panel' | ||
| 431 | - redirect_to user.admin_url | ||
| 432 | - else | ||
| 433 | - redirect_to user.url | ||
| 434 | - end | 394 | + check_redirection_options(user, user.environment.redirection_after_signup, user.url) |
| 435 | end | 395 | end |
| 436 | 396 | ||
| 437 | def redirect_if_logged_in | 397 | def redirect_if_logged_in |
| @@ -449,4 +409,22 @@ class AccountController < ApplicationController | @@ -449,4 +409,22 @@ class AccountController < ApplicationController | ||
| 449 | user | 409 | user |
| 450 | end | 410 | end |
| 451 | 411 | ||
| 412 | + protected | ||
| 413 | + | ||
| 414 | + def check_redirection_options(user, condition, default) | ||
| 415 | + case condition | ||
| 416 | + when 'keep_on_same_page' | ||
| 417 | + redirect_back_or_default(user.admin_url) | ||
| 418 | + when 'site_homepage' | ||
| 419 | + redirect_to :controller => :home | ||
| 420 | + when 'user_profile_page' | ||
| 421 | + redirect_to user.public_profile_url | ||
| 422 | + when 'user_homepage' | ||
| 423 | + redirect_to user.url | ||
| 424 | + when 'user_control_panel' | ||
| 425 | + redirect_to user.admin_url | ||
| 426 | + else | ||
| 427 | + redirect_back_or_default(default) | ||
| 428 | + end | ||
| 429 | + end | ||
| 452 | end | 430 | end |