from django.contrib import admin
from django.contrib.gis.admin import OSMGeoAdmin
from .models import Hospital, Patient, Bed, PatientLog, Driver, Ambulance, AmbulanceTicket, Place, Points, ImportFile
from django_google_maps import widgets as map_widgets
from django_google_maps import fields as map_fields
from django_json_widget.widgets import JSONEditorWidget
from django.db import models
from django.utils.html import format_html
from django.conf import settings
from dal import autocomplete
from django import forms
class PointForm(forms.ModelForm):
class Meta:
model = Points
fields = ('__all__')
widgets = {
'dest': autocomplete.ModelSelect2(url='hospital-autocomplete'),
'address': map_widgets.GoogleMapsAddressWidget,
'directions': JSONEditorWidget,
}
#@admin.register(Bed)
@admin.register(ImportFile)
class ImportFileAdmin(admin.ModelAdmin):
pass
class PointInlineAdmin(admin.StackedInline):
model = Points
form = PointForm
#readonly_fields = ('distance', 'duration', 'get_map')
#fields = ('hospital', 'notes', 'condition_level', 'status')
@admin.register(AmbulanceTicket)
class AmbulanceTicketAdmin(admin.ModelAdmin):
#inlines = [PointInlineAdmin,]
list_display = ('driver', 'ambulance', 'checkin_at', 'checkout_at', 'status')
@admin.register(Points)
class PointAdmin(admin.ModelAdmin):
form = PointForm
readonly_fields = ('distance', 'duration', 'get_map')
'''
formfield_overrides = {
map_fields.AddressField: {'widget': map_widgets.GoogleMapsAddressWidget},
models.JSONField: {'widget': JSONEditorWidget},
}
'''
def get_map(self, obj):
return format_html( f'''