Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class User < ActiveRecord::Base
- # Include default devise modules. Others available are:
- # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
- devise :database_authenticatable, :registerable,
- :recoverable, :rememberable, :trackable, :validatable, :confirmable, :omniauthable
- validates_presence_of :user_name, :address, :tel
- # Setup accessible (or protected) attributes for your model
- attr_accessible :user_name, :address, :tel, :attorney_number, :email, :password, :password_confirmation, :remember_me
- has_many :eclaims
- has_many :createdtemplates
- before_create do |user|
- user.with_agreement = 1
- end
- def self.find_for_google_oauth2(access_token, signed_in_resource=nil)
- data = access_token.info
- user = User.where(:email => data["email"]).first
- unless user
- user = User.create(
- user_name: 'no defined',
- address: 'no defined',
- tel: 'no defined',
- attorney_number: nil,
- email: data["email"],
- encrypted_password: Devise.friendly_token[0,20],
- )
- end
- user
- end
- end
- class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
- def google_oauth2
- # You need to implement the method below in your model (e.g. app/models/user.rb)
- @user = User.find_for_google_oauth2(request.env["omniauth.auth"], current_user)
- if @user.persisted?
- flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Google"
- sign_in_and_redirect @user, :event => :authentication
- else
- session["devise.google_data"] = request.env["omniauth.auth"]
- redirect_to new_user_registration_url
- end
- end
- end
- EFiling2::Application.routes.draw do
- root :to => "home#index"
- devise_for :users,
- :path_names => { :sign_up => "register", :sign_in => "login", :sign_out => "logout" },
- :controllers => {
- :sessions => "sessions",
- :registrations => "registrations",
- :confirmations => "confirmations",
- :passwords => "passwords",
- :omniauth_callbacks => "users/omniauth_callbacks"
- }
- end
- user = User.create(user_name: 'no defined', ...)
- user = User.new
- ...
- user.confirm!
- user.save!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement