diff --git a/main/views.py b/main/views.py index 9b36319..7b261a5 100644 --- a/main/views.py +++ b/main/views.py @@ -55,27 +55,29 @@ def coureur_autocomplete(request): @login_required def main_view(request): - """Page d'accueil listant les courses de l'utilisateur. - Permet aussi la création AJAX de nouvelles courses.""" - courses = Course.objects.filter(owner=request.user) - - if request.method == 'POST' and request.headers.get('x-requested-with') == 'XMLHttpRequest': - nom = request.POST.get('nom') - date = timezone.localdate() - if not nom: - return JsonResponse({'success': False, 'error': "Le nom de la course est requis."}) - if Course.objects.filter(nom=nom, date=date).exists(): - return JsonResponse({'success': False, 'error': "Une course avec ce nom existe déjà aujourd'hui."}) - course = Course.objects.create(nom=nom, date=date, owner=request.user) - return JsonResponse({'success': True, 'course_id': course.id}) - - form = CourseForm() - return render(request, 'main.html', { - 'title': 'Accueil', - 'courses': courses, - 'form': form, - 'now': timezone.localdate() - }) + """Page d'accueil listant les courses de l'utilisateur. + Permet aussi la création AJAX de nouvelles courses.""" + courses = Course.objects.filter(owner=request.user) + if request.method == 'POST' and request.headers.get('x-requested-with') == 'XMLHttpRequest': + nom = request.POST.get('nom') + type_ = request.POST.get('type', 'unique') + date = timezone.localdate() + if not nom: + return JsonResponse({'success': False, 'error': "Le nom de la course est requis."}) + if type_ not in ['unique', 'multi']: + return JsonResponse({'success': False, 'error': "Type de course invalide."}) + if Course.objects.filter(nom=nom, date=date).exists(): + return JsonResponse({'success': False, 'error': "Une course avec ce nom existe déjà aujourd'hui."}) + course = Course.objects.create(nom=nom, date=date, type=type_, owner=request.user) + return JsonResponse({'success': True, 'course_id': course.id}) + + form = CourseForm() + return render(request, 'main.html', { + 'title': 'Accueil', + 'courses': courses, + 'form': form, + 'now': timezone.localdate() + }) @login_required @require_POST