Guest User

Untitled

a guest
Oct 20th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. #coding: utf-8
  2. class Users::OmniauthEmailsController < ApplicationController
  3. def new
  4. (redirect_to after_sign_in_path_for("user") and return) unless not session[:omniauth].blank? and not session[:uid].blank? and session[:login]=="email"
  5. #redirect_to root_path, :auth_email => true
  6. #render :action => "home/index", @auth_email => true
  7.  
  8. @questions = recommend_questions_by_position("front_page_questions")
  9. @cnt_answered = count_question_answered
  10. @cnt_toanswer = count_question_toanswer
  11. @experts = recommend_users_by_position("front_page_experts")
  12. @auth_email = true
  13. render :template => "home/index"
  14. end
  15.  
  16. def auth_email
  17.  
  18. #if validate_email(params[:email]) and validate_username(params[:username])
  19. if validate_email(params[:email]) and params[:email]
  20. #if false
  21. @user=User.new(:email => params[:email], :password => params[:password])
  22. @user.omniauth_type=session[:omniauth]
  23. @user.uid=session[:uid]
  24. #@user.confirmation_token=nil
  25. #@user.confirmed_at=Time.now
  26. @user.skip_confirmation!
  27.  
  28. if @user.save
  29. #breakpoint
  30. #@user=User.create(:email => params[:email], :password => params[:password])
  31. #@user.omniauth_type=session[:omniauth]
  32. #@user.uid=session[:uid]
  33. #@user.confirmation_token=nil
  34. #@user.confirmed_at=Time.now
  35. #@user.skip_confirmation!
  36. #@user.save
  37.  
  38. profile=Profile.find_or_create_by_user_id(:user_id=>@user.id)
  39. #breakpoint
  40. profile.update_attributes(:nickname=>session[:profileinfo]["screen_name"],:gender=> session[:profileinfo]["gender"],:city=> session[:profileinfo]["city"], :oauth_face_image_url => session[:profileinfo]["profile_image_url"])
  41.  
  42. session[:omniauth]=nil
  43. session[:uid]=nil
  44. session[:login]=nil
  45. session[:profileinfo]=nil
  46. flash[:notice]=I18n.t("login_successed")
  47. sign_in(:user,@user)
  48. redirect_to after_sign_in_path_for("user") and return
  49. #profile.save
  50. end
  51.  
  52. @questions = recommend_questions_by_position("front_page_questions")
  53. @cnt_answered = count_question_answered
  54. @cnt_toanswer = count_question_toanswer
  55. @experts = recommend_users_by_position("front_page_experts")
  56. @auth_email = true
  57. render :template => "home/index"
  58.  
  59.  
  60. else
  61. #render :new
  62. @questions = recommend_questions_by_position("front_page_questions")
  63. @cnt_answered = count_question_answered
  64. @cnt_toanswer = count_question_toanswer
  65. @experts = recommend_users_by_position("front_page_experts")
  66. @auth_email = true
  67. render :template => "home/index"
  68. end
  69. end
  70.  
  71. def validate_email(email)
  72. reg=/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
  73. if not reg.match(email)
  74. flash[:alert]=I18n.t("activerecord.errors.models.user.attributes.email.invalid")
  75. return false
  76. end
  77. return true
  78. end
  79.  
  80. #检测用户名
  81. def validate_username(username)
  82. return true
  83. end
  84.  
  85. end
Add Comment
Please, Sign In to add comment