diff --git a/kfet/forms.py b/kfet/forms.py index 2b59e1b3..2418c840 100644 --- a/kfet/forms.py +++ b/kfet/forms.py @@ -74,8 +74,11 @@ class AccountRestrictForm(AccountForm): class AccountPwdForm(forms.Form): pwd1 = forms.CharField( + label="Mot de passe K-Fêt", + help_text="Le mot de passe doit contenir au moins huit caractères", widget=forms.PasswordInput) pwd2 = forms.CharField( + label="Confirmer le mot de passe", widget=forms.PasswordInput) def clean(self): @@ -128,6 +131,7 @@ class UserRestrictTeamForm(UserForm): class UserGroupForm(forms.ModelForm): groups = forms.ModelMultipleChoiceField( Group.objects.filter(name__icontains='K-Fêt'), + label='Statut équipe', required=False) def clean_groups(self): @@ -235,16 +239,20 @@ class CheckoutStatementUpdateForm(forms.ModelForm): class ArticleForm(forms.ModelForm): category_new = forms.CharField( + label="Créer une catégorie", max_length=45, required = False) category = forms.ModelChoiceField( + label="Catégorie", queryset = ArticleCategory.objects.all(), required = False) suppliers = forms.ModelMultipleChoiceField( + label="Fournisseurs", queryset = Supplier.objects.all(), required = False) supplier_new = forms.CharField( + label="Créer un fournisseur", max_length = 45, required = False) @@ -478,9 +486,7 @@ class OrderArticleForm(forms.Form): queryset=Article.objects.all(), widget=forms.HiddenInput(), ) - quantity_ordered = forms.IntegerField( - required=False, - widget=forms.NumberInput(attrs={'class': 'form-control'})) + quantity_ordered = forms.IntegerField(required=False) def __init__(self, *args, **kwargs): super(OrderArticleForm, self).__init__(*args, **kwargs) @@ -507,18 +513,14 @@ class OrderArticleToInventoryForm(forms.Form): ) price_HT = forms.DecimalField( max_digits = 7, decimal_places = 4, - required = False, - widget=forms.NumberInput(attrs={'class': 'form-control'})) + required = False) TVA = forms.DecimalField( max_digits = 7, decimal_places = 2, - required = False, - widget=forms.NumberInput(attrs={'class': 'form-control'})) + required = False) rights = forms.DecimalField( max_digits = 7, decimal_places = 4, - required = False, - widget=forms.NumberInput(attrs={'class': 'form-control'})) - quantity_received = forms.IntegerField( - widget=forms.NumberInput(attrs={'class': 'form-control'})) + required = False) + quantity_received = forms.IntegerField() def __init__(self, *args, **kwargs): super(OrderArticleToInventoryForm, self).__init__(*args, **kwargs) diff --git a/kfet/models.py b/kfet/models.py index b4af61c1..29ae57b6 100644 --- a/kfet/models.py +++ b/kfet/models.py @@ -40,7 +40,7 @@ class Account(models.Model): balance = models.DecimalField( max_digits = 6, decimal_places = 2, default = 0) - is_frozen = models.BooleanField(default = False) + is_frozen = models.BooleanField("est gelé", default = False) created_at = models.DateTimeField(auto_now_add = True, null = True) # Optional PROMO_CHOICES = [(r,r) for r in range(1980, date.today().year+1)] @@ -48,6 +48,7 @@ class Account(models.Model): choices = PROMO_CHOICES, blank = True, null = True, default = default_promo()) nickname = models.CharField( + "surnom(s)", max_length = 255, blank = True, default = "") password = models.CharField( @@ -224,14 +225,18 @@ class AccountNegative(models.Model): start = models.DateTimeField( blank = True, null = True, default = None) balance_offset = models.DecimalField( + "décalage de balance", + help_text="Montant non compris dans l'autorisation de négatif", max_digits = 6, decimal_places = 2, blank = True, null = True, default = None) authz_overdraft_amount = models.DecimalField( + "négatif autorisé", max_digits = 6, decimal_places = 2, blank = True, null = True, default = None) authz_overdraft_until = models.DateTimeField( + "expiration du négatif", blank = True, null = True, default = None) - comment = models.CharField(max_length = 255, blank = True) + comment = models.CharField("commentaire", max_length = 255, blank = True) @python_2_unicode_compatible class Checkout(models.Model): @@ -273,29 +278,35 @@ class CheckoutStatement(models.Model): checkout = models.ForeignKey( Checkout, on_delete = models.PROTECT, related_name = "statements") - balance_old = models.DecimalField(max_digits = 6, decimal_places = 2) - balance_new = models.DecimalField(max_digits = 6, decimal_places = 2) - amount_taken = models.DecimalField(max_digits = 6, decimal_places = 2) - amount_error = models.DecimalField(max_digits = 6, decimal_places = 2) + balance_old = models.DecimalField("ancienne balance", + max_digits = 6, decimal_places = 2) + balance_new = models.DecimalField("nouvelle balance", + max_digits = 6, decimal_places = 2) + amount_taken = models.DecimalField("montant pris", + max_digits = 6, decimal_places = 2) + amount_error = models.DecimalField("montant de l'erreur", + max_digits = 6, decimal_places = 2) at = models.DateTimeField(auto_now_add = True) - not_count = models.BooleanField(default=False) + not_count = models.BooleanField("caisse non comptée", default=False) - taken_001 = models.PositiveSmallIntegerField(default=0) - taken_002 = models.PositiveSmallIntegerField(default=0) - taken_005 = models.PositiveSmallIntegerField(default=0) - taken_01 = models.PositiveSmallIntegerField(default=0) - taken_02 = models.PositiveSmallIntegerField(default=0) - taken_05 = models.PositiveSmallIntegerField(default=0) - taken_1 = models.PositiveSmallIntegerField(default=0) - taken_2 = models.PositiveSmallIntegerField(default=0) - taken_5 = models.PositiveSmallIntegerField(default=0) - taken_10 = models.PositiveSmallIntegerField(default=0) - taken_20 = models.PositiveSmallIntegerField(default=0) - taken_50 = models.PositiveSmallIntegerField(default=0) - taken_100 = models.PositiveSmallIntegerField(default=0) - taken_200 = models.PositiveSmallIntegerField(default=0) - taken_500 = models.PositiveSmallIntegerField(default=0) - taken_cheque = models.DecimalField(default=0, max_digits=6, decimal_places=2) + taken_001 = models.PositiveSmallIntegerField("pièces de 1¢", default=0) + taken_002 = models.PositiveSmallIntegerField("pièces de 2¢", default=0) + taken_005 = models.PositiveSmallIntegerField("pièces de 5¢", default=0) + taken_01 = models.PositiveSmallIntegerField("pièces de 10¢", default=0) + taken_02 = models.PositiveSmallIntegerField("pièces de 20¢", default=0) + taken_05 = models.PositiveSmallIntegerField("pièces de 50¢", default=0) + taken_1 = models.PositiveSmallIntegerField("pièces de 1€", default=0) + taken_2 = models.PositiveSmallIntegerField("pièces de 2€", default=0) + taken_5 = models.PositiveSmallIntegerField("billets de 5€", default=0) + taken_10 = models.PositiveSmallIntegerField("billets de 10€", default=0) + taken_20 = models.PositiveSmallIntegerField("billets de 20€", default=0) + taken_50 = models.PositiveSmallIntegerField("billets de 50€", default=0) + taken_100 = models.PositiveSmallIntegerField("billets de 100€", default=0) + taken_200 = models.PositiveSmallIntegerField("billets de 200€", default=0) + taken_500 = models.PositiveSmallIntegerField("billets de 500€", default=0) + taken_cheque = models.DecimalField( + "montant des chèques", + default=0, max_digits=6, decimal_places=2) def __str__(self): return '%s %s' % (self.checkout, self.at) @@ -336,19 +347,21 @@ class ArticleCategory(models.Model): @python_2_unicode_compatible class Article(models.Model): - name = models.CharField(max_length = 45) - is_sold = models.BooleanField(default = True) - hidden = models.BooleanField(default=False, + name = models.CharField("nom", max_length = 45) + is_sold = models.BooleanField("en vente", default = True) + hidden = models.BooleanField("caché", + default=False, help_text="Si oui, ne sera pas affiché " "au public ; par exemple " "sur la carte.") price = models.DecimalField( + "prix", max_digits = 6, decimal_places = 2, default = 0) stock = models.IntegerField(default = 0) category = models.ForeignKey( ArticleCategory, on_delete = models.PROTECT, - related_name = "articles") + related_name = "articles", verbose_name='catégorie') BOX_TYPE_CHOICES = ( ("caisse", "caisse"), ("carton", "carton"), @@ -356,10 +369,12 @@ class Article(models.Model): ("fût", "fût"), ) box_type = models.CharField( + "type de contenant", choices = BOX_TYPE_CHOICES, max_length = choices_length(BOX_TYPE_CHOICES), blank = True, null = True, default = None) box_capacity = models.PositiveSmallIntegerField( + "capacité du contenant", blank = True, null = True, default = None) def __str__(self): @@ -417,11 +432,11 @@ class Supplier(models.Model): Article, through = 'SupplierArticle', related_name = "suppliers") - name = models.CharField(max_length = 45) - address = models.TextField() - email = models.EmailField() - phone = models.CharField(max_length = 10) - comment = models.TextField() + name = models.CharField("nom", max_length = 45) + address = models.TextField("adresse") + email = models.EmailField("adresse mail") + phone = models.CharField("téléphone", max_length = 10) + comment = models.TextField("commentaire") def __str__(self): return self.name diff --git a/kfet/templates/kfet/article_create.html b/kfet/templates/kfet/article_create.html index 742756b2..71672f8c 100644 --- a/kfet/templates/kfet/article_create.html +++ b/kfet/templates/kfet/article_create.html @@ -1,17 +1,27 @@ {% extends 'kfet/base.html' %} +{% load widget_tweaks %} +{% load staticfiles %} {% block title %}Nouvel article{% endblock %} {% block content-header-title %}Création d'un article{% endblock %} {% block content %} -
+{% include "kfet/base_messages.html" %} + +Chèque: