Zwischenstand_Favoriten
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
import uuid
|
||||
from django.http import HttpResponse, HttpResponseRedirect
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth.models import User
|
||||
from django.urls import reverse
|
||||
from django.contrib import messages
|
||||
from .models import QivipQuiz, QivipQuestion
|
||||
from .models import QivipQuiz, QivipQuestion, QivipQuizFavorite
|
||||
from .forms import QuizForm, QuestionForm
|
||||
import json
|
||||
from django.core.paginator import Paginator
|
||||
@@ -17,6 +18,10 @@ from django.contrib.auth.models import User
|
||||
def overview_quiz(request):
|
||||
# Filter
|
||||
form = QuizFilterForm(request.GET)
|
||||
|
||||
favorite_quizzes = QivipQuizFavorite.objects.filter(user=request.user, favorite=True)
|
||||
favorite_quiz_ids = favorite_quizzes.values_list('quiz', flat=True)
|
||||
favorite_quizzes = QivipQuiz.objects.filter(id__in=favorite_quiz_ids)
|
||||
|
||||
# Initialize querysets
|
||||
if request.user.is_authenticated:
|
||||
@@ -82,6 +87,8 @@ def overview_quiz(request):
|
||||
|
||||
context = {
|
||||
'show_search': True,
|
||||
'favorite_quiz_ids': favorite_quiz_ids,
|
||||
'favorite_quizzes':favorite_quizzes,
|
||||
'my_quizzes': my_quizzes,
|
||||
'other_quizzes': other_quizzes,
|
||||
'form': form,
|
||||
@@ -90,7 +97,21 @@ def overview_quiz(request):
|
||||
return render(request, 'library/overview_quiz.html', context)
|
||||
|
||||
|
||||
|
||||
# Neues Quiz erstellen
|
||||
@login_required
|
||||
def favorite_quiz(request, pk):
|
||||
quiz= get_object_or_404(QivipQuiz, pk=pk)
|
||||
favorite = QivipQuizFavorite.objects.filter(user=request.user, quiz=quiz).first()
|
||||
if favorite:
|
||||
favorite.favorite=not favorite.favorite
|
||||
print(favorite.favorite)
|
||||
favorite.save()
|
||||
|
||||
else:
|
||||
QivipQuizFavorite.objects.create(user=request.user, quiz=quiz, favorite=True)
|
||||
|
||||
|
||||
return redirect('library:overview_quiz')
|
||||
|
||||
# Neues Quiz erstellen
|
||||
@login_required
|
||||
@@ -102,7 +123,7 @@ def new_quiz(request):
|
||||
quiz.user_id = request.user
|
||||
#quiz.creator = request.user
|
||||
quiz.save()
|
||||
form.save_m2m() # Speichert die Many-to-Many Beziehungen (Tags)
|
||||
#form.save_m2m() # Speichert die Many-to-Many Beziehungen (Tags)
|
||||
return redirect('library:detail_quiz', pk=quiz.pk)
|
||||
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user