Refactor error message handling: centralize required fields error message and improve park list template accessibility

This commit is contained in:
pacnpal
2025-02-21 18:55:41 -05:00
parent d7951756dc
commit 3523274cbd
2 changed files with 10 additions and 12 deletions

View File

@@ -1,6 +1,10 @@
import requests
from decimal import Decimal, ROUND_DOWN
from typing import Any, Optional, cast, Literal
# Constants for error messages
REQUIRED_FIELDS_ERROR = "Please correct the errors below. Required fields are marked with an asterisk (*)."
from django.views.generic import DetailView, ListView, CreateView, UpdateView
from decimal import InvalidOperation
from django.shortcuts import get_object_or_404, render
@@ -408,14 +412,7 @@ class ParkCreateView(LoginRequiredMixin, CreateView):
messages.success(
self.request,
"Your park submission has been sent for review. "
"You will be notified when it is approved.",
)
return HttpResponseRedirect(reverse("parks:park_list"))
def form_invalid(self, form: ParkForm) -> HttpResponse:
messages.error(
self.request,
"Please correct the errors below. Required fields are marked with an asterisk (*).",
"You will be notified when it is approved."
)
for field, errors in form.errors.items():
for error in errors:
@@ -551,7 +548,7 @@ class ParkUpdateView(LoginRequiredMixin, UpdateView):
def form_invalid(self, form: ParkForm) -> HttpResponse:
messages.error(
self.request,
"Please correct the errors below. Required fields are marked with an asterisk (*).",
REQUIRED_FIELDS_ERROR
)
for field, errors in form.errors.items():
for error in errors:
@@ -734,7 +731,7 @@ class ParkAreaDetailView(
def form_invalid(self, form: ParkForm) -> HttpResponse:
messages.error(
self.request,
"Please correct the errors below. Required fields are marked with an asterisk (*).",
REQUIRED_FIELDS_ERROR,
)
for field, errors in form.errors.items():
for error in errors:
@@ -872,7 +869,7 @@ class ParkUpdateView(LoginRequiredMixin, UpdateView):
def form_invalid(self, form: ParkForm) -> HttpResponse:
messages.error(
self.request,
"Please correct the errors below. Required fields are marked with an asterisk (*).",
REQUIRED_FIELDS_ERROR,
)
for field, errors in form.errors.items():
for error in errors: