Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #coding: utf-8
- class Users::OmniauthEmailsController < ApplicationController
- def new
- (redirect_to after_sign_in_path_for("user") and return) unless not session[:omniauth].blank? and not session[:uid].blank? and session[:login]=="email"
- #redirect_to root_path, :auth_email => true
- #render :action => "home/index", @auth_email => true
- @questions = recommend_questions_by_position("front_page_questions")
- @cnt_answered = count_question_answered
- @cnt_toanswer = count_question_toanswer
- @experts = recommend_users_by_position("front_page_experts")
- @auth_email = true
- render :template => "home/index"
- end
- def auth_email
- #if validate_email(params[:email]) and validate_username(params[:username])
- if validate_email(params[:email]) and params[:email]
- #if false
- @user=User.new(:email => params[:email], :password => params[:password])
- @user.omniauth_type=session[:omniauth]
- @user.uid=session[:uid]
- #@user.confirmation_token=nil
- #@user.confirmed_at=Time.now
- @user.skip_confirmation!
- if @user.save
- #breakpoint
- #@user=User.create(:email => params[:email], :password => params[:password])
- #@user.omniauth_type=session[:omniauth]
- #@user.uid=session[:uid]
- #@user.confirmation_token=nil
- #@user.confirmed_at=Time.now
- #@user.skip_confirmation!
- #@user.save
- profile=Profile.find_or_create_by_user_id(:user_id=>@user.id)
- #breakpoint
- 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"])
- session[:omniauth]=nil
- session[:uid]=nil
- session[:login]=nil
- session[:profileinfo]=nil
- flash[:notice]=I18n.t("login_successed")
- sign_in(:user,@user)
- redirect_to after_sign_in_path_for("user") and return
- #profile.save
- end
- @questions = recommend_questions_by_position("front_page_questions")
- @cnt_answered = count_question_answered
- @cnt_toanswer = count_question_toanswer
- @experts = recommend_users_by_position("front_page_experts")
- @auth_email = true
- render :template => "home/index"
- else
- #render :new
- @questions = recommend_questions_by_position("front_page_questions")
- @cnt_answered = count_question_answered
- @cnt_toanswer = count_question_toanswer
- @experts = recommend_users_by_position("front_page_experts")
- @auth_email = true
- render :template => "home/index"
- end
- end
- def validate_email(email)
- reg=/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
- if not reg.match(email)
- flash[:alert]=I18n.t("activerecord.errors.models.user.attributes.email.invalid")
- return false
- end
- return true
- end
- #检测用户名
- def validate_username(username)
- return true
- end
- end
Add Comment
Please, Sign In to add comment