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

Loading…
Cancel
Save