|
# -*- coding: utf-8 -*-
from django.conf import settings
from django.contrib import admin
from django.contrib.auth.hashers import make_password
from pysnippets.strsnippets import strip
from account.models import AdministratorInfo, UserInfo
from equipment.models import IsolationPointInfo
class UserInfoAdmin(admin.ModelAdmin):
list_display = ('user_id', 'unionid', 'openid', 'openid_miniapp', 'name', 'sex', 'nickname', 'avatar', 'phone', 'country', 'province', 'city', 'user_status', 'updated_at', 'created_at')
class AdministratorInfoAdmin(admin.ModelAdmin):
list_display = ('admin_id', 'phone', 'password', 'encryption', 'name', 'point_id', 'point_name', 'user_status', 'status', 'created_at', 'updated_at')
list_filter = ('user_status', 'status', 'point_name')
readonly_fields = ('encryption', 'point_name')
def save_model(self, request, obj, form, change):
obj.phone = strip(obj.phone)
obj.password = strip(obj.password)
if obj.password:
obj.encryption = make_password(obj.password, settings.MAKE_PASSWORD_SALT, settings.MAKE_PASSWORD_HASHER)
obj.password = ''
obj.point_id = strip(obj.point_id)
try:
obj.point_name = IsolationPointInfo.objects.get(point_id=obj.point_id).point_name
except IsolationPointInfo.DoesNotExist:
obj.point_name = ''
obj.save()
admin.site.register(UserInfo, UserInfoAdmin)
admin.site.register(AdministratorInfo, AdministratorInfoAdmin)
|