From 3239a2e481a4c2a54d1942e2c397220b9599d342 Mon Sep 17 00:00:00 2001 From: Skia Date: Thu, 1 Sep 2016 16:55:43 +0200 Subject: [PATCH] Fix counter if no date of birth --- counter/templates/counter/counter_click.jinja | 3 + counter/views.py | 11 +- locale/fr/LC_MESSAGES/django.mo | Bin 33177 -> 33255 bytes locale/fr/LC_MESSAGES/django.po | 124 +++++++++--------- 4 files changed, 75 insertions(+), 63 deletions(-) diff --git a/counter/templates/counter/counter_click.jinja b/counter/templates/counter/counter_click.jinja index 73b9ecd0..0a2178ed 100644 --- a/counter/templates/counter/counter_click.jinja +++ b/counter/templates/counter/counter_click.jinja @@ -39,6 +39,9 @@ {% if request.session['not_allowed'] %}

{% trans %}Not allowed for that product{% endtrans %}

{% endif %} + {% if request.session['no_age'] %} +

{% trans %}No date of birth provided{% endtrans %}

+ {% endif %} {% if request.session['not_enough'] %}

{% trans %}Not enough money{% endtrans %}

{% endif %} diff --git a/counter/views.py b/counter/views.py index e356bed3..292abc95 100644 --- a/counter/views.py +++ b/counter/views.py @@ -121,9 +121,10 @@ class CounterClick(DetailView): if 'basket' not in request.session.keys(): # Init the basket session entry request.session['basket'] = {} request.session['basket_total'] = 0 - request.session['not_enough'] = False + request.session['not_enough'] = False # Reset every variable request.session['too_young'] = False request.session['not_allowed'] = False + request.session['no_age'] = False self.refill_form = None ret = super(CounterClick, self).get(request, *args, **kwargs) if ((self.object.type != "BAR" and not request.user.is_authenticated()) or @@ -144,9 +145,10 @@ class CounterClick(DetailView): if 'basket' not in request.session.keys(): request.session['basket'] = {} request.session['basket_total'] = 0 - request.session['not_enough'] = False + request.session['not_enough'] = False # Reset every variable request.session['too_young'] = False request.session['not_allowed'] = False + request.session['no_age'] = False if self.object.type != "BAR": self.operator = request.user elif self.is_barman_price(): @@ -228,7 +230,10 @@ class CounterClick(DetailView): if self.customer.amount < (total + q*float(price)): # Check for enough money request.session['not_enough'] = True return False - if self.customer.user.get_age() < product.limit_age: # Check if affordable + if product.limit_age >= 18 and not self.customer.user.date_of_birth: + request.session['no_age'] = True + return False + if self.customer.user.date_of_birth and self.customer.user.get_age() < product.limit_age: # Check if affordable request.session['too_young'] = True return False if pid in request.session['basket']: # Add if already in basket diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index 047fe3e933a50e73a5c6d462c3124f278ab1b451..dee8849dd5a2b1bb31a2c5e06671c113f373df03 100644 GIT binary patch delta 11554 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 delta 11469 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\n" "Language-Team: AE info \n" @@ -123,7 +123,7 @@ msgstr "numéro" msgid "journal" msgstr "classeur" -#: accounting/models.py:179 core/models.py:458 core/models.py:734 +#: accounting/models.py:179 core/models.py:458 core/models.py:736 #: counter/models.py:203 counter/models.py:246 counter/models.py:296 #: eboutic/models.py:15 eboutic/models.py:48 msgid "date" @@ -172,7 +172,7 @@ msgstr "Utilisateur" msgid "Club" msgstr "Club" -#: accounting/models.py:190 core/templates/core/user_base.jinja:49 +#: accounting/models.py:190 core/templates/core/user_base.jinja:51 msgid "Account" msgstr "Compte" @@ -325,7 +325,7 @@ msgstr "Nouveau compte club" #: accounting/templates/accounting/club_account_details.jinja:53 #: accounting/templates/accounting/journal_details.jinja:66 #: club/templates/club/club_detail.jinja:8 core/templates/core/file.jinja:38 -#: core/templates/core/page.jinja:31 core/templates/core/user_base.jinja:31 +#: core/templates/core/page.jinja:31 core/templates/core/user_base.jinja:33 #: core/templates/core/user_tools.jinja:33 #: counter/templates/counter/counter_list.jinja:20 #: launderette/templates/launderette/launderette_list.jinja:14 @@ -469,7 +469,7 @@ msgid "Done" msgstr "Effectué" #: accounting/templates/accounting/journal_details.jinja:34 -#: counter/views.py:561 +#: counter/views.py:566 msgid "Comment" msgstr "Commentaire" @@ -934,7 +934,7 @@ msgstr "Montrez vos statistiques de compte aux autres" msgid "file name" msgstr "nom du fichier" -#: core/models.py:450 core/models.py:583 +#: core/models.py:450 core/models.py:585 msgid "parent" msgstr "parent" @@ -946,11 +946,11 @@ msgstr "fichier" msgid "owner" msgstr "propriétaire" -#: core/models.py:453 core/models.py:589 +#: core/models.py:453 core/models.py:591 msgid "edit group" msgstr "groupe d'édition" -#: core/models.py:454 core/models.py:590 +#: core/models.py:454 core/models.py:592 msgid "view group" msgstr "groupe de vue" @@ -966,61 +966,61 @@ msgstr "type mime" msgid "size" msgstr "taille" -#: core/models.py:487 +#: core/models.py:489 msgid "Character '/' not authorized in name" msgstr "Le caractère '/' n'est pas autorisé dans les noms de fichier" -#: core/models.py:490 core/models.py:495 +#: core/models.py:492 core/models.py:497 msgid "Loop in folder tree" msgstr "Boucle dans l'arborescence des dossiers" -#: core/models.py:499 +#: core/models.py:501 msgid "You can not make a file be a children of a non folder file" msgstr "" "Vous ne pouvez pas mettre un fichier enfant de quelque chose qui n'est pas " "un dossier" -#: core/models.py:503 +#: core/models.py:505 msgid "Duplicate file" msgstr "Un fichier de ce nom existe déjà" -#: core/models.py:513 +#: core/models.py:515 msgid "You must provide a file" msgstr "Vous devez fournir un fichier" -#: core/models.py:538 +#: core/models.py:540 msgid "Folder: " msgstr "Dossier : " -#: core/models.py:540 +#: core/models.py:542 msgid "File: " msgstr "Fichier : " -#: core/models.py:582 core/models.py:586 +#: core/models.py:584 core/models.py:588 msgid "page name" msgstr "nom de la page" -#: core/models.py:587 +#: core/models.py:589 msgid "owner group" msgstr "groupe propriétaire" -#: core/models.py:618 +#: core/models.py:620 msgid "Duplicate page" msgstr "Une page de ce nom existe déjà" -#: core/models.py:624 +#: core/models.py:626 msgid "Loop in page tree" msgstr "Boucle dans l'arborescence des pages" -#: core/models.py:731 +#: core/models.py:733 msgid "revision" msgstr "révision" -#: core/models.py:732 +#: core/models.py:734 msgid "page title" msgstr "titre de la page" -#: core/models.py:733 +#: core/models.py:735 msgid "page content" msgstr "contenu de la page" @@ -1049,7 +1049,7 @@ msgstr "Connexion" msgid "Register" msgstr "S'enregister" -#: core/templates/core/base.jinja:25 core/templates/core/user_base.jinja:18 +#: core/templates/core/base.jinja:25 core/templates/core/user_base.jinja:19 msgid "Tools" msgstr "Outils" @@ -1127,7 +1127,7 @@ msgstr "Confirmation" #: core/templates/core/delete_confirm.jinja:14 #: core/templates/core/file_delete_confirm.jinja:14 -#: counter/templates/counter/counter_click.jinja:73 +#: counter/templates/counter/counter_click.jinja:76 msgid "Cancel" msgstr "Annuler" @@ -1504,11 +1504,11 @@ msgstr "Articles" msgid "User has no account" msgstr "L'utilisateur n'a pas de compte" -#: core/templates/core/user_base.jinja:24 +#: core/templates/core/user_base.jinja:26 msgid "Stats" msgstr "Stats" -#: core/templates/core/user_base.jinja:39 +#: core/templates/core/user_base.jinja:41 #: core/templates/core/user_tools.jinja:14 msgid "Groups" msgstr "Groupes" @@ -1621,7 +1621,7 @@ msgstr "Gestion de Sith" msgid "Subscriptions" msgstr "Cotisations" -#: core/templates/core/user_tools.jinja:22 counter/views.py:476 +#: core/templates/core/user_tools.jinja:22 counter/views.py:481 msgid "Counters" msgstr "Comptoirs" @@ -1658,7 +1658,7 @@ msgstr "Ajouter un nouveau dossier" msgid "Error creating folder %(folder_name)s: %(msg)s" msgstr "Erreur de création du dossier %(folder_name)s : %(msg)s" -#: core/views/files.py:61 core/views/forms.py:170 core/views/forms.py:174 +#: core/views/files.py:61 core/views/forms.py:171 core/views/forms.py:175 #, python-format msgid "Error uploading file %(file_name)s: %(msg)s" msgstr "Erreur d'envoie du fichier %(file_name)s : %(msg)s" @@ -1671,11 +1671,11 @@ msgstr "Choisir un fichier" msgid "Choose user" msgstr "Choisir un utilisateur" -#: core/views/forms.py:87 +#: core/views/forms.py:88 msgid "Username, email, or account number" msgstr "Nom d'utilisateur, email, ou numéro de compte AE" -#: core/views/forms.py:129 +#: core/views/forms.py:130 msgid "" "Profile: you need to be visible on the picture, in order to be recognized (e." "g. by the barmen)" @@ -1683,15 +1683,15 @@ msgstr "" "Photo de profil: vous devez être visible sur la photo afin d'être reconnu " "(par exemple par les barmen)" -#: core/views/forms.py:130 +#: core/views/forms.py:131 msgid "Avatar: used on the forum" msgstr "Avatar : utilisé sur le forum" -#: core/views/forms.py:131 +#: core/views/forms.py:132 msgid "Scrub: let other know how your scrub looks like!" msgstr "Blouse : montrez aux autres à quoi ressemble votre blouse !" -#: core/views/forms.py:175 +#: core/views/forms.py:176 msgid "Bad image format, only jpeg, png, and gif are accepted" msgstr "Mauvais format d'image, seuls les jpeg, png, et gif sont acceptés" @@ -1711,7 +1711,7 @@ msgstr "client" msgid "customers" msgstr "clients" -#: counter/models.py:44 counter/templates/counter/counter_click.jinja:43 +#: counter/models.py:44 counter/templates/counter/counter_click.jinja:46 msgid "Not enough money" msgstr "Solde insuffisant" @@ -1877,30 +1877,34 @@ msgstr "Trop jeune pour ce produit" msgid "Not allowed for that product" msgstr "Non autorisé pour ce produit" -#: counter/templates/counter/counter_click.jinja:49 -#: counter/templates/counter/counter_click.jinja:83 +#: counter/templates/counter/counter_click.jinja:43 +msgid "No date of birth provided" +msgstr "Pas de date de naissance renseigné" + +#: counter/templates/counter/counter_click.jinja:52 +#: counter/templates/counter/counter_click.jinja:86 #: launderette/templates/launderette/launderette_admin.jinja:35 #: launderette/templates/launderette/launderette_click.jinja:14 msgid "Go" msgstr "Valider" -#: counter/templates/counter/counter_click.jinja:51 +#: counter/templates/counter/counter_click.jinja:54 #: eboutic/templates/eboutic/eboutic_main.jinja:27 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:11 msgid "Basket: " msgstr "Panier : " -#: counter/templates/counter/counter_click.jinja:64 +#: counter/templates/counter/counter_click.jinja:67 #: counter/templates/counter/counter_main.jinja:28 #: eboutic/templates/eboutic/eboutic_main.jinja:34 msgid "Total: " msgstr "Total : " -#: counter/templates/counter/counter_click.jinja:68 +#: counter/templates/counter/counter_click.jinja:71 msgid "Finish" msgstr "Terminer" -#: counter/templates/counter/counter_click.jinja:77 +#: counter/templates/counter/counter_click.jinja:80 msgid "Refilling" msgstr "Rechargement" @@ -2002,77 +2006,77 @@ msgstr "Mauvais identifiants" msgid "User is not subscriber" msgstr "L'utilisateur n'est pas cotisant." -#: counter/views.py:260 +#: counter/views.py:265 msgid "END" msgstr "FIN" -#: counter/views.py:262 +#: counter/views.py:267 msgid "CAN" msgstr "ANN" -#: counter/views.py:292 +#: counter/views.py:297 msgid "You have not enough money to buy all the basket" msgstr "Vous n'avez pas assez d'argent pour acheter le panier" -#: counter/views.py:473 +#: counter/views.py:478 msgid "Parent product" msgstr "Produit parent" -#: counter/views.py:474 +#: counter/views.py:479 msgid "Buying groups" msgstr "Groupes d'achat" -#: counter/views.py:541 +#: counter/views.py:546 msgid "10 cents" msgstr "10 centimes" -#: counter/views.py:542 +#: counter/views.py:547 msgid "20 cents" msgstr "20 centimes" -#: counter/views.py:543 +#: counter/views.py:548 msgid "50 cents" msgstr "50 centimes" -#: counter/views.py:544 +#: counter/views.py:549 msgid "1 euro" msgstr "1 €" -#: counter/views.py:545 +#: counter/views.py:550 msgid "2 euros" msgstr "2 €" -#: counter/views.py:546 +#: counter/views.py:551 msgid "5 euros" msgstr "5 €" -#: counter/views.py:547 +#: counter/views.py:552 msgid "10 euros" msgstr "10 €" -#: counter/views.py:548 +#: counter/views.py:553 msgid "20 euros" msgstr "20 €" -#: counter/views.py:549 +#: counter/views.py:554 msgid "50 euros" msgstr "50 €" -#: counter/views.py:550 +#: counter/views.py:555 msgid "100 euros" msgstr "100 €" -#: counter/views.py:551 counter/views.py:553 counter/views.py:555 -#: counter/views.py:557 counter/views.py:559 +#: counter/views.py:556 counter/views.py:558 counter/views.py:560 +#: counter/views.py:562 counter/views.py:564 msgid "Check amount" msgstr "Montant du chèque" -#: counter/views.py:552 counter/views.py:554 counter/views.py:556 -#: counter/views.py:558 counter/views.py:560 +#: counter/views.py:557 counter/views.py:559 counter/views.py:561 +#: counter/views.py:563 counter/views.py:565 msgid "Check quantity" msgstr "Nombre de chèque" -#: counter/views.py:562 +#: counter/views.py:567 msgid "Emptied" msgstr "Coffre vidé"