|
# -*- coding: utf-8 -*-
from curtail_uuid import CurtailUUID
from django.contrib import admin
from django.contrib.auth.hashers import make_password
from account.models import (LensmanIncomeExpensesInfo, LensmanInfo, LensmanLoginLogInfo, UserIncomeExpensesInfo,
UserInfo, UserLoginLogInfo)
class LensmanInfoAdmin(admin.ModelAdmin):
readonly_fields = ('lensman_id', 'encryption', )
list_display = ('lensman_id', 'unionid', 'username', 'name', 'sex', 'phone', 'location', 'proportion', 'balance', 'user_status', 'status', 'created_at', 'updated_at')
search_fields = ('name', 'phone', 'location')
list_filter = ('sex', 'user_status', 'status')
def save_model(self, request, obj, form, change):
if not obj.lensman_id:
user_id = CurtailUUID.uuid(UserInfo, 'user_id')
obj.lensman_id = user_id
fields = {
'unionid': obj.unionid,
'name': obj.name,
'sex': obj.sex,
'phone': obj.phone,
'location': obj.location,
'user_status': obj.user_status,
}
user, created = UserInfo.objects.get_or_create(user_id=obj.lensman_id, user_from=UserInfo.LENSMAN_USER, defaults=fields)
if not created:
for key, value in fields.iteritems():
setattr(user, key, value)
user.save()
if obj.password:
obj.encryption = make_password(obj.password, None, 'pbkdf2_sha256')
obj.password = None
obj.save()
class LensmanLoginLogInfoAdmin(admin.ModelAdmin):
list_display = ('lensman_id', 'login_ip', 'login_result', 'status', 'created_at', 'updated_at')
class LensmanIncomeExpensesInfoAdmin(admin.ModelAdmin):
list_display = ('lensman_id', 'photo_id', 'type', 'amount', 'balance', 'remark', 'status', 'created_at', 'updated_at')
list_filter = ('type', 'status')
class UserInfoAdmin(admin.ModelAdmin):
readonly_fields = ('user_id', )
list_display = ('user_id', 'user_from', 'username', 'wx_uid', 'unionid', 'name', 'sex', 'nickname', 'phone', 'location', 'balance', 'user_status', 'status', 'created_at', 'updated_at')
search_fields = ('name', 'phone', 'location')
list_filter = ('user_from', 'sex', 'user_status', 'status')
class UserLoginLogInfoAdmin(admin.ModelAdmin):
list_display = ('user_id', 'login_ip', 'login_result', 'status', 'created_at', 'updated_at')
class UserIncomeExpensesInfoAdmin(admin.ModelAdmin):
list_display = ('user_id', 'photo_id', 'type', 'amount', 'balance', 'remark', 'status', 'created_at', 'updated_at')
list_filter = ('type', 'status')
admin.site.register(LensmanInfo, LensmanInfoAdmin)
admin.site.register(LensmanLoginLogInfo, LensmanLoginLogInfoAdmin)
admin.site.register(LensmanIncomeExpensesInfo, LensmanIncomeExpensesInfoAdmin)
admin.site.register(UserInfo, UserInfoAdmin)
admin.site.register(UserLoginLogInfo, UserLoginLogInfoAdmin)
admin.site.register(UserIncomeExpensesInfo, UserIncomeExpensesInfoAdmin)
|