Advertisement
Guest User

Untitled

a guest
Mar 26th, 2016
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. <%= f.text_field :user_name, autofocus: true, class: "form-control login-field",placeholder: "ユーザネーム",id: "login-name" %>
  2. </div>
  3.  
  4. <%= f.text_field :user_name, autofocus: true, class: "form-control login-field",placeholder: "ユーザネーム",id: "login-name" %>
  5. </div>
  6.  
  7. validates :user_name, presence: true, uniqueness: true
  8.  
  9.  
  10. def self.from_omniauth(auth)
  11. where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
  12. user.provider = auth.provider
  13. user.uid = auth.uid
  14. user.name = auth.info.name
  15. user.email = auth.info.email
  16. user.password = Devise.friendly_token[0,20]
  17. end
  18. end
  19.  
  20. def self.new_with_session(params, session)
  21. super.tap do |user|
  22. if data = session["devise.facebook_data"] && session["devise.facebook_data"]["extra"]["raw_info"]
  23. user.email = data["email"] if user.email.blank?
  24. end
  25. end
  26. end
  27.  
  28. def self.current_user
  29. Thread.current[:current_user]
  30. end
  31.  
  32. def password_required?
  33. super && provider.blank?
  34. end
  35.  
  36. class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
  37.  
  38.  
  39. def facebook
  40. # You need to implement the method below in your model (e.g. app/models/user.rb)
  41. @user = User.from_omniauth(request.env["omniauth.auth"])
  42.  
  43. if @user.persisted?
  44. sign_in_and_redirect @user, :event => :authentication #this will throw if @user is not activated
  45. set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format?
  46. else
  47. session["devise.facebook_data"] = request.env["omniauth.auth"]
  48. redirect_to new_user_registration_url
  49. end
  50. end
  51. end
  52.  
  53. <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
  54. <div class="login-form">
  55. <p>新規登録</p>
  56.  
  57. <div class="form-group">
  58. <%= link_to user_omniauth_authorize_path(:facebook) do%>
  59. <div class="btn-sm btn-block btn-social btn-facebook">
  60. <i class="fa fa-facebook"></i> Facebookで登録
  61. </div>
  62. <% end %>
  63. </div>
  64.  
  65. <div class="form-group">
  66. <label class="login-field-icon fui-mail" for="user_name"></label>
  67. <%= f.text_field :user_name, autofocus: true, class: "form-control login-field",placeholder: "ユーザネーム",id: "login-name" %>
  68. </div>
  69.  
  70. <% if f.object.password_required? %>
  71. <div class="form-group">
  72. <label class="login-field-icon fui-mail" for="email"></label>
  73. <%= f.email_field :email, autofocus: true, class: "form-control login-field",placeholder: "Email",id: "login-name" %>
  74. </div>
  75.  
  76. <div class="form-group">
  77. <label class="login-field-icon fui-lock" for="login-pass"></label>
  78. <%= f.password_field :password, autocomplete: "off", class: "form-control login-field",placeholder: "Password",id: "login-pass" %>
  79. </div>
  80.  
  81.  
  82. <div class="form-group">
  83. <label class="login-field-icon fui-lock" for="login-pass"></label>
  84. <%= f.password_field :password_confirmation, autocomplete: "off", class: "form-control login-field",placeholder: "Password確認用",id: "login-pass" %>
  85.  
  86. </div>
  87. <p class="palette-paragraph">半角英数字8文字以上</p>
  88. <% end %>
  89. <br>
  90.  
  91. <div class="form-group text-center">
  92. <%= f.submit "登録する", class: 'btn btn-embossed btn-sm btn-block btn-warning ' %>
  93. </div>
  94. </div>
  95. <% end %>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement