拍爱

admin.py 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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', 'status', 'created_at', 'updated_at')
  11. def save_model(self, request, obj, form, change):
  12. obj.save()
  13. # 更新安卓下载页面
  14. write_to_disk(render_to_string('page/download.tmpl.html', {
  15. 'version': obj.latest_adr_version_name,
  16. }), settings.DOWNLOAD_ADR_PAGE_PATH)
  17. # 更新 iOS 下载页面
  18. write_to_disk(render_to_string('page/download.tmpl.html', {
  19. 'version': obj.latest_ios_version_name,
  20. }), settings.DOWNLOAD_IOS_PAGE_PATH)
  21. # 设置最新 APP 信息
  22. set_latest_app()
  23. class SplashInfoAdmin(admin.ModelAdmin):
  24. list_display = ('splash_image', 'spalash_image_airtime', 'spalash_image_deadline', 'status', 'created_at', 'updated_at')
  25. class FeedbackInfoAdmin(admin.ModelAdmin):
  26. list_display = ('user_id', 'feedback', 'src', 'status', 'created_at', 'updated_at')
  27. list_filter = ('src', 'status')
  28. class GuestEntranceControlInfoAdmin(admin.ModelAdmin):
  29. list_display = ('platform', 'min_adr', 'max_adr', 'min_ios', 'max_ios', 'status', 'created_at', 'updated_at')
  30. def save_model(self, request, obj, form, change):
  31. obj.save()
  32. # 设置游客入口控制
  33. set_guest_entrance_control(obj)
  34. def delete_model(self, request, obj):
  35. obj.delete()
  36. # 删除游客入口控制
  37. delete_guest_entrance_control()
  38. admin.site.register(LatestAppInfo, LatestAppInfoAdmin)
  39. admin.site.register(SplashInfo, SplashInfoAdmin)
  40. admin.site.register(FeedbackInfo, FeedbackInfoAdmin)
  41. admin.site.register(GuestEntranceControlInfo, GuestEntranceControlInfoAdmin)