# encoding:utf-8 require 'digest/md5' class WaIdUser < ActiveRecord::Base has_paper_trail self.table_name = "wa_id_users" belongs_to :wa_id_department, :foreign_key => :department_id before_save :before_save validates :upsd, :salt, presence: true def role_names names = "" 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}" roleNames = WaIdUser.find_by_sql(sql) roleNames.each do |u| names = names + u.role_name + ',' end return names end STATUS_ENUM = [["使用中","active"]] rails_admin do navigation_label '报表权限管理系统' weight -150 list do filters [:id] field :id field :uaccount field :uname field :role_names field :wa_id_department field :status, :enum do enum do STATUS_ENUM end end field :is_god end show do field :id field :uaccount field :uname field :role_names field :wa_id_department field :status, :enum do enum do STATUS_ENUM end end field :is_god field :created_at field :updated_at end edit do field :uaccount field :uname field :upsd, :password field :salt, :password field :status, :enum do enum do STATUS_ENUM end end field :wa_id_department field :is_god end end def before_save md5_pwd = Digest::MD5.hexdigest(self.salt + self.upsd) self.upsd = md5_pwd end end