admin.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # -*- coding: utf-8 -*-
  2. from django.contrib import admin
  3. from django.utils.html import format_html
  4. # Register your models here.
  5. from .models import Contrib
  6. # Kinda hackish to do that here
  7. admin.site.site_header = "Administration − Wifi with me"
  8. admin.site.site_title = "Wifi with me"
  9. @admin.register(Contrib)
  10. class ContribAdmin(admin.ModelAdmin):
  11. search_fields = ["name", "email", "phone"]
  12. list_display = ("name", "date", "phone", "email", "expired_string")
  13. readonly_fields = ['date', 'expiration_date']
  14. fieldsets = [
  15. [None, {
  16. 'fields': [
  17. ('name', 'contrib_type'),
  18. 'comment', 'email', 'phone',
  19. ('date', 'expiration_date'),
  20. ],
  21. }],
  22. ['Localisation', {
  23. 'fields': [
  24. ('latitude', 'longitude'),
  25. ('floor', 'floor_total'),
  26. 'orientations', 'roof']
  27. }],
  28. ['Partage de connexion', {
  29. 'fields': ['access_type'],
  30. 'classes': ['collapse'],
  31. }],
  32. ['Vie privée', {
  33. 'fields': [
  34. 'privacy_name', 'privacy_email', 'privacy_coordinates',
  35. 'privacy_place_details', 'privacy_comment'
  36. ],
  37. 'classes': ['collapse'],
  38. }]
  39. ]
  40. def expired_string(self, obj):
  41. if obj.is_expired():
  42. return format_html('<strong style="color: red; cursor: help;" title="Cette entrée excède la durée de rétention et aurait dû être supprimée automatiquement.">expiré</strong>')
  43. else:
  44. return 'non expiré'
  45. expired_string.short_description = 'Expiration'