Advertisement
Guest User

Untitled

a guest
Jul 30th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. ##Controller - users_controller.rb
  2.  
  3. def register
  4. if request.get?
  5. @user = User.new
  6. else
  7. @user = User.new(params[:users])
  8. if @user.save
  9. flash[:notice] = "User #{@user.email} created"
  10. redirect_to(:action => 'index')
  11. end
  12. end
  13. end
  14.  
  15. ##Model - user.rb
  16.  
  17. require 'digest/sha1'
  18.  
  19. class User < ActiveRecord::Base
  20. attr_accessor :password
  21. attr_accessible :email, :password
  22. validates_uniqueness_of :email, :message => "already exists in the database"
  23. validates_presence_of :email, :password
  24. validates_format_of :email, :with => /^([^@\s] )@((?:[-a-z0-9] \.) [a-z]{2,})$/i,
  25. :message => "Invalid email address."
  26.  
  27.  
  28. def self.login(email, password)
  29. password_hash = encrypt(password || "")
  30. find(:first, :conditions => ["email = ? and password_hash = ?", email, password_hash])
  31. end
  32.  
  33. def try_to_login
  34. User.login(self.email, self.password) ||
  35. User.find_by_email_and_password_hash(email, "")
  36. end
  37.  
  38. def before_create
  39. self.password_hash = User.encrypt(self.password)
  40. end
  41.  
  42. def after_create
  43. @password = nil
  44. end
  45.  
  46. private
  47. def self.encrypt(password)
  48. Digest::SHA1.hexdigest(password)
  49. end
  50. end
  51.  
  52. ## view - register.rhtml
  53.  
  54. <%= form_tag %>
  55. <%= error_messages_for 'user' %>
  56. <table>
  57. <tr>
  58. <td><label>Email:</label></td>
  59. <td><%= text_field "users", "email" %></td>
  60. </tr>
  61. <tr>
  62. <td><label>Password:</label></td>
  63. <td><%= password_field "users", "password" %></td>
  64. </tr>
  65. <tr>
  66. <td><label>Password Confirmation:</label></td>
  67. <td><%= password_field "users", "password_confirmation" %></td>
  68. </tr>
  69. <tr>
  70. <td><label>Select an Installation</label></td>
  71. <td><%= collection_select("users", "installation_id", @installation, :id, :basename, {:prompt => "--"})%></td>
  72. </tr>
  73. <tr>
  74. <td></td>
  75. <td style="text-align: right;"><%= submit_tag "Register" %></td>
  76. </tr>
  77. </table>
  78. <%= end_form_tag %>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement