diff --git a/django/library/migrations/0021_alter_qivipquiz_name.py b/django/library/migrations/0021_alter_qivipquiz_name.py new file mode 100644 index 0000000..13e98ca --- /dev/null +++ b/django/library/migrations/0021_alter_qivipquiz_name.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1.7 on 2025-03-16 14:34 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('library', '0020_alter_qivipquiz_description'), + ] + + operations = [ + migrations.AlterField( + model_name='qivipquiz', + name='name', + field=models.CharField(max_length=100), + ), + ] diff --git a/django/library/migrations/0022_alter_qivipquiz_description_alter_qivipquiz_name.py b/django/library/migrations/0022_alter_qivipquiz_description_alter_qivipquiz_name.py new file mode 100644 index 0000000..55bafdb --- /dev/null +++ b/django/library/migrations/0022_alter_qivipquiz_description_alter_qivipquiz_name.py @@ -0,0 +1,24 @@ +# Generated by Django 5.1.7 on 2025-03-16 14:35 + +import library.models +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('library', '0021_alter_qivipquiz_name'), + ] + + operations = [ + migrations.AlterField( + model_name='qivipquiz', + name='description', + field=models.TextField(default='In dem Quiz geht es um ...', max_length=200, validators=[library.models.QivipQuiz.validate_description]), + ), + migrations.AlterField( + model_name='qivipquiz', + name='name', + field=models.CharField(max_length=75), + ), + ] diff --git a/django/library/models.py b/django/library/models.py index b1b0ee9..fe0989a 100644 --- a/django/library/models.py +++ b/django/library/models.py @@ -32,8 +32,8 @@ class QivipQuiz(models.Model): status = models.CharField(max_length=10, choices=list(STATUS_VALUES.items()), default="öffentlich") category = models.ForeignKey('QuizCategory', related_name='quiz', on_delete=models.CASCADE) tags = models.ManyToManyField('Tag', blank=True) - name = models.CharField(max_length=255) - description = models.TextField(validators=[validate_description],max_length=255,blank=False, default="In dem Quiz geht es um ...") + name = models.CharField(max_length=75) + description = models.TextField(validators=[validate_description],max_length=200,blank=False, default="In dem Quiz geht es um ...") difficulty= models.CharField(max_length=13, choices=list(DIFFICULTY_VALUES.items()), default="nicht gesetzt", help_text="1: niedrigste Schwierigkeit und 5: höchste Schwierigkeit") def __str__(self): diff --git a/django/library/views.py b/django/library/views.py index f929bb1..99a81e7 100644 --- a/django/library/views.py +++ b/django/library/views.py @@ -11,7 +11,7 @@ from django.core.paginator import Paginator @login_required def overview_quiz(request): quizzes = QivipQuiz.objects.filter(user_id=request.user) - all_quizzes = QivipQuiz.objects.filter(status='öffentlich').exclude(user_id=request.user) + all_quizzes = QivipQuiz.objects.filter(status='öffentlich').exclude(user_id=request.user).filter(question__isnull=False).distinct() return render(request, 'library/overview_quiz.html', {'quizzes': quizzes, 'all_quizzes': all_quizzes}) # Neues Quiz erstellen diff --git a/django/templates/library/overview_quiz.html b/django/templates/library/overview_quiz.html index 4ddcb92..a7fae4a 100644 --- a/django/templates/library/overview_quiz.html +++ b/django/templates/library/overview_quiz.html @@ -4,13 +4,16 @@
Neues Quiz erstellen
-

meine eigenen Quiz

+
+

meine eigenen Quiz

{% for quiz in quizzes %} -
-

{{ quiz.name }}

-

{{ quiz.description }}
Status: {{ quiz.status }} -
Schwierigkeit: {{ quiz.difficulty }}

+
+

{{ quiz.name }}

+

{{ quiz.description }}
Status: {{ quiz.status }} +
Schwierigkeit: {{ quiz.difficulty }} +
Anzahl der Fragen: {{ quiz.question.count }}

+
@@ -27,14 +30,18 @@ {% endfor %}
-

Quiz von anderen Nutzern

+
+

Quiz von anderen Nutzern

{% for quiz in all_quizzes %} -
-

{{ quiz.name }}

-

{{ quiz.description }}
Schwierigkeit: {{ quiz.difficulty }}

+
+

{{ quiz.name }}

+

{{ quiz.description }}
Schwierigkeit: + {{ quiz.difficulty }}
Anzahl der Fragen: {{ quiz.question.count }} +
Erstmalig erstellt am: {{ quiz.creation_date }} +