Files
vrobbler/vrobbler/apps/discgolf/views.py
Colin Powell f1c777d4ef
Some checks failed
build / test (push) Has been cancelled
[discgolf] Add trail maps and addresses
2026-06-21 01:02:43 -04:00

33 lines
885 B
Python

from django.apps import apps
from discgolf.models import DiscGolfCourse
from scrobbles.views import (
ScrobbleableListView,
ScrobbleableDetailView,
ChartContextMixin,
)
class DiscGolfCourseListView(ScrobbleableListView):
model = DiscGolfCourse
class DiscGolfCourseDetailView(ScrobbleableDetailView, ChartContextMixin):
model = DiscGolfCourse
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
Scrobble = apps.get_model("scrobbles", "Scrobble")
context["trail_gpx_url"] = None
latest = (
Scrobble.objects.filter(
trail=self.object.trail, gpx_file__isnull=False
)
.order_by("-timestamp")
.first()
)
if latest and latest.gpx_file:
context["trail_gpx_url"] = latest.gpx_file.url
return context