Affichage de la progression utilisateur dans les cours suivis et amélioration des templates associés.
This commit is contained in:
parent
81b42b8b4a
commit
8f0fad45be
4 changed files with 65 additions and 29 deletions
|
|
@ -3,6 +3,7 @@ from django.contrib import messages
|
|||
from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout
|
||||
from django.contrib.auth.models import User
|
||||
from courses.models import Course
|
||||
from progression.models import Progression
|
||||
from .forms import UserRegistrationForm, UserLoginForm, UserUpdateForm, ProfileUpdateForm, CompleteProfileForm
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.mail import send_mail
|
||||
|
|
@ -81,7 +82,17 @@ def logout(request):
|
|||
def profile(request):
|
||||
if not hasattr(request.user, 'profile'):
|
||||
return redirect('complete_profile')
|
||||
return render(request, 'users/profile.html')
|
||||
|
||||
latest_progress = (
|
||||
Progression.objects
|
||||
.filter(user=request.user)
|
||||
.select_related('course')
|
||||
.prefetch_related('completed_lessons')
|
||||
.order_by('-updated_at')[:5]
|
||||
)
|
||||
|
||||
# Affiche les 5 derniers cours regardés avec leur progression
|
||||
return render(request, 'users/profile.html', {'latest_progress': latest_progress})
|
||||
|
||||
@login_required(login_url='login')
|
||||
def complete_profile(request):
|
||||
|
|
@ -130,9 +141,16 @@ def account_update(request):
|
|||
|
||||
@login_required(login_url='login')
|
||||
def my_courses(request):
|
||||
user_courses = Course.objects.filter(author=request.user.id)
|
||||
print(user_courses)
|
||||
return render(request, 'users/my_courses.html', {'user_courses' : user_courses})
|
||||
# Liste tous les cours suivis par l'utilisateur avec leur progression
|
||||
progress_list = (
|
||||
Progression.objects
|
||||
.filter(user=request.user)
|
||||
.select_related('course')
|
||||
.prefetch_related('completed_lessons')
|
||||
.order_by('-updated_at')
|
||||
)
|
||||
|
||||
return render(request, 'users/my_courses.html', {'progress_list': progress_list})
|
||||
|
||||
def create_post(request):
|
||||
# Implement post creation logic here
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue