Nav apraksta

admin.py 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. from django.contrib import admin
  2. from django.contrib.gis.admin import OSMGeoAdmin
  3. from .models import Hospital, Patient, Bed, PatientLog, Driver, Ambulance, AmbulanceTicket, Place
  4. from django_google_maps import widgets as map_widgets
  5. from django_google_maps import fields as map_fields
  6. from django_json_widget.widgets import JSONEditorWidget
  7. from django.db import models
  8. #@admin.register(Bed)
  9. @admin.register(AmbulanceTicket)
  10. class AmbulanceTicketAdmin(admin.ModelAdmin):
  11. list_display = ('driver', 'ambulance', 'checkin_at', 'checkout_at', 'status')
  12. @admin.register(Place)
  13. class PlaceAdmin(admin.ModelAdmin):
  14. formfield_overrides = {
  15. map_fields.AddressField: {'widget': map_widgets.GoogleMapsAddressWidget},
  16. models.JSONField: {'widget': JSONEditorWidget},
  17. }
  18. #pass
  19. #list_display = ('driver', 'ambulance', 'checkin_at', 'checkout_at', 'status')
  20. @admin.register(Ambulance)
  21. class AmbulanceAdmin(admin.ModelAdmin):
  22. list_display = ('code', 'license_plate', 'brand', 'status')
  23. @admin.register(Driver)
  24. class DriverAdmin(admin.ModelAdmin):
  25. pass
  26. class BedAdmin(admin.TabularInline):
  27. model = Bed
  28. class PatientLogAdmin(admin.StackedInline):
  29. model = PatientLog
  30. #fields = ('hospital', 'notes', 'condition_level', 'status')
  31. @admin.register(Hospital)
  32. class HospitalAdmin(OSMGeoAdmin):
  33. list_display = ('title', 'address', 'geolocation')
  34. inlines = [BedAdmin,]
  35. fields = ('title', 'address_text', 'address', 'geolocation',)
  36. formfield_overrides = {
  37. map_fields.AddressField: {'widget': map_widgets.GoogleMapsAddressWidget},
  38. }
  39. @admin.register(Patient)
  40. class PatientAdmin(admin.ModelAdmin):
  41. formfield_overrides = {
  42. map_fields.AddressField: {'widget': map_widgets.GoogleMapsAddressWidget},
  43. }
  44. inlines = [PatientLogAdmin,]