from django import forms from .models import Course from django.utils import timezone class CourseForm(forms.ModelForm): class Meta: model = Course fields = ['nom'] def save(self, commit=True): instance = super().save(commit=False) instance.date = timezone.localdate() if commit: instance.save() return instance def clean(self): cleaned_data = super().clean() nom = cleaned_data.get('nom') date = timezone.localdate() if Course.objects.filter(nom=nom, date=date).exists(): raise forms.ValidationError("Une course avec ce nom existe déjà aujourd'hui.") return cleaned_data class DossardForm(forms.Form): csv_file = forms.FileField(label="Fichier CSV (nom;classe)") rows = forms.IntegerField(label="Étiquettes par colonne", min_value=1, initial=2) cols = forms.IntegerField(label="Étiquettes par ligne", min_value=1, initial=2) class ScanForm(forms.Form): course_id = forms.IntegerField(widget=forms.HiddenInput) qrcode = forms.CharField(max_length=200)