| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- # encoding: utf-8
- class AdminUser < ActiveRecord::Base
- has_paper_trail
- SUPER_ADMIN = Rails.env == "production" ? "super@fh666.com" : "super@fohow.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
- attr_accessible :email, :id , :admin_permission
- 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
|