| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- # encoding: utf-8
- class AdminUser < ActiveRecord::Base
- has_paper_trail
- SUPER_ADMIN = Rails.env == "production" ? "super@statement.com" : "super@statement.com"
- # Include default devise modules. Others available are:
- # :confirmable, :lockable, :timeoutable, :recoverable and :omniauthable
- devise :database_authenticatable,
- :rememberable, :trackable, :validatable
- # Setup accessible (or protected) attributes for your model
- has_and_belongs_to_many :admin_roles, :join_table => :admin_roles_admin_users
- rails_admin do
- navigation_label '系统管理'
- weight -20
- configure :admin_roles do
- inverse_of :admin_users
- end
- list do
- filters [:name]
- field :id
- field :name
- field :admin_roles
- field :email
- # field :password
- # field :password_confirmation
- # field :company
- field :created_at
- # field :created_at do
- # formatted_value do
- # value.strftime("%Y-%m-%d %H:%m:%S") unless value == 0
- # end
- # end
- field :updated_at
- field :sign_in_count
- # field :current_sign_in_at
- # field :last_sign_in_at
- # field :current_sign_in_ip
- # field :last_sign_in_ip
- end
- edit do
- field :email, :string
- field :name, :string
- field :password, :password
- field :password_confirmation, :password
- field :admin_roles do
- # 当管理员为超管或有manage_Role权限才能操作 角色列表
- visible do
- perms = bindings[:view].current_admin_user.permissions.collect{ |perm| "#{perm.can}_#{perm.model}"}
- perms.include?("manage_AdminRole") or bindings[:view].current_admin_user.email == SUPER_ADMIN
- end
- end
- end
- show do
- configure :remember_created_at do
- formatted_value do
- value.strftime("%Y-%m-%d %H:%m:%S") unless value == 0
- end
- end
- configure :current_sign_in_at do
- formatted_value do
- value.strftime("%Y-%m-%d %H:%m:%S") unless value == 0
- end
- end
- configure :last_sign_in_at do
- formatted_value do
- value.strftime("%Y-%m-%d %H:%m:%S") unless value == 0
- end
- end
- end
- end
- #def name
- # email
- #end
- def permissions
- _permissions = []
- self.admin_roles.each do |role|
- role.admin_permissions.each do |permission|
- _permissions << permission
- end
- end
- _permissions
- end
- end
|