Guest User

Untitled

a guest
Apr 13th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. #---------------------model----------------------------
  2. require "digest/sha1"
  3. class User < ActiveRecord::Base
  4. belongs_to :office
  5. attr_accessor :password, :balalaika
  6. attr_accessible :name, :password, :full_name, :office_id, :position
  7. validates_uniqueness_of :name
  8. validates_presence_of :name, :password
  9.  
  10.  
  11.  
  12. def before_create
  13. self.hashed_password = User.hash_password(self.password)
  14. end
  15.  
  16. def before_update
  17. self.hashed_password = User.hash_password(self.password)
  18. end
  19.  
  20. def after_update
  21. @password = nil
  22. end
  23.  
  24. def after_create
  25. @password = nil
  26. end
  27.  
  28. def self.login(name, password)
  29. hashed_password = hash_password(password || "")
  30. find(:first,
  31. :conditions => ["name = ? and hashed_password = ?", name, hashed_password])
  32. end
  33.  
  34. def try_to_login
  35. User.login(self.name, self.password) ||
  36. User.find_by_name_and_hashed_password_and_is_active(name, "", 1)
  37. end
  38.  
  39. private
  40. def self.hash_password(password)
  41. Digest::SHA1.hexdigest(password)
  42. end
  43.  
  44. end
  45. #------------------------controller----------------------
  46. def update_user_password
  47. @user = User.find(params[:id])
  48. if @user.update_attributes(params[:user])
  49. redirect_to :action => 'list_users'
  50. raise @user.errors.full_messages.inspect
  51. else
  52. render :action => 'edit_user'
  53. end
  54. end
  55. ------------------------View------------------------------
  56. <script type="text/javascript" language="JavaScript">
  57. function validate_form() {
  58. passwd1 = document.getElementById('user_password').value
  59. passwd2 = document.getElementById('check_check').value
  60. if ((passwd1 != "") && (passwd2 != "")) {
  61. if (passwd1 == passwd2) {
  62. return true;
  63. }
  64. alert ("Slaptažodžiai ne identiški! Įveskite juos pakartotinai!");
  65. return false;
  66. }
  67. return false;
  68. }
  69. </script>
  70. <br>
  71. <br>
  72. <div align="center">
  73. <br>
  74. <% @page_title = "Add a User" -%>
  75. <%= error_messages_for 'admin_user' %>
  76. <%form_tag ({:action => 'update_user', :id => @user}, :onsubmit => "return validate_form()") do %>
  77. <table class="simple auto">
  78. <tr>
  79. <th colspan="2">Naujo darbuotojo registracija
  80. <tr>
  81. <td>Loginas:</td>
  82. <td><%= hidden_field("user", "name") %><%=@user.name%></td>
  83. </tr>
  84. <tr>
  85. <td>Slaptažodis:</td>
  86. <td><%= password_field("user", "password") %></td>
  87. </tr>
  88. <tr>
  89. <td>Toks pats slaptažodis:</td>
  90. <td><%= password_field("check", "check") %></td>
  91. </tr>
  92. <tr>
  93. <td>Darbuotojo vardas/pavardė:</td>
  94. <td><%= hidden_field("user", "full_name") %><%=@user.full_name%></td>
  95. </tr>
  96. <tr>
  97. <td>Pareigos</td>
  98. <td><%= hidden_field("user", "position") %><%=@user.position%><%= hidden_field("user", "office_id") %></td>
  99. </tr>
  100. <td></td>
  101. <td><input type="submit" value=" Redaguoti " /></td>
  102. </tr>
  103. </table>
  104. <% end %>
  105. </div>
Add Comment
Please, Sign In to add comment