Browse Source

Divide keg forms

pull/18/head
Yoann Piétri 6 years ago
parent
commit
2718884b77
  1. 21
      gestion/forms.py
  2. 10
      gestion/views.py

21
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`.

10
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é")

Loading…
Cancel
Save