Commit dbb81838f665c240c485752a1f7b4d7a730ed4e9
1 parent
964df626
Exists in
master
and in
28 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 | 378 | end |
379 | 379 | |
380 | 380 | if params[:return_to] |
381 | - #I never get here | |
382 | 381 | redirect_to params[:return_to] |
383 | 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 | 384 | else |
399 | 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 | 387 | else |
415 | 388 | redirect_back_or_default(:controller => 'home') |
416 | 389 | end |
... | ... | @@ -418,20 +391,7 @@ class AccountController < ApplicationController |
418 | 391 | end |
419 | 392 | |
420 | 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 | 395 | end |
436 | 396 | |
437 | 397 | def redirect_if_logged_in |
... | ... | @@ -449,4 +409,22 @@ class AccountController < ApplicationController |
449 | 409 | user |
450 | 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 | 430 | end | ... | ... |