diff --git a/app/bird/admin.py b/app/bird/admin.py
index 15d9d37..f62e0ed 100644
--- a/app/bird/admin.py
+++ b/app/bird/admin.py
@@ -18,7 +18,7 @@ class FallenBirdAdmin(admin.ModelAdmin):
@admin.register(Bird)
class BirdAdmin(admin.ModelAdmin):
- list_display = ["name", "description"]
+ list_display = ["name"]
@admin.register(BirdStatus)
diff --git a/app/bird/models.py b/app/bird/models.py
index 603ec7a..20d1670 100644
--- a/app/bird/models.py
+++ b/app/bird/models.py
@@ -2,6 +2,7 @@ from datetime import date
from uuid import uuid4
from aviary.models import Aviary
+from ckeditor.fields import RichTextField
from django.conf import settings
from django.db import models
from django.utils.translation import gettext_lazy as _
@@ -59,9 +60,9 @@ class FallenBird(models.Model):
class Bird(models.Model):
- id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
+ id = models.BigAutoField(primary_key=True)
name = models.CharField(max_length=256, unique=True, verbose_name=_("Bezeichnung"))
- description = models.CharField(max_length=4096, verbose_name=_("Hilfetext"))
+ description = RichTextField(blank=True, null=True)
class Meta:
verbose_name = _("Vogel")
diff --git a/app/bird/templates/bird/bird_help.html b/app/bird/templates/bird/bird_help.html
index 7ca87ca..ea6565f 100644
--- a/app/bird/templates/bird/bird_help.html
+++ b/app/bird/templates/bird/bird_help.html
@@ -4,10 +4,14 @@
Hilfesammlung
- {% for bird in birds %}
-
{{ bird.name }}
-
{{ bird.description }}
- {% endfor %}
+
{% endblock content %}
\ No newline at end of file
diff --git a/app/bird/templates/bird/bird_help_single.html b/app/bird/templates/bird/bird_help_single.html
new file mode 100644
index 0000000..0032898
--- /dev/null
+++ b/app/bird/templates/bird/bird_help_single.html
@@ -0,0 +1,10 @@
+{% extends "base.html" %}
+{% load static %}
+{% block content %}
+
+
+
{{ bird.name }}
+
{{ bird.description|safe }}
+
+
+{% endblock content %}
\ No newline at end of file
diff --git a/app/bird/urls.py b/app/bird/urls.py
index 0385f7c..98b9443 100644
--- a/app/bird/urls.py
+++ b/app/bird/urls.py
@@ -5,6 +5,7 @@ from .views import (
bird_create,
bird_delete,
bird_help,
+ bird_help_single,
bird_inactive,
bird_recover,
bird_recover_all,
@@ -17,6 +18,7 @@ urlpatterns = [
path("create/", bird_create, name="bird_create"),
path("delete/", bird_delete, name="bird_delete"),
path("help/", bird_help, name="bird_help"),
+ path("help/", bird_help_single, name="bird_help_single"),
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/app/bird/views.py b/app/bird/views.py
index 6b90b56..08776da 100644
--- a/app/bird/views.py
+++ b/app/bird/views.py
@@ -36,11 +36,18 @@ def bird_create(request):
@login_required(login_url="account_login")
def bird_help(request):
- birds = Bird.objects.all()
+ birds = Bird.objects.all().order_by("name")
context = {"birds": birds}
return render(request, "bird/bird_help.html", context)
+@login_required(login_url="account_login")
+def bird_help_single(request, id):
+ bird = Bird.objects.all().get(id=id)
+ context = {"bird": bird}
+ return render(request, "bird/bird_help_single.html", context)
+
+
@login_required(login_url="account_login")
def bird_all(request):
birds = FallenBird.objects.filter(Q(status="1") | Q(status="2")).annotate(
diff --git a/app/requirements.txt b/app/requirements.txt
index e4ff48b..4716028 100644
--- a/app/requirements.txt
+++ b/app/requirements.txt
@@ -3,6 +3,7 @@ crispy-bootstrap5>=0.6
django-allauth>=0.50
django-bootstrap-datepicker-plus>=4.0
django-bootstrap-modal-forms>=2
+django-ckeditor>=6.6
django-crispy-forms>=1
django-environ==0.9.0
django-environ>=0.9
@@ -10,4 +11,4 @@ django-jazzmin>=2.6.0
gunicorn>=20.1
names>=0.3.0
psycopg2-binary>=2.9
-whitenoise>=6.5
+whitenoise>=6.5
\ No newline at end of file