help description for birds

This commit is contained in:
gw3000 2023-07-07 18:24:22 +02:00
parent 52f80672eb
commit 4f9b6f9fb5
5 changed files with 38 additions and 22 deletions

View file

@ -17,7 +17,7 @@ class FallenBirdAdmin(admin.ModelAdmin):
@admin.register(Bird) @admin.register(Bird)
class BirdAdmin(admin.ModelAdmin): class BirdAdmin(admin.ModelAdmin):
list_display = ["name"] list_display = ["name", "description"]
@admin.register(BirdStatus) @admin.register(BirdStatus)

View file

@ -12,9 +12,17 @@ class DateInput(forms.DateInput):
class BirdAddForm(forms.ModelForm): class BirdAddForm(forms.ModelForm):
class Meta: 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 model = FallenBird
fields = ["bird_identifier","bird","date_found","place","status", ] fields = [
"bird_identifier",
"bird",
"date_found",
"place",
"status",
]
labels = { labels = {
"bird_identifier": _("Kennung"), "bird_identifier": _("Kennung"),
"bird": _("Vogel"), "bird": _("Vogel"),

View file

@ -9,27 +9,22 @@ from rescuer.models import Rescuer
class FallenBird(models.Model): class FallenBird(models.Model):
id = models.UUIDField(primary_key=True, default=uuid4, editable=False) id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
bird_identifier = models.CharField( bird_identifier = models.CharField(max_length=256, verbose_name=_("Kennung"))
max_length=256, verbose_name=_("Kennung"))
bird = models.ForeignKey( 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")) date_found = models.DateField(verbose_name=_("Datum des Fundes"))
place = models.CharField(max_length=256, verbose_name=_("Ort des Fundes")) place = models.CharField(max_length=256, verbose_name=_("Ort des Fundes"))
created = models.DateTimeField( created = models.DateTimeField(auto_now_add=True, verbose_name=_("angelegt am"))
auto_now_add=True, verbose_name=_("angelegt am")) updated = models.DateTimeField(auto_now=True, verbose_name=_("geändert am"))
updated = models.DateTimeField(
auto_now=True, verbose_name=_("geändert am"))
diagnostic_finding = models.CharField(max_length=256) diagnostic_finding = models.CharField(max_length=256)
cost_sum = models.DecimalField( cost_sum = models.DecimalField(max_digits=5, decimal_places=2, default=0.00)
max_digits=5, decimal_places=2, default=0.00)
rescuer = models.ForeignKey( rescuer = models.ForeignKey(
Rescuer, 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) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
status = models.ForeignKey( status = models.ForeignKey("BirdStatus", on_delete=models.CASCADE, default=1)
"BirdStatus", on_delete=models.CASCADE, default=1) aviary = models.ForeignKey(Aviary, on_delete=models.SET_NULL, blank=True, null=True)
aviary = models.ForeignKey(
Aviary, on_delete=models.SET_NULL, blank=True, null=True)
class Meta: class Meta:
verbose_name = _("Patient") verbose_name = _("Patient")
@ -42,6 +37,7 @@ class FallenBird(models.Model):
class Bird(models.Model): class Bird(models.Model):
id = models.UUIDField(primary_key=True, default=uuid4, editable=False) id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
name = models.CharField(max_length=256, unique=True) name = models.CharField(max_length=256, unique=True)
description = models.CharField(max_length=4096, verbose_name=_("Hilfetext"))
class Meta: class Meta:
verbose_name = _("Vogel") verbose_name = _("Vogel")

View file

@ -2,6 +2,7 @@ from django.urls import path
from .views import ( from .views import (
bird_all, bird_all,
bird_help,
bird_create, bird_create,
bird_delete, bird_delete,
bird_recover, bird_recover,
@ -13,6 +14,7 @@ urlpatterns = [
path("all/", bird_all, name="bird_all"), path("all/", bird_all, name="bird_all"),
path("create/", bird_create, name="bird_create"), path("create/", bird_create, name="bird_create"),
path("delete/<id>", bird_delete, name="bird_delete"), path("delete/<id>", bird_delete, name="bird_delete"),
path("help/", bird_help, name="bird_help"),
path("recover/<id>", bird_recover, name="bird_recover"), path("recover/<id>", bird_recover, name="bird_recover"),
path("recover/all", bird_recover_all, name="bird_recover_all"), path("recover/all", bird_recover_all, name="bird_recover_all"),
path("<id>/", bird_single, name="bird_single"), path("<id>/", bird_single, name="bird_single"),

View file

@ -4,7 +4,7 @@ from django.shortcuts import HttpResponse, redirect, render
from rescuer.models import Rescuer from rescuer.models import Rescuer
from .forms import BirdAddForm, BirdEditForm from .forms import BirdAddForm, BirdEditForm
from .models import FallenBird from .models import FallenBird, Bird
@login_required(login_url="account_login") @login_required(login_url="account_login")
@ -31,6 +31,13 @@ def bird_create(request):
return render(request, "bird/bird_create.html", context) 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") @login_required(login_url="account_login")
def bird_all(request): def bird_all(request):
birds = FallenBird.objects.all() birds = FallenBird.objects.all()
@ -55,7 +62,10 @@ def bird_recover_all(request):
@login_required(login_url="account_login") @login_required(login_url="account_login")
def bird_single(request, id): def bird_single(request, id):
bird = FallenBird.objects.get(id=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 request.method == "POST":
if form.is_valid(): if form.is_valid():
fs = form.save(commit=False) fs = form.save(commit=False)