diff --git a/gestion/forms.py b/gestion/forms.py index 5aa0af7..20822bc 100644 --- a/gestion/forms.py +++ b/gestion/forms.py @@ -42,9 +42,9 @@ class ProductForm(forms.ModelForm): fields = "__all__" widgets = {'amount': forms.TextInput} -class KegForm(forms.ModelForm): +class CreateKegForm(forms.ModelForm): """ - A form to create and edit a :class:`~gestion.models.Keg`. + A form to create a :class:`~gestion.models.Keg`. """ class Meta: @@ -52,7 +52,7 @@ class KegForm(forms.ModelForm): fields = ["name", "stockHold", "amount", "capacity"] widgets = {'amount': forms.TextInput} - category = forms.ModelChoiceField(queryset=Category.objects.all(), label="Catégorie") + category = forms.ModelChoiceField(queryset=Category.objects.all(), label="Catégorie", help_text="Catégorie dans laquelle placer les produits pinte, demi (et galopin si besoin).") deg = forms.DecimalField(max_digits=5, decimal_places=2, label="Degré", validators=[MinValueValidator(0)]) create_galopin = forms.BooleanField(required=False, label="Créer le produit galopin ?") @@ -61,6 +61,21 @@ class KegForm(forms.ModelForm): if cleaned_data.get("name")[0:4] != "Fût ": raise ValidationError("Le nom du fût doit être sous la forme 'Fût nom de la bière'") +class EditKegForm(forms.ModelForm): + """ + A form to edit a :class:`~gestion.models.Keg`. + """ + + class Meta: + model = Keg + fields = ["name", "stockHold", "amount", "capacity", "pinte", "demi", "galopin"] + widgets = {'amount': forms.TextInput} + + def clean(self): + cleaned_data = super().clean() + if cleaned_data.get("name")[0:4] != "Fût ": + raise ValidationError("Le nom du fût doit être sous la forme 'Fût nom de la bière'") + class MenuForm(forms.ModelForm): """ A form to create and edit a :class:`~gestion.models.Menu`. diff --git a/gestion/views.py b/gestion/views.py index cb2d353..860eb7c 100644 --- a/gestion/views.py +++ b/gestion/views.py @@ -22,7 +22,7 @@ from decimal import * import os from math import floor, ceil -from .forms import ReloadForm, RefundForm, ProductForm, KegForm, MenuForm, GestionForm, SearchMenuForm, SearchProductForm, SelectPositiveKegForm, SelectActiveKegForm, PinteForm, GenerateReleveForm, CategoryForm, SearchCategoryForm, GenerateInvoiceForm, ComputePriceForm +from .forms import ReloadForm, RefundForm, ProductForm, CreateKegForm, EditKegForm, MenuForm, GestionForm, SearchMenuForm, SearchProductForm, SelectPositiveKegForm, SelectActiveKegForm, PinteForm, GenerateReleveForm, CategoryForm, SearchCategoryForm, GenerateInvoiceForm, ComputePriceForm from .models import Product, Menu, Keg, ConsumptionHistory, KegHistory, Consumption, MenuHistory, Pinte, Reload, Refund, Category from users.models import School from preferences.models import PaymentMethod, GeneralPreferences, Cotisation, DivideHistory, PriceProfile @@ -515,9 +515,9 @@ def stocks(request): @permission_required('gestion.add_keg') def addKeg(request): """ - Displays a :class:`gestion.forms.KegForm` to add a :class:`gestion.models.Keg`. + Displays a :class:`gestion.forms.CreateKegForm` to add a :class:`gestion.models.Keg`. """ - form = KegForm(request.POST or None) + form = CreateKegForm(request.POST or None) if form.is_valid(): try: price_profile = PriceProfile.objects.get(use_for_draft=True) @@ -588,13 +588,13 @@ def addKeg(request): @permission_required('gestion.change_keg') def editKeg(request, pk): """ - Displays a :class:`gestion.forms.KegForm` to edit a :class:`gestion.models.Keg`. + Displays a :class:`gestion.forms.EditKegForm` to edit a :class:`gestion.models.Keg`. pk The primary key of the :class:`gestion.models.Keg` to edit. """ keg = get_object_or_404(Keg, pk=pk) - form = KegForm(request.POST or None, instance=keg) + form = EditKegForm(request.POST or None, instance=keg) if(form.is_valid()): form.save() messages.success(request, "Le fût a bien été modifié")