拍爱

admin.py 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # -*- coding: utf-8 -*-
  2. from django.conf import settings
  3. from django.contrib import admin
  4. from django.template.loader import render_to_string
  5. from operation.models import FeedbackInfo, GuestEntranceControlInfo, LatestAppInfo, SplashInfo
  6. from utils.disk_utils import write_to_disk
  7. from utils.redis.rapp import set_latest_app
  8. from utils.redis.rversion import delete_guest_entrance_control, set_guest_entrance_control
  9. class LatestAppInfoAdmin(admin.ModelAdmin):
  10. list_display = ('latest_adr_version_code', 'latest_adr_version_name', 'latest_adr_app', 'latest_adr_url', 'latest_ios_version_code', 'latest_ios_version_name', 'latest_ios_url', 'src', 'status', 'created_at', 'updated_at')
  11. list_filter = ('src', 'status')
  12. def save_model(self, request, obj, form, change):
  13. obj.save()
  14. if obj.src == LatestAppInfo.PAIAI_USER:
  15. # 更新安卓下载页面
  16. write_to_disk(render_to_string('page/download.tmpl.html', {
  17. 'version': obj.latest_adr_version_name,
  18. }), settings.DOWNLOAD_ADR_PAGE_PATH)
  19. # 更新 iOS 下载页面
  20. write_to_disk(render_to_string('page/download.tmpl.html', {
  21. 'version': obj.latest_ios_version_name,
  22. }), settings.DOWNLOAD_IOS_PAGE_PATH)
  23. # 设置最新 APP 信息
  24. set_latest_app(obj.src)
  25. class SplashInfoAdmin(admin.ModelAdmin):
  26. list_display = ('splash_image', 'spalash_image_airtime', 'spalash_image_deadline', 'src', 'status', 'created_at', 'updated_at')
  27. list_filter = ('src', 'status')
  28. class FeedbackInfoAdmin(admin.ModelAdmin):
  29. list_display = ('user_id', 'feedback', 'src', 'status', 'created_at', 'updated_at')
  30. list_filter = ('src', 'status')
  31. class GuestEntranceControlInfoAdmin(admin.ModelAdmin):
  32. list_display = ('platform', 'min_adr', 'max_adr', 'min_ios', 'max_ios', 'status', 'created_at', 'updated_at')
  33. def save_model(self, request, obj, form, change):
  34. obj.save()
  35. # 设置游客入口控制
  36. set_guest_entrance_control(obj)
  37. def delete_model(self, request, obj):
  38. obj.delete()
  39. # 删除游客入口控制
  40. delete_guest_entrance_control()
  41. admin.site.register(LatestAppInfo, LatestAppInfoAdmin)
  42. admin.site.register(SplashInfo, SplashInfoAdmin)
  43. admin.site.register(FeedbackInfo, FeedbackInfoAdmin)
  44. admin.site.register(GuestEntranceControlInfo, GuestEntranceControlInfoAdmin)