8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-25 22:22:26 +00:00

Fix #100 : validation des factures plus explicite

This commit is contained in:
lebouder 2018-05-10 22:28:27 +02:00
parent 05bc645a65
commit f88597967d
4 changed files with 284 additions and 314 deletions

View file

@ -21,7 +21,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2.5\n" "Project-Id-Version: 2.5\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-31 14:05+0000\n" "POT-Creation-Date: 2018-05-10 15:21-0500\n"
"PO-Revision-Date: 2018-03-31 16:09+0002\n" "PO-Revision-Date: 2018-03-31 16:09+0002\n"
"Last-Translator: Maël Kervella <dev@maelkervella.eu>\n" "Last-Translator: Maël Kervella <dev@maelkervella.eu>\n"
"Language-Team: \n" "Language-Team: \n"
@ -30,114 +30,69 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: acl.py:41 #: acl.py:45
msgid "You don't have the rights to see this application." msgid "You don't have the rights to see this application."
msgstr "Vous n'avez pas les droits de voir cette application." msgstr "Vous n'avez pas les droits de voir cette application."
#: forms.py:63 cotisations/forms.py:298 cotisations/models.py:86 #: forms.py:63 forms.py:321
msgid "Cheque number" msgid "Cheque number"
msgstr "Numéro de chèque" msgstr "Numéro de chèque"
#: forms.py:64 cotisations/forms.py:299 #: forms.py:64 forms.py:322
msgid "Not specified" msgid "Not specified"
msgstr "Non renseigné" msgstr "Non renseigné"
#: forms.py:66 cotisations/forms.py:301 #: forms.py:66 forms.py:324
msgid "Select a payment method" msgid "Select a payment method"
msgstr "Sélectionnez un moyen de paiement" msgstr "Sélectionnez un moyen de paiement"
#: forms.py:83, cotisations/forms.py:325 #: forms.py:83 forms.py:347
msgid "A payment method must be specified." msgid "A payment method must be specified."
msgstr "Un moyen de paiement doit être renseigné." msgstr "Un moyen de paiement doit être renseigné."
#: forms.py:87, cotisations/forms.py:330 #: forms.py:87 forms.py:352
msgid "A cheque number and a bank must be specified." msgid "A cheque number and a bank must be specified."
msgstr "Un numéro de chèqe et une banque doivent être renseignés." msgstr "Un numéro de chèqe et une banque doivent être renseignés."
#: forms.py:114 cotisations/forms.py:129 cotisations/forms.py:144 #: forms.py:184
#: models.py:243
#: templates/cotisations/aff_article.html:31
#: templates/cotisations/new_facture.html:50
#: templates/cotisations/new_facture_solde.html:44
msgid "Article"
msgstr "Article"
#: forms.py:118 cotisations/forms.py:133 cotisations/forms.py:147
#: templates/cotisations/edit_facture.html:46
msgid "Quantity"
msgstr "Quantité"
#: forms.py:150
msgid "Paid"
msgstr "Payé"
#: forms.py:152
msgid "Recipient"
msgstr "Destinataire"
#: forms.py:154
msgid "Address"
msgstr "Adresse"
#: forms.py:159
msgid "Invoice number"
msgstr "Numéro de facture"
#: forms.py:174 cotisations/models.py:403
msgid "Member" msgid "Member"
msgstr "Adhérent" msgstr "Adhérent"
#: forms.py:176 #: forms.py:186
msgid "Select the proprietary member" msgid "Select the proprietary member"
msgstr "Sélectionnez l'adhérent propriétaire" msgstr "Sélectionnez l'adhérent propriétaire"
#: forms.py:177 #: forms.py:187
msgid "Validated invoice" msgid "Validated invoice"
msgstr "Facture validée" msgstr "Facture validée"
#: forms.py:190 #: forms.py:201
msgid "Article name" msgid "Article name"
msgstr "Nom de l'article" msgstr "Nom de l'article"
#: forms.py:199 #: forms.py:239
msgid "Existing articles"
msgstr "Articles disponibles"
#: forms.py:225
msgid "Payment method name" msgid "Payment method name"
msgstr "Nom du moyen de paiement" msgstr "Nom du moyen de paiement"
#: forms.py:226 cotisations/models.py:505 #: forms.py:240
msgid "Payment type" msgid "Payment type"
msgstr "Type de paiement" msgstr "Type de paiement"
#: forms.py:228 #: forms.py:242
msgid "" msgid ""
"The payement type is used for specific behaviour. The \"cheque\" " "The payement type is used for specific behaviour. The \"cheque\" "
"type means a cheque number and a bank name may be added when " "type means a cheque number and a bank name may be added when "
"using this payment method." "using this payment method."
msgstr "" msgstr ""
"Le type de paiement est utilisé pour des comportements spécifiques. Le type " "Le type de paiement est utilisé pour des comportements spécifiques. Le type "
"\"chèque\" permet de spécifier un numéro de chèque et une banque lors de " "\"chèque\" permet de spécifier un numéro de chèque et une banque lors de "
" l'utilisation de cette méthode." "l'utilisation de cette méthode."
#: forms.py:241 #: forms.py:282
msgid "Existing payment method"
msgstr "Moyen de paiements disponibles"
#: forms.py:266
msgid "Bank name" msgid "Bank name"
msgstr "Nom de la banque" msgstr "Nom de la banque"
#: forms.py:276 #: forms.py:380
msgid "Existing banks"
msgstr "Banques disponibles"
#: forms.py:337 cotisations/models.py:238
msgid "Amount"
msgstr "Montant"
#: forms.py:350
#, python-format #, python-format
msgid "" msgid ""
"Requested amount is too small. Minimum amount possible : " "Requested amount is too small. Minimum amount possible : "
@ -146,7 +101,7 @@ msgstr ""
"Montant demandé est trop faible. Montant minimal possible : " "Montant demandé est trop faible. Montant minimal possible : "
"%(min_online_amount)s €" "%(min_online_amount)s €"
#: forms.py:359 #: forms.py:390
#, python-format #, python-format
msgid "" msgid ""
"Requested amount is too high. Your balance can't exceed " "Requested amount is too high. Your balance can't exceed "
@ -155,150 +110,67 @@ msgstr ""
"Montant demandé trop grand. Votre solde ne peut excéder " "Montant demandé trop grand. Votre solde ne peut excéder "
"%(max_online_balance)s €" "%(max_online_balance)s €"
#: models.py:90 #: models.py:165 models.py:213
#: templates/cotisations/aff_cotisations.html:47
#: templates/cotisations/control.html:67
msgid "Date"
msgstr "Date"
#: models.py:95
#: templates/cotisations/control.html:71
msgid "Validated"
msgstr "Validé"
#: models.py:100
#: templates/cotisations/control.html:75
msgid "Controlled"
msgstr "Controllé"
#: models.py:107
msgid "Can change the \"controlled\" state"
msgstr "Peut modifier l'état \"controllé\""
#: models.py:109
msgid "Can create a custom PDF invoice"
msgstr "Peut crée une facture PDF personnalisée"
#: models.py:110
msgid "Can see an invoice's details"
msgstr "Peut voir les détails d'une facture"
#: models.py:111
msgid "Can edit all the previous invoices"
msgstr "Peut modifier toutes les factures existantes"
#: models.py:113 cotisations/models.py:233
msgid "Invoice"
msgstr "Facture"
#: models.py:114
#: templates/cotisations/index.html:29 templates/cotisations/sidebar.html:40
msgid "Invoices"
msgstr "Factures"
#: models.py:152 cotisations/models.py:186
msgid "You don't have the right to edit an invoice." msgid "You don't have the right to edit an invoice."
msgstr "Vous n'avez pas le droit de modifier une facture." msgstr "Vous n'avez pas le droit de modifier une facture."
#: models.py:154 #: models.py:168
msgid "You don't have the right to edit this user's invoices." msgid "You don't have the right to edit this user's invoices."
msgstr "Vous n'avez pas le droit de modifier les facture de cette utilisateur." msgstr "Vous n'avez pas le droit de modifier les facture de cette utilisateur."
#: models.py:157 #: models.py:172
msgid "" msgid ""
"You don't have the right to edit an invoice already controlled or " "You don't have the right to edit an invoice already controlled or "
"invalidated." "invalidated."
msgstr "" msgstr ""
"Vous n'avez pas le droit de modifier une facture précedement controllée " "Vous n'avez pas le droit de modifier une facture précedement controllée ou "
"ou invalidée." "invalidée."
#: models.py:163 #: models.py:179
msgid "You don't have the right to delete an invoice." msgid "You don't have the right to delete an invoice."
msgstr "Vous n'avez pas le droit de supprimer une facture." msgstr "Vous n'avez pas le droit de supprimer une facture."
#: models.py:165 #: models.py:181
msgid "You don't have the right to delete this user's invoices." msgid "You don't have the right to delete this user's invoices."
msgstr "Vous n'avez pas le droit de supprimer les factures de cet utilisateur." msgstr "Vous n'avez pas le droit de supprimer les factures de cet utilisateur."
#: models.py:167 #: models.py:184
msgid "" msgid ""
"You don't have the right to delete an invoice already controlled or " "You don't have the right to delete an invoice already controlled or "
"invalidated." "invalidated."
msgstr "" msgstr ""
"Vous n'avez pas le droit de supprimer une facture précedement controllée " "Vous n'avez pas le droit de supprimer une facture précedement controllée ou "
"ou invalidée." "invalidée."
#: models.py:174 #: models.py:192
msgid "You don't have the right to see someone else's invoices history." msgid "You don't have the right to see someone else's invoices history."
msgstr "" msgstr ""
"Vous n'avez pas le droit de voir l'historique de la facture de " "Vous n'avez pas le droit de voir l'historique de la facture de quelqu'un "
"quelqu'un d'autre." "d'autre."
#: models.py:176 #: models.py:195
msgid "The invoice has been invalidated." msgid "The invoice has been invalidated."
msgstr "La facture a été invalidée." msgstr "La facture a été invalidée."
#: models.py:182 #: models.py:205
msgid "You don't have the right to edit the controlled state." #, fuzzy
#| msgid "You don't have the right to edit the controlled state."
msgid "You don't have the right to edit the \"controlled\" state."
msgstr "Vous n'avez pas le droit de modifier l'état \"controllé\"." msgstr "Vous n'avez pas le droit de modifier l'état \"controllé\"."
#: models.py:224 cotisations/models.py:409 #: models.py:372
#: models.py:536
msgid "Connexion"
msgstr "Connexion"
#: models.py:225 cotisations/models.py:410
msgid "Membership"
msgstr "Adhésion"
#: models.py:226 cotisations/models.py:405
#: models.py:411 cotisations/models.py:538
msgid "Both of them"
msgstr "Les deux"
#: models.py:250
#: templates/cotisations/aff_article.html:32
msgid "Price"
msgstr "Prix"
#: models.py:255 cotisations/models.py:428
msgid "Duration (in whole month)"
msgstr "Durée (en mois entiers)"
#: models.py:263 cotisations/models.py:442
#: models.py:552
msgid "Type of cotisation"
msgstr "Type de cotisation"
#: models.py:268
msgid "Can see a purchase's details"
msgstr "Peut voir les détails d'un achat"
#: models.py:269
msgid "Can edit all the previous purchases"
msgstr "Peut voir les achats existants"
#: models.py:271 cotisations/models.py:546
msgid "Purchase"
msgstr "Achat"
#: models.py:272
msgid "Purchases"
msgstr "Achat"
#: models.py:328
msgid "A cotisation should always have a duration." msgid "A cotisation should always have a duration."
msgstr "Une cotisation devrait toujours avoir une durée." msgstr "Une cotisation devrait toujours avoir une durée."
#: models.py:335 #: models.py:379
msgid "You don't have the right to edit the purchases." msgid "You don't have the right to edit the purchases."
msgstr "Vous n'avez pas le droit de modifier les achats." msgstr "Vous n'avez pas le droit de modifier les achats."
#: models.py:337 #: models.py:384
msgid "You don't have the right to edit this user's purchases." msgid "You don't have the right to edit this user's purchases."
msgstr "Vous n'avez pas le droit de modifier les achats de cet utilisateur." msgstr "Vous n'avez pas le droit de modifier les achats de cet utilisateur."
#: models.py:340 #: models.py:388
msgid "" msgid ""
"You don't have the right to edit a purchase already controlled or " "You don't have the right to edit a purchase already controlled or "
"invalidated." "invalidated."
@ -306,15 +178,15 @@ msgstr ""
"Vous n'avez pas le droit de modifier un achat précédement controllé ou " "Vous n'avez pas le droit de modifier un achat précédement controllé ou "
"invalidé." "invalidé."
#: models.py:346 #: models.py:395
msgid "You don't have the right to delete a purchase." msgid "You don't have the right to delete a purchase."
msgstr "Vous n'avez pas le droit de supprimer un achat." msgstr "Vous n'avez pas le droit de supprimer un achat."
#: models.py:348 #: models.py:397
msgid "You don't have the right to delete this user's purchases." msgid "You don't have the right to delete this user's purchases."
msgstr "Vous n'avez pas le droit de supprimer les achats de cet utilisateur." msgstr "Vous n'avez pas le droit de supprimer les achats de cet utilisateur."
#: models.py:350 #: models.py:400
msgid "" msgid ""
"You don't have the right to delete a purchase already controlled or " "You don't have the right to delete a purchase already controlled or "
"invalidated." "invalidated."
@ -322,113 +194,29 @@ msgstr ""
"Vous n'avez pas le droit de supprimer un achat précédement controllé ou " "Vous n'avez pas le droit de supprimer un achat précédement controllé ou "
"invalidé." "invalidé."
#: models.py:357 #: models.py:408
msgid "You don't have the right to see someone else's purchase history." msgid "You don't have the right to see someone else's purchase history."
msgstr "Vous n'avez pas le droit de voir l'historique d'un achat de quelqu'un d'autre." msgstr ""
"Vous n'avez pas le droit de voir l'historique d'un achat de quelqu'un "
"d'autre."
#: models.py:404 #: models.py:517
msgid "Club"
msgstr "Club"
#: models.py:416
#: templates/cotisations/aff_cotisations.html:40
#: templates/cotisations/control.html:60
#: templates/cotisations/edit_facture.html:45
msgid "Designation"
msgstr "Désignation"
#: models.py:422
msgid "Unitary price"
msgstr "Prix unitaire"
#: models.py:434
msgid "Type of users concerned"
msgstr "Type d'utilisateurs concernés"
#: models.py:449
msgid "Can see an article's details"
msgstr "Peut voir les détails d'un article"
#: models.py:457
msgid "Solde is a reserved article name" msgid "Solde is a reserved article name"
msgstr "Solde est un nom d'article réservé" msgstr "Solde est un nom d'article réservé"
#: models.py:461 #: models.py:521
msgid "Duration must be specified for a cotisation" msgid "Duration must be specified for a cotisation"
msgstr "La durée doit être spécifiée pour une cotisation" msgstr "La durée doit être spécifiée pour une cotisation"
#: models.py:474 #: models.py:603
msgid "Name"
msgstr "Nom"
#: models.py:479
msgid "Can see a bank's details"
msgstr "Peut voir les détails d'une banque"
#: models.py:481
#: templates/cotisations/aff_banque.html:31
msgid "Bank"
msgstr "Banque"
#: models.py:482
#: templates/cotisations/index_banque.html:30
#: templates/cotisations/sidebar.html:50
msgid "Banks"
msgstr "Banques"
#: models.py:493
msgid "Standard"
msgstr "Standard"
#: models.py:494
msgid "Cheque"
msgstr "Chèque"
#: models.py:500
msgid "Method"
msgstr "Moyen"
#: models.py:510
msgid "Can see a payement's details"
msgstr "Peut voir les détails d'un paiement"
#: models.py:512
#: templates/cotisations/aff_cotisations.html:43
#: templates/cotisations/aff_paiement.html:31
#: templates/cotisations/control.html:63
msgid "Payment method"
msgstr "Moyen de paiement"
#: models.py:513
#: templates/cotisations/sidebar.html:55
msgid "Payment methods"
msgstr "Moyens de paiement"
#: models.py:526
msgid "You cannot have multiple payment method of type cheque" msgid "You cannot have multiple payment method of type cheque"
msgstr "Vous ne pouvez avoir plusieurs moyens de paiement de type chèque" msgstr "Vous ne pouvez avoir plusieurs moyens de paiement de type chèque"
#: models.py:555 #: models.py:654
msgid "Starting date"
msgstr "Date de début"
#: models.py:558
msgid "Ending date"
msgstr "Date de fin"
#: models.py:563
msgid "Can see a cotisation's details"
msgstr "Peut voir les détails d'une cotisation"
#: models.py:564
msgid "Can edit the previous cotisations"
msgstr "Peut voir les cotisations existantes"
#: models.py:569
msgid "You don't have the right to edit a cotisation." msgid "You don't have the right to edit a cotisation."
msgstr "Vous n'avez pas le droit de modifier une cotisation." msgstr "Vous n'avez pas le droit de modifier une cotisation."
#: models.py:572 #: models.py:658
msgid "" msgid ""
"You don't have the right to edit a cotisation already controlled or " "You don't have the right to edit a cotisation already controlled or "
"invalidated." "invalidated."
@ -436,11 +224,11 @@ msgstr ""
"Vous n'avez pas le droit de modifier une cotisaiton précédement controllée " "Vous n'avez pas le droit de modifier une cotisaiton précédement controllée "
"ou invalidée." "ou invalidée."
#: models.py:578 #: models.py:665
msgid "You don't have the right to delete a cotisation." msgid "You don't have the right to delete a cotisation."
msgstr "Vous n'avez pas le droit de supprimer une cotisation." msgstr "Vous n'avez pas le droit de supprimer une cotisation."
#: models.py:580 #: models.py:668
msgid "" msgid ""
"You don't have the right to delete a cotisation already controlled or " "You don't have the right to delete a cotisation already controlled or "
"invalidated." "invalidated."
@ -448,21 +236,32 @@ msgstr ""
"Vous n'avez pas le droit de supprimer une cotisation précédement controllée " "Vous n'avez pas le droit de supprimer une cotisation précédement controllée "
"ou invalidée." "ou invalidée."
#: models.py:587 #: models.py:676
msgid "You don't have the right to see someone else's cotisation history." msgid "You don't have the right to see someone else's cotisation history."
msgstr "" msgstr ""
"Vous n'avez pas le droit de voir l'historique d'une cotisation de " "Vous n'avez pas le droit de voir l'historique d'une cotisation de quelqu'un "
"quelqu'un d'autre." "d'autre."
#: payment.py:26 #: payment.py:31
#, python-format #, python-format
msgid "The payment of %(amount)s € has been accepted." msgid "The payment of %(amount)s € has been accepted."
msgstr "Le paiement de %(amount)s € a été accepté." msgstr "Le paiement de %(amount)s € a été accepté."
#: payment.py:38 #: payment.py:49
msgid "The payment has been refused." msgid "The payment has been refused."
msgstr "Le paiment a été refusé." msgstr "Le paiment a été refusé."
#: templates/cotisations/aff_article.html:31
#: templates/cotisations/facture.html:43
#: templates/cotisations/new_facture.html:50
#: templates/cotisations/new_facture_solde.html:44
msgid "Article"
msgstr "Article"
#: templates/cotisations/aff_article.html:32
msgid "Price"
msgstr "Prix"
#: templates/cotisations/aff_article.html:33 #: templates/cotisations/aff_article.html:33
msgid "Cotisation type" msgid "Cotisation type"
msgstr "Type de cotisation" msgstr "Type de cotisation"
@ -480,7 +279,8 @@ msgstr "Utilisateurs concernés"
#: templates/cotisations/aff_cotisations.html:69 #: templates/cotisations/aff_cotisations.html:69
#: templates/cotisations/aff_cotisations.html:75 #: templates/cotisations/aff_cotisations.html:75
#: templates/cotisations/aff_paiement.html:40 #: templates/cotisations/aff_paiement.html:40
#: templates/cotisations/control.html:104 #: templates/cotisations/control.html:104 views.py:396 views.py:443
#: views.py:507 views.py:585
msgid "Edit" msgid "Edit"
msgstr "Modifier" msgstr "Modifier"
@ -491,15 +291,36 @@ msgstr "Modifier"
msgid "Historique" msgid "Historique"
msgstr "Historique" msgstr "Historique"
#: templates/cotisations/aff_banque.html:31
msgid "Bank"
msgstr "Banque"
#: templates/cotisations/aff_cotisations.html:37 #: templates/cotisations/aff_cotisations.html:37
msgid "User" msgid "User"
msgstr "Utilisateur" msgstr "Utilisateur"
#: templates/cotisations/aff_cotisations.html:40
#: templates/cotisations/control.html:60
#: templates/cotisations/edit_facture.html:45
msgid "Designation"
msgstr "Désignation"
#: templates/cotisations/aff_cotisations.html:41 #: templates/cotisations/aff_cotisations.html:41
#: templates/cotisations/control.html:61 #: templates/cotisations/control.html:61
msgid "Total price" msgid "Total price"
msgstr "Prix total" msgstr "Prix total"
#: templates/cotisations/aff_cotisations.html:43
#: templates/cotisations/aff_paiement.html:31
#: templates/cotisations/control.html:63
msgid "Payment method"
msgstr "Moyen de paiement"
#: templates/cotisations/aff_cotisations.html:47
#: templates/cotisations/control.html:67
msgid "Date"
msgstr "Date"
#: templates/cotisations/aff_cotisations.html:51 #: templates/cotisations/aff_cotisations.html:51
#: templates/cotisations/control.html:53 #: templates/cotisations/control.html:53
msgid "Invoice id" msgid "Invoice id"
@ -509,7 +330,8 @@ msgstr "Id facture"
msgid "Controlled invoice" msgid "Controlled invoice"
msgstr "Facture controllé" msgstr "Facture controllé"
#: templates/cotisations/aff_cotisations.html:84 #: templates/cotisations/aff_cotisations.html:84 views.py:464 views.py:542
#: views.py:620
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
@ -545,6 +367,14 @@ msgstr "Prénom"
msgid "User id" msgid "User id"
msgstr "Id utilisateur" msgstr "Id utilisateur"
#: templates/cotisations/control.html:71
msgid "Validated"
msgstr "Validé"
#: templates/cotisations/control.html:75
msgid "Controlled"
msgstr "Controllé"
#: templates/cotisations/delete.html:29 #: templates/cotisations/delete.html:29
msgid "Deletion of cotisations" msgid "Deletion of cotisations"
msgstr "Supprimer des cotisations" msgstr "Supprimer des cotisations"
@ -581,11 +411,38 @@ msgid "Edit the invoice"
msgstr "Edition de factures" msgstr "Edition de factures"
#: templates/cotisations/edit_facture.html:41 #: templates/cotisations/edit_facture.html:41
#: templates/cotisations/facture.html:38
#: templates/cotisations/new_facture.html:46 #: templates/cotisations/new_facture.html:46
#: templates/cotisations/new_facture_solde.html:40 #: templates/cotisations/new_facture_solde.html:40
msgid "Invoice's articles" msgid "Invoice's articles"
msgstr "Articles de la facture" msgstr "Articles de la facture"
#: templates/cotisations/edit_facture.html:46
msgid "Quantity"
msgstr "Quantité"
#: templates/cotisations/facture.html:52
#: templates/cotisations/new_facture.html:59
#: templates/cotisations/new_facture_solde.html:53
msgid "Add an article"
msgstr "Ajouter un article"
#: templates/cotisations/facture.html:54
#: templates/cotisations/new_facture.html:61
#: templates/cotisations/new_facture_solde.html:55
msgid ""
"\n"
" Total price : <span id=\"total_price\">0,00</span> €\n"
" "
msgstr ""
"\n"
" Prix total : <span id=\"total_price\">0,00</span> €\n"
" "
#: templates/cotisations/index.html:29 templates/cotisations/sidebar.html:40
msgid "Invoices"
msgstr "Factures"
#: templates/cotisations/index.html:32 #: templates/cotisations/index.html:32
msgid "Cotisations" msgid "Cotisations"
msgstr "Cotisations" msgstr "Cotisations"
@ -606,6 +463,11 @@ msgstr "Ajouter un type d'article"
msgid "Delete article types" msgid "Delete article types"
msgstr "Supprimer des types d'articles" msgstr "Supprimer des types d'articles"
#: templates/cotisations/index_banque.html:30
#: templates/cotisations/sidebar.html:50
msgid "Banks"
msgstr "Banques"
#: templates/cotisations/index_banque.html:33 #: templates/cotisations/index_banque.html:33
msgid "Banks list" msgid "Banks list"
msgstr "Liste des banques" msgstr "Liste des banques"
@ -650,23 +512,7 @@ msgstr ""
" Solde de l'utilisateur : %(user.solde)s €\n" " Solde de l'utilisateur : %(user.solde)s €\n"
" " " "
#: templates/cotisations/new_facture.html:59 #: templates/cotisations/new_facture.html:65 views.py:257
#: templates/cotisations/new_facture_solde.html:53
msgid "Add an article"
msgstr "Ajouter un article"
#: templates/cotisations/new_facture.html:61
#: templates/cotisations/new_facture_solde.html:55
msgid ""
"\n"
" Total price : <span id=\"total_price\">0,00</span> €\n"
" "
msgstr ""
"\n"
" Prix total : <span id=\"total_price\">0,00</span> €\n"
" "
#: templates/cotisations/new_facture.html:65
msgid "Create" msgid "Create"
msgstr "Créer" msgstr "Créer"
@ -715,65 +561,79 @@ msgstr "Contrôler les factures"
msgid "Available articles" msgid "Available articles"
msgstr "Articles disponibles" msgstr "Articles disponibles"
#: views.py:133 #: templates/cotisations/sidebar.html:55
msgid "Payment methods"
msgstr "Moyens de paiement"
#: views.py:138
msgid "Your balance is too low for this operation." msgid "Your balance is too low for this operation."
msgstr "Votre solde est trop faible pour cette opération." msgstr "Votre solde est trop faible pour cette opération."
#: views.py:163 #: views.py:168
#, python-format #, python-format
msgid "" msgid ""
"The cotisation of %(member_name)s has been extended to " "The cotisation of %(member_name)s has been extended to "
"%(end_date)s." "%(end_date)s."
msgstr "La cotisation de %(member_name)s a été étendu jusqu'à %(end_date)s." msgstr "La cotisation de %(member_name)s a été étendu jusqu'à %(end_date)s."
#: views.py:172 #: views.py:178
msgid "The invoice has been created." msgid "The invoice has been created."
msgstr "La facture a été créée." msgstr "La facture a été créée."
#: views.py:180 cotisations/views.py:777 #: views.py:186 views.py:824
msgid "You need to choose at least one article." msgid "You need to choose at least one article."
msgstr "Vous devez choisir au moins un article." msgstr "Vous devez choisir au moins un article."
#: views.py:292 #: views.py:338
msgid "The invoice has been successfully edited." msgid "The invoice has been successfully edited."
msgstr "La facture a été crée avec succès." msgstr "La facture a été crée avec succès."
#: views.py:314 #: views.py:358
msgid "The invoice has been successfully deleted." msgid "The invoice has been successfully deleted."
msgstr "La facture a été supprimée avec succès." msgstr "La facture a été supprimée avec succès."
#: views.py:351 #: views.py:363
msgid "Invoice"
msgstr "Facture"
#: views.py:391
msgid "Balance successfully updated." msgid "Balance successfully updated."
msgstr "Solde mis à jour avec succès." msgstr "Solde mis à jour avec succès."
#: views.py:376 #: views.py:417
msgid "The article has been successfully created." msgid "The article has been successfully created."
msgstr "L'article a été créé avec succès." msgstr "L'article a été créé avec succès."
#: views.py:400 #: views.py:422 views.py:485 views.py:563
#, fuzzy
#| msgid "Address"
msgid "Add"
msgstr "Adresse"
#: views.py:438
msgid "The article has been successfully edited." msgid "The article has been successfully edited."
msgstr "L'article a été modifié avec succès." msgstr "L'article a été modifié avec succès."
#: views.py:419 #: views.py:459
msgid "The article(s) have been successfully deleted." msgid "The article(s) have been successfully deleted."
msgstr "L'(es) article(s) a(ont) été supprimé(s) avec succès. " msgstr "L'(es) article(s) a(ont) été supprimé(s) avec succès. "
#: views.py:441 #: views.py:480
msgid "The payment method has been successfully created." msgid "The payment method has been successfully created."
msgstr "Le moyen de paiement a été créé avec succès." msgstr "Le moyen de paiement a été créé avec succès."
#: views.py:465 #: views.py:502
msgid "The payement method has been successfully edited." msgid "The payement method has been successfully edited."
msgstr "Le moyen de paiement a été modifié avec succès." msgstr "Le moyen de paiement a été modifié avec succès."
#: views.py:488 #: views.py:526
#, python-format #, python-format
msgid "" msgid ""
"The payment method %(method_name)s has been successfully " "The payment method %(method_name)s has been successfully "
"deleted." "deleted."
msgstr "Le moyen de paiement %(method_name)s a été supprimé avec succès." msgstr "Le moyen de paiement %(method_name)s a été supprimé avec succès."
#: views.py:496 #: views.py:534
#, python-format #, python-format
msgid "" msgid ""
"The payment method %(method_name)s can't be deleted " "The payment method %(method_name)s can't be deleted "
@ -782,21 +642,21 @@ msgstr ""
"Le moyen de paiement %(method_name)s ne peut pas être mis à jour car il y a " "Le moyen de paiement %(method_name)s ne peut pas être mis à jour car il y a "
"des factures l'utilisant." "des factures l'utilisant."
#: views.py:519 #: views.py:558
msgid "The bank has been successfully created." msgid "The bank has been successfully created."
msgstr "La banque a été crée avec succès." msgstr "La banque a été crée avec succès."
#: views.py:543 #: views.py:580
msgid "The bank has been successfully edited" msgid "The bank has been successfully edited"
msgstr "La banque a été modifée avec succès." msgstr "La banque a été modifée avec succès."
#: views.py:566 #: views.py:604
#, python-format #, python-format
msgid "" msgid ""
"The bank %(bank_name)s has been successfully deleted." "The bank %(bank_name)s has been successfully deleted."
msgstr "La banque %(bank_name)s a été supprimée avec succès." msgstr "La banque %(bank_name)s a été supprimée avec succès."
#: views.py:574 #: views.py:612
#, python-format #, python-format
msgid "" msgid ""
"The bank %(bank_name)s can't be deleted because there " "The bank %(bank_name)s can't be deleted because there "
@ -805,21 +665,127 @@ msgstr ""
"La banque %(bank_name)s ne peut pas être supprimée car il y a des factures " "La banque %(bank_name)s ne peut pas être supprimée car il y a des factures "
"qui l'utilisent." "qui l'utilisent."
#: views.py:730 #: views.py:656
msgid "Your changes have been properly taken into account."
msgstr "Vos modifications ont correctement été prises en compte."
#: views.py:776
msgid "The balance is too low for this operation." msgid "The balance is too low for this operation."
msgstr "Le solde est trop faible pour cette opération." msgstr "Le solde est trop faible pour cette opération."
#: views.py:760 #: views.py:806
#, python-format #, python-format
msgid "" msgid ""
"The cotisation of %(member_name)s has been successfully " "The cotisation of %(member_name)s has been successfully "
"extended to %(end_date)s." "extended to %(end_date)s."
msgstr "La cotisation de %(member_name)s a été prolongée jusqu'à %(end_date)s." msgstr "La cotisation de %(member_name)s a été prolongée jusqu'à %(end_date)s."
#: views.py:769 #: views.py:816
msgid "The invoice has been successuflly created." msgid "The invoice has been successuflly created."
msgstr "La facture a été créée avec succès." msgstr "La facture a été créée avec succès."
#: views.py:796 #: views.py:846
msgid "Online payment is disabled." msgid "Online payment is disabled."
msgstr "Le paiement en ligne est désactivé." msgstr "Le paiement en ligne est désactivé."
#~ msgid "Paid"
#~ msgstr "Payé"
#~ msgid "Recipient"
#~ msgstr "Destinataire"
#~ msgid "Invoice number"
#~ msgstr "Numéro de facture"
#~ msgid "Existing articles"
#~ msgstr "Articles disponibles"
#~ msgid "Existing payment method"
#~ msgstr "Moyen de paiements disponibles"
#~ msgid "Existing banks"
#~ msgstr "Banques disponibles"
#~ msgid "Amount"
#~ msgstr "Montant"
#~ msgid "Can change the \"controlled\" state"
#~ msgstr "Peut modifier l'état \"controllé\""
#~ msgid "Can create a custom PDF invoice"
#~ msgstr "Peut crée une facture PDF personnalisée"
#~ msgid "Can see an invoice's details"
#~ msgstr "Peut voir les détails d'une facture"
#~ msgid "Can edit all the previous invoices"
#~ msgstr "Peut modifier toutes les factures existantes"
#~ msgid "Connexion"
#~ msgstr "Connexion"
#~ msgid "Membership"
#~ msgstr "Adhésion"
#~ msgid "Both of them"
#~ msgstr "Les deux"
#~ msgid "Duration (in whole month)"
#~ msgstr "Durée (en mois entiers)"
#~ msgid "Type of cotisation"
#~ msgstr "Type de cotisation"
#~ msgid "Can see a purchase's details"
#~ msgstr "Peut voir les détails d'un achat"
#~ msgid "Can edit all the previous purchases"
#~ msgstr "Peut voir les achats existants"
#~ msgid "Purchase"
#~ msgstr "Achat"
#~ msgid "Purchases"
#~ msgstr "Achat"
#~ msgid "Club"
#~ msgstr "Club"
#~ msgid "Unitary price"
#~ msgstr "Prix unitaire"
#~ msgid "Type of users concerned"
#~ msgstr "Type d'utilisateurs concernés"
#~ msgid "Can see an article's details"
#~ msgstr "Peut voir les détails d'un article"
#~ msgid "Name"
#~ msgstr "Nom"
#~ msgid "Can see a bank's details"
#~ msgstr "Peut voir les détails d'une banque"
#~ msgid "Standard"
#~ msgstr "Standard"
#~ msgid "Cheque"
#~ msgstr "Chèque"
#~ msgid "Method"
#~ msgstr "Moyen"
#~ msgid "Can see a payement's details"
#~ msgstr "Peut voir les détails d'un paiement"
#~ msgid "Starting date"
#~ msgstr "Date de début"
#~ msgid "Ending date"
#~ msgstr "Date de fin"
#~ msgid "Can see a cotisation's details"
#~ msgstr "Peut voir les détails d'une cotisation"
#~ msgid "Can edit the previous cotisations"
#~ msgstr "Peut voir les cotisations existantes"

View file

@ -651,6 +651,10 @@ def control(request):
if control_invoices_form.is_valid(): if control_invoices_form.is_valid():
control_invoices_form.save() control_invoices_form.save()
reversion.set_comment("Controle") reversion.set_comment("Controle")
messages.success(
request,
_("Your changes have been properly taken into account.")
)
return redirect(reverse('cotisations:control')) return redirect(reverse('cotisations:control'))
return render(request, 'cotisations/control.html', { return render(request, 'cotisations/control.html', {
'facture_list': invoice_list, 'facture_list': invoice_list,

View file

@ -189,7 +189,7 @@ def can_change(*targets):
method 'can_change'. See `acl_base_decorator` documentation for further method 'can_change'. See `acl_base_decorator` documentation for further
details. details.
""" """
return acl_base_decorator('can_change', *targets) return acl_base_decorator('can_change', *targets, on_instance=False)
def can_delete(*targets): def can_delete(*targets):