From 4f9b6f9fb58c78bcf1c3e3775454b6dab2a5f483 Mon Sep 17 00:00:00 2001 From: gw3000 Date: Fri, 7 Jul 2023 18:24:22 +0200 Subject: [PATCH] help description for birds --- bird/admin.py | 2 +- bird/forms.py | 12 ++++++++++-- bird/models.py | 28 ++++++++++++---------------- bird/urls.py | 2 ++ bird/views.py | 16 +++++++++++++--- 5 files changed, 38 insertions(+), 22 deletions(-) diff --git a/bird/admin.py b/bird/admin.py index 292e2c2..687bddc 100644 --- a/bird/admin.py +++ b/bird/admin.py @@ -17,7 +17,7 @@ class FallenBirdAdmin(admin.ModelAdmin): @admin.register(Bird) class BirdAdmin(admin.ModelAdmin): - list_display = ["name"] + list_display = ["name", "description"] @admin.register(BirdStatus) diff --git a/bird/forms.py b/bird/forms.py index 3db931c..12c5e9e 100644 --- a/bird/forms.py +++ b/bird/forms.py @@ -12,9 +12,17 @@ class DateInput(forms.DateInput): class BirdAddForm(forms.ModelForm): class Meta: - widgets = {"date_found": DateInput(format="%Y-%m-%d", attrs={"value": date.today})} + widgets = { + "date_found": DateInput(format="%Y-%m-%d", attrs={"value": date.today}) + } model = FallenBird - fields = ["bird_identifier","bird","date_found","place","status", ] + fields = [ + "bird_identifier", + "bird", + "date_found", + "place", + "status", + ] labels = { "bird_identifier": _("Kennung"), "bird": _("Vogel"), diff --git a/bird/models.py b/bird/models.py index eeeebf4..4afaaee 100644 --- a/bird/models.py +++ b/bird/models.py @@ -9,27 +9,22 @@ from rescuer.models import Rescuer class FallenBird(models.Model): id = models.UUIDField(primary_key=True, default=uuid4, editable=False) - bird_identifier = models.CharField( - max_length=256, verbose_name=_("Kennung")) + bird_identifier = models.CharField(max_length=256, verbose_name=_("Kennung")) bird = models.ForeignKey( - "Bird", on_delete=models.CASCADE, verbose_name=_("Patient")) + "Bird", on_delete=models.CASCADE, verbose_name=_("Patient") + ) date_found = models.DateField(verbose_name=_("Datum des Fundes")) place = models.CharField(max_length=256, verbose_name=_("Ort des Fundes")) - created = models.DateTimeField( - auto_now_add=True, verbose_name=_("angelegt am")) - updated = models.DateTimeField( - auto_now=True, verbose_name=_("geändert am")) + created = models.DateTimeField(auto_now_add=True, verbose_name=_("angelegt am")) + updated = models.DateTimeField(auto_now=True, verbose_name=_("geändert am")) diagnostic_finding = models.CharField(max_length=256) - cost_sum = models.DecimalField( - max_digits=5, decimal_places=2, default=0.00) + cost_sum = models.DecimalField(max_digits=5, decimal_places=2, default=0.00) rescuer = models.ForeignKey( - Rescuer, on_delete=models.SET_NULL, blank=True, null=True) - user = models.ForeignKey(settings.AUTH_USER_MODEL, - on_delete=models.CASCADE) - status = models.ForeignKey( - "BirdStatus", on_delete=models.CASCADE, default=1) - aviary = models.ForeignKey( - Aviary, on_delete=models.SET_NULL, blank=True, null=True) + Rescuer, on_delete=models.SET_NULL, blank=True, null=True + ) + user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) + status = models.ForeignKey("BirdStatus", on_delete=models.CASCADE, default=1) + aviary = models.ForeignKey(Aviary, on_delete=models.SET_NULL, blank=True, null=True) class Meta: verbose_name = _("Patient") @@ -42,6 +37,7 @@ class FallenBird(models.Model): class Bird(models.Model): id = models.UUIDField(primary_key=True, default=uuid4, editable=False) name = models.CharField(max_length=256, unique=True) + description = models.CharField(max_length=4096, verbose_name=_("Hilfetext")) class Meta: verbose_name = _("Vogel") diff --git a/bird/urls.py b/bird/urls.py index b68b634..926e47e 100644 --- a/bird/urls.py +++ b/bird/urls.py @@ -2,6 +2,7 @@ from django.urls import path from .views import ( bird_all, + bird_help, bird_create, bird_delete, bird_recover, @@ -13,6 +14,7 @@ urlpatterns = [ path("all/", bird_all, name="bird_all"), path("create/", bird_create, name="bird_create"), path("delete/", bird_delete, name="bird_delete"), + path("help/", bird_help, name="bird_help"), path("recover/", bird_recover, name="bird_recover"), path("recover/all", bird_recover_all, name="bird_recover_all"), path("/", bird_single, name="bird_single"), diff --git a/bird/views.py b/bird/views.py index 290b2b0..1b78e78 100644 --- a/bird/views.py +++ b/bird/views.py @@ -4,7 +4,7 @@ from django.shortcuts import HttpResponse, redirect, render from rescuer.models import Rescuer from .forms import BirdAddForm, BirdEditForm -from .models import FallenBird +from .models import FallenBird, Bird @login_required(login_url="account_login") @@ -31,6 +31,13 @@ def bird_create(request): return render(request, "bird/bird_create.html", context) +@login_required(login_url="account_login") +def bird_help(request): + birds = Bird.objects.all() + context = {"birds": birds} + return render(request, "bird/bird_help.html", context) + + @login_required(login_url="account_login") def bird_all(request): birds = FallenBird.objects.all() @@ -55,11 +62,14 @@ def bird_recover_all(request): @login_required(login_url="account_login") def bird_single(request, id): bird = FallenBird.objects.get(id=id) - form = BirdEditForm(request.POST or None, request.FILES or None, instance=bird) + form = BirdEditForm( + request.POST or None, + request.FILES or None, + instance=bird) if request.method == "POST": if form.is_valid(): fs = form.save(commit=False) - if fs.status.description!="In Auswilderung": + if fs.status.description != "In Auswilderung": fs.aviary = None fs.save() return redirect("bird_all")