Commit dbb81838f665c240c485752a1f7b4d7a730ed4e9

Authored by Daniela Feitosa
1 parent 964df626

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
... ...