拍爱

admin.py 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # -*- coding: utf-8 -*-
  2. from django.conf import settings
  3. from django.contrib import admin
  4. from django.contrib.auth.hashers import check_password, make_password
  5. from django_admin import DeleteModelAdmin, ReadOnlyModelAdmin
  6. from pysnippets.strsnippets import strip
  7. from mch.models import (BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo, LatestAppInfo, ModelImageInfo, ModelInfo,
  8. OperatorInfo)
  9. class OperatorInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
  10. list_display = ('operator_id', 'phone', 'password', 'encryption', 'name', 'brand_id', 'brand_name', 'user_status', 'status', 'created_at', 'updated_at')
  11. list_filter = ('user_status', 'status', 'brand_name')
  12. readonly_fields = ('encryption', 'brand_name')
  13. def save_model(self, request, obj, form, change):
  14. obj.phone = strip(obj.phone)
  15. obj.password = strip(obj.password)
  16. if obj.password:
  17. obj.encryption = make_password(obj.password, settings.MAKE_PASSWORD_SALT, settings.MAKE_PASSWORD_HASHER)
  18. obj.password = ''
  19. obj.brand_id = strip(obj.brand_id)
  20. try:
  21. obj.brand_name = BrandInfo.objects.get(brand_id=obj.brand_id).brand_name
  22. except BrandInfo.DoesNotExist:
  23. obj.brand_name = ''
  24. obj.save()
  25. class BrandInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
  26. list_display = ('brand_id', 'brand_name', 'brand_descr', 'brand_logo', 'position', 'status', 'created_at', 'updated_at')
  27. class ModelInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
  28. list_display = ('brand_id', 'brand_name', 'model_id', 'model_name', 'model_descr', 'position', 'status', 'created_at', 'updated_at')
  29. list_filter = ('brand_name', 'status')
  30. def save_model(self, request, obj, form, change):
  31. obj.brand_id = strip(obj.brand_id)
  32. try:
  33. obj.brand_name = BrandInfo.objects.get(brand_id=obj.brand_id).brand_name
  34. except BrandInfo.DoesNotExist:
  35. obj.brand_name = ''
  36. obj.save()
  37. class ModelImageInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
  38. list_display = ('model_id', 'model_name', 'image', 'url', 'position', 'status', 'created_at', 'updated_at')
  39. list_filter = ('model_name', 'status')
  40. def save_model(self, request, obj, form, change):
  41. obj.model_id = strip(obj.model_id)
  42. try:
  43. obj.model_name = ModelInfo.objects.get(model_id=obj.model_id).model_name
  44. except BrandInfo.DoesNotExist:
  45. obj.model_name = ''
  46. obj.save()
  47. class DistributorInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
  48. list_display = ('brand_id', 'brand_name', 'distributor_id', 'distributor_name', 'distributor_descr', 'position', 'status', 'created_at', 'updated_at')
  49. list_filter = ('brand_name', 'status')
  50. def save_model(self, request, obj, form, change):
  51. obj.brand_id = strip(obj.brand_id)
  52. try:
  53. obj.brand_name = BrandInfo.objects.get(brand_id=obj.brand_id).brand_name
  54. except BrandInfo.DoesNotExist:
  55. obj.brand_name = ''
  56. obj.save()
  57. class LatestAppInfoAdmin(admin.ModelAdmin):
  58. list_display = ('latest_adr_version_code', 'latest_adr_version_name', 'latest_adr_app', 'latest_adr_url', 'status', 'created_at', 'updated_at')
  59. list_filter = ('status', )
  60. readonly_fields = ('status', )
  61. def save_model(self, request, obj, form, change):
  62. if not obj.pk and LatestAppInfo.objects.filter(status=True).exists():
  63. return
  64. obj.latest_adr_version_name = strip(obj.latest_adr_version_name)
  65. obj.latest_adr_app = strip(obj.latest_adr_app)
  66. obj.latest_adr_url = strip(obj.latest_adr_url)
  67. obj.save()
  68. class ConsumeInfoSubmitLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
  69. list_display = ('user_id', 'phone', 'lat', 'lon', 'serialNo', 'verifyResult', 'status', 'created_at', 'updated_at')
  70. list_filter = ('status', )
  71. # admin.site.register(OperatorInfo, OperatorInfoAdmin)
  72. # admin.site.register(BrandInfo, BrandInfoAdmin)
  73. # admin.site.register(ModelInfo, ModelInfoAdmin)
  74. # admin.site.register(ModelImageInfo, ModelImageInfoAdmin)
  75. # admin.site.register(DistributorInfo, DistributorInfoAdmin)
  76. # admin.site.register(LatestAppInfo, LatestAppInfoAdmin)
  77. # admin.site.register(ConsumeInfoSubmitLogInfo, ConsumeInfoSubmitLogInfoAdmin)