diff --git a/django/library/admin.py b/django/library/admin.py
index 6e8d08b..6526f60 100644
--- a/django/library/admin.py
+++ b/django/library/admin.py
@@ -6,7 +6,6 @@ class QivipQuizAdmin(admin.ModelAdmin):
list_display = ('name', 'user_id', 'status', 'category', 'creation_date', 'update_date') # Welche Felder sollen in der Übersicht angezeigt werden
search_fields = ('name', 'user_id__username', 'category__name') # Suchfelder
list_filter = ('status', 'category') # Filteroptionen
-
# Für das QivipQuestion Modell
class QivipQuestionAdmin(admin.ModelAdmin):
list_display = ('id', 'quiz_id', 'data', 'creation_date', 'update_date')
diff --git a/django/library/forms.py b/django/library/forms.py
index 4ca84f8..c454b71 100644
--- a/django/library/forms.py
+++ b/django/library/forms.py
@@ -4,7 +4,7 @@ from .models import QivipQuiz, QivipQuestion
class QuizForm(forms.ModelForm):
class Meta:
model = QivipQuiz
- fields = ['name', 'description','image', 'status', 'category', 'tags',"difficulty"]
+ fields = ['name', 'description','image', 'status', 'category', 'tags',"difficulty","credits"]
class QuestionForm(forms.ModelForm):
class Meta:
diff --git a/django/library/migrations/0025_qivipquiz_modified_description.py b/django/library/migrations/0025_qivipquiz_modified_description.py
new file mode 100644
index 0000000..603c205
--- /dev/null
+++ b/django/library/migrations/0025_qivipquiz_modified_description.py
@@ -0,0 +1,18 @@
+# Generated by Django 5.1.7 on 2025-04-03 16:46
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('library', '0024_alter_qivipquiz_image'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='qivipquiz',
+ name='modified_description',
+ field=models.TextField(blank=True, default='Das Quiz wurde modifiziert von:', editable=False),
+ ),
+ ]
diff --git a/django/library/migrations/0026_alter_qivipquiz_modified_description.py b/django/library/migrations/0026_alter_qivipquiz_modified_description.py
new file mode 100644
index 0000000..0dd27b6
--- /dev/null
+++ b/django/library/migrations/0026_alter_qivipquiz_modified_description.py
@@ -0,0 +1,18 @@
+# Generated by Django 5.1.7 on 2025-04-04 13:28
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('library', '0025_qivipquiz_modified_description'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='qivipquiz',
+ name='modified_description',
+ field=models.TextField(blank=True, editable=False),
+ ),
+ ]
diff --git a/django/library/migrations/0027_qivipquiz_creator.py b/django/library/migrations/0027_qivipquiz_creator.py
new file mode 100644
index 0000000..5d99ae1
--- /dev/null
+++ b/django/library/migrations/0027_qivipquiz_creator.py
@@ -0,0 +1,21 @@
+# Generated by Django 5.1.7 on 2025-04-04 13:37
+
+import django.db.models.deletion
+from django.conf import settings
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('library', '0026_alter_qivipquiz_modified_description'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='qivipquiz',
+ name='creator',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='creator_quiz', to=settings.AUTH_USER_MODEL),
+ ),
+ ]
diff --git a/django/library/migrations/0028_alter_qivipquiz_creator.py b/django/library/migrations/0028_alter_qivipquiz_creator.py
new file mode 100644
index 0000000..b3e7941
--- /dev/null
+++ b/django/library/migrations/0028_alter_qivipquiz_creator.py
@@ -0,0 +1,21 @@
+# Generated by Django 5.1.7 on 2025-04-04 13:57
+
+import django.db.models.deletion
+from django.conf import settings
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('library', '0027_qivipquiz_creator'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='qivipquiz',
+ name='creator',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='creator_quiz', to=settings.AUTH_USER_MODEL),
+ ),
+ ]
diff --git a/django/library/migrations/0029_qivipquiz_credits.py b/django/library/migrations/0029_qivipquiz_credits.py
new file mode 100644
index 0000000..7b4e8fd
--- /dev/null
+++ b/django/library/migrations/0029_qivipquiz_credits.py
@@ -0,0 +1,18 @@
+# Generated by Django 5.1.7 on 2025-04-04 16:02
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('library', '0028_alter_qivipquiz_creator'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='qivipquiz',
+ name='credits',
+ field=models.TextField(blank=True),
+ ),
+ ]
diff --git a/django/library/migrations/0030_remove_qivipquiz_creator_and_more.py b/django/library/migrations/0030_remove_qivipquiz_creator_and_more.py
new file mode 100644
index 0000000..0401baa
--- /dev/null
+++ b/django/library/migrations/0030_remove_qivipquiz_creator_and_more.py
@@ -0,0 +1,27 @@
+# Generated by Django 5.1.7 on 2025-04-05 09:39
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('library', '0029_qivipquiz_credits'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='qivipquiz',
+ name='creator',
+ ),
+ migrations.RemoveField(
+ model_name='qivipquiz',
+ name='modified_description',
+ ),
+ migrations.AddField(
+ model_name='qivipquiz',
+ name='base_quiz',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='child_quizzes', to='library.qivipquiz'),
+ ),
+ ]
diff --git a/django/library/models.py b/django/library/models.py
index a35d6d9..f49d071 100644
--- a/django/library/models.py
+++ b/django/library/models.py
@@ -27,6 +27,8 @@ class QivipQuiz(models.Model):
image = models.ImageField(max_length=256, upload_to='quiz_images/', blank=True, null=True) # Bild speichern in media/quiz_images/
uuid = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
user_id = models.ForeignKey(User, on_delete=models.CASCADE, related_name='quiz')
+ #creator = models.ForeignKey(User, on_delete=models.SET_NULL,blank=True, null=True, related_name='creator_quiz')
+ base_quiz = models.ForeignKey('self', on_delete=models.SET_NULL,blank=True, null=True, related_name='child_quizzes')
creation_date = models.DateTimeField(auto_now_add=True)
update_date = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=10, choices=list(STATUS_VALUES.items()), default="öffentlich")
@@ -35,11 +37,13 @@ class QivipQuiz(models.Model):
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")
-
+ credits=models.TextField(blank=True, editable=True)
def __str__(self):
+
return self.name
+
# Create your models here.
class QivipQuestion(models.Model):
uuid = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
diff --git a/django/library/urls.py b/django/library/urls.py
index 45d780c..befd359 100644
--- a/django/library/urls.py
+++ b/django/library/urls.py
@@ -14,6 +14,8 @@ urlpatterns = [
path('question/new/', views.new_question, name='new_question'),
path('question/edit/ {{ quiz.description }} {{ quiz.description }} Kopie von: {{ quiz.base_quiz}} Autor: {{ quiz.base_quiz.user_id}} Credits: {{ quiz.credits }}
{{ quiz.description }}
+ {% if quiz.authors.all %}
+ Autor(en):
+ {% for author in quiz.authors.all %}
+
+ {{ author.username }}{% if not forloop.last %}, {% endif %}
+ {% endfor %}
+ {{ quiz.name }}
Fragen
{{ quiz.name }}
+ {{ quiz.name }}
Schwierigkeit: {{ quiz.difficulty }}
Anzahl der Fragen: {{ quiz.question.count }}
Status: {{ quiz.status }}
+
+
+
{{ quiz.description }}
@@ -126,19 +139,23 @@
Anzahl der Fragen: {{ quiz.question.count }}
Erstellt am: {{ quiz.creation_date }}
Ursprünglich erstellt von: {{ quiz.original_creator }}
+ {% endif %}