wa_id_user.rb 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # encoding:utf-8
  2. require 'digest/md5'
  3. class WaIdUser < ActiveRecord::Base
  4. has_paper_trail
  5. self.table_name = "wa_id_users"
  6. belongs_to :wa_id_department, :foreign_key => :department_id
  7. before_save :before_save
  8. validates :upsd, :salt, presence: true
  9. def role_names
  10. names = ""
  11. sql = "select p.name as role_name from wa_id_user_roles rp left JOIN wa_id_roles p on rp.role_id = p.id where rp.user_id = #{self.id}"
  12. roleNames = WaIdUser.find_by_sql(sql)
  13. roleNames.each do |u|
  14. names = names + u.role_name + ','
  15. end
  16. return names
  17. end
  18. STATUS_ENUM = [["使用中","active"]]
  19. rails_admin do
  20. navigation_label '报表权限管理系统'
  21. weight -150
  22. list do
  23. filters [:id]
  24. field :id
  25. field :uaccount
  26. field :uname
  27. field :role_names
  28. field :wa_id_department
  29. field :status, :enum do
  30. enum do
  31. STATUS_ENUM
  32. end
  33. end
  34. field :is_god
  35. end
  36. show do
  37. field :id
  38. field :uaccount
  39. field :uname
  40. field :role_names
  41. field :wa_id_department
  42. field :status, :enum do
  43. enum do
  44. STATUS_ENUM
  45. end
  46. end
  47. field :is_god
  48. field :created_at
  49. field :updated_at
  50. end
  51. edit do
  52. field :uaccount
  53. field :uname
  54. field :upsd, :password
  55. field :salt, :password
  56. field :status, :enum do
  57. enum do
  58. STATUS_ENUM
  59. end
  60. end
  61. field :wa_id_department
  62. field :is_god
  63. end
  64. end
  65. def before_save
  66. md5_pwd = Digest::MD5.hexdigest(self.salt + self.upsd)
  67. self.upsd = md5_pwd
  68. end
  69. end