Browse Source

gestion de la création de course multi tours

master
scayac 2 months ago
parent
commit
fbecf202d4
  1. 44
      main/views.py

44
main/views.py

@ -55,27 +55,29 @@ def coureur_autocomplete(request): @@ -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

Loading…
Cancel
Save