feat: add error message page; improve admin ui; add missing test files

This commit is contained in:
bkfox
2023-09-12 21:00:44 +02:00
parent a0468899b0
commit 876e4cdfa7
28 changed files with 1242 additions and 438 deletions

View File

@ -1,4 +1,4 @@
from . import admin
from . import admin, errors
from .article import ArticleDetailView, ArticleListView
from .base import BaseAPIView, BaseView
from .diffusion import DiffusionListView
@ -20,6 +20,7 @@ from .program import (
__all__ = (
"admin",
"errors",
"ArticleDetailView",
"ArticleListView",
"BaseAPIView",

View File

@ -1,3 +1,4 @@
from django.http import HttpResponseRedirect
from django.urls import reverse
from django.views.generic.base import ContextMixin, TemplateResponseMixin
@ -60,6 +61,11 @@ class BaseView(TemplateResponseMixin, ContextMixin):
return super().get_context_data(**kwargs)
def dispatch(self, *args, **kwargs):
if not self.request.station:
return HttpResponseRedirect(reverse("errors-no-station"))
return super().dispatch(*args, **kwargs)
# FIXME: rename to sth like [Base]?StationAPIView/Mixin
class BaseAPIView:

8
aircox/views/errors.py Normal file
View File

@ -0,0 +1,8 @@
from django.views.generic.base import TemplateView
__all__ = ("NoStationErrorView",)
class NoStationErrorView(TemplateView):
template_name = "aircox/errors/no_station.html"