from django.contrib.gis import admin from django.contrib.gis.db import models from web.models.base import BaseModel class Event(BaseModel): class Status(models.TextChoices): SCHEDULED = 'scheduled', 'Scheduled' COMPLETED = 'completed', 'Completed' CANCELED = 'canceled', 'Canceled' name = models.CharField() description = models.TextField() url = models.URLField() address = models.CharField() coordinates = models.PointField(blank=True, default=None, null=True) status = models.CharField(max_length=20, choices=Status.choices, default=Status.SCHEDULED) price = models.DecimalField(max_digits=10, default=None, blank=True, decimal_places=2) require_rsvp = models.BooleanField() start_time = models.DateTimeField() end_time = models.DateTimeField() rain_date = models.DateTimeField() email = models.EmailField() phone_number = models.CharField(default=None, blank=True) class Meta: db_table = 'events' class EventAdmin(admin.GISModelAdmin): search_fields = ( 'name', 'description', 'start_time', 'end_time', 'rain_date', 'url', 'address', 'coordinates', 'status', 'price', 'require_rsvp', ) list_display = ( 'name', 'description', 'start_time', 'end_time', 'rain_date', 'url', 'address', 'coordinates', 'status', 'price', 'require_rsvp', )