From d98e46ffc29765fd265747ba6f6f1016d8e50d3f Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Thu, 13 Aug 2020 18:04:28 +0200 Subject: [PATCH] Store note balances in a big integer --- apps/note/models/notes.py | 2 +- apps/note/models/transactions.py | 7 ++-- locale/de/LC_MESSAGES/django.po | 50 +++++++++++++++------------ locale/fr/LC_MESSAGES/django.po | 59 +++++++++++++++++++------------- 4 files changed, 69 insertions(+), 49 deletions(-) diff --git a/apps/note/models/notes.py b/apps/note/models/notes.py index eac5369f..fe7f1750 100644 --- a/apps/note/models/notes.py +++ b/apps/note/models/notes.py @@ -25,7 +25,7 @@ class Note(PolymorphicModel): A Note can be searched find throught an :model:`note.Alias` """ - balance = models.IntegerField( + balance = models.BigIntegerField( verbose_name=_('account balance'), help_text=_('in centimes, money credited for this instance'), default=0, diff --git a/apps/note/models/transactions.py b/apps/note/models/transactions.py index f57cc9b5..1ab578e4 100644 --- a/apps/note/models/transactions.py +++ b/apps/note/models/transactions.py @@ -196,9 +196,10 @@ class Transaction(PolymorphicModel): # previously invalid self.invalidity_reason = None - if source_balance > 2147483647 or source_balance < -2147483648\ - or dest_balance > 2147483647 or dest_balance < -2147483648: - raise ValidationError(_("The note balances must be between - 21 474 836.47 € and 21 474 836.47 €.")) + if source_balance > 9223372036854775807 or source_balance < -9223372036854775808\ + or dest_balance > 9223372036854775807 or dest_balance < -9223372036854775808: + raise ValidationError(_("The note balances must be between - 92 233 720 368 547 758.08 € " + "and 92 233 720 368 547 758.07 €.")) return source_balance - previous_source_balance, dest_balance - previous_dest_balance diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 59a41d73..fc02e6f6 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-13 15:15+0200\n" +"POT-Creation-Date: 2020-08-13 18:02+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,7 +47,7 @@ msgstr "" #: apps/member/models.py:175 apps/member/templates/member/club_info.html:13 #: apps/member/templates/member/profile_info.html:14 #: apps/note/models/notes.py:212 apps/note/models/transactions.py:25 -#: apps/note/models/transactions.py:45 apps/note/models/transactions.py:286 +#: apps/note/models/transactions.py:45 apps/note/models/transactions.py:296 #: apps/permission/models.py:329 #: apps/registration/templates/registration/future_profile_detail.html:16 #: apps/wei/models.py:66 apps/wei/models.py:118 @@ -238,7 +238,7 @@ msgid "Guests list" msgstr "" #: apps/activity/templates/activity/activity_entry.html:13 -#: apps/note/models/transactions.py:248 +#: apps/note/models/transactions.py:258 #: apps/note/templates/note/transaction_form.html:15 #: apps/note/templates/note/transaction_form.html:145 #: note_kfet/templates/base.html:113 @@ -246,7 +246,7 @@ msgid "Transfer" msgstr "" #: apps/activity/templates/activity/activity_entry.html:17 -#: apps/note/models/transactions.py:302 +#: apps/note/models/transactions.py:312 #: apps/note/templates/note/transaction_form.html:20 msgid "Credit" msgstr "" @@ -1162,61 +1162,69 @@ msgstr "" msgid "transactions" msgstr "" -#: apps/note/models/transactions.py:192 +#: apps/note/models/transactions.py:181 +#, python-brace-format msgid "" -"The note balances must be between - 21 474 836.47 € and 21 474 836.47 €." +"You can't update the {field} on a Transaction. Please invalidate it and " +"create one other." msgstr "" -#: apps/note/models/transactions.py:207 +#: apps/note/models/transactions.py:201 +msgid "" +"The note balances must be between - 92 233 720 368 547 758.08 € and 92 233 " +"720 368 547 758.07 €." +msgstr "" + +#: apps/note/models/transactions.py:217 msgid "" "The transaction can't be saved since the source note or the destination note " "is not active." msgstr "" -#: apps/note/models/transactions.py:272 +#: apps/note/models/transactions.py:282 msgid "Template" msgstr "" -#: apps/note/models/transactions.py:275 +#: apps/note/models/transactions.py:285 msgid "recurrent transaction" msgstr "" -#: apps/note/models/transactions.py:276 +#: apps/note/models/transactions.py:286 msgid "recurrent transactions" msgstr "" -#: apps/note/models/transactions.py:291 +#: apps/note/models/transactions.py:301 msgid "first_name" msgstr "" -#: apps/note/models/transactions.py:296 +#: apps/note/models/transactions.py:306 msgid "bank" msgstr "" -#: apps/note/models/transactions.py:302 +#: apps/note/models/transactions.py:312 #: apps/note/templates/note/transaction_form.html:25 msgid "Debit" msgstr "" -#: apps/note/models/transactions.py:313 +#: apps/note/models/transactions.py:323 msgid "" "A special transaction is only possible between a Note associated to a " "payment method and a User or a Club" msgstr "" -#: apps/note/models/transactions.py:317 +#: apps/note/models/transactions.py:327 msgid "Special transaction" msgstr "" -#: apps/note/models/transactions.py:318 +#: apps/note/models/transactions.py:328 msgid "Special transactions" msgstr "" -#: apps/note/models/transactions.py:334 apps/note/models/transactions.py:339 +#: apps/note/models/transactions.py:344 apps/note/models/transactions.py:349 msgid "membership transaction" msgstr "" -#: apps/note/models/transactions.py:335 apps/treasury/models.py:272 +#: apps/note/models/transactions.py:345 apps/treasury/models.py:272 msgid "membership transactions" msgstr "" @@ -2600,15 +2608,15 @@ msgstr "" msgid "This user didn't give her/his caution check." msgstr "" -#: note_kfet/settings/base.py:154 +#: note_kfet/settings/base.py:155 msgid "German" msgstr "" -#: note_kfet/settings/base.py:155 +#: note_kfet/settings/base.py:156 msgid "English" msgstr "" -#: note_kfet/settings/base.py:156 +#: note_kfet/settings/base.py:157 msgid "French" msgstr "" diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 9556dd6e..cdc76b39 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-13 15:15+0200\n" +"POT-Creation-Date: 2020-08-13 18:02+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,7 +48,7 @@ msgstr "Vous ne pouvez pas inviter plus de 3 personnes à cette activité." #: apps/member/models.py:175 apps/member/templates/member/club_info.html:13 #: apps/member/templates/member/profile_info.html:14 #: apps/note/models/notes.py:212 apps/note/models/transactions.py:25 -#: apps/note/models/transactions.py:45 apps/note/models/transactions.py:286 +#: apps/note/models/transactions.py:45 apps/note/models/transactions.py:296 #: apps/permission/models.py:329 #: apps/registration/templates/registration/future_profile_detail.html:16 #: apps/wei/models.py:66 apps/wei/models.py:118 @@ -239,7 +239,7 @@ msgid "Guests list" msgstr "Liste des invités" #: apps/activity/templates/activity/activity_entry.html:13 -#: apps/note/models/transactions.py:248 +#: apps/note/models/transactions.py:258 #: apps/note/templates/note/transaction_form.html:15 #: apps/note/templates/note/transaction_form.html:145 #: note_kfet/templates/base.html:113 @@ -247,7 +247,7 @@ msgid "Transfer" msgstr "Virement" #: apps/activity/templates/activity/activity_entry.html:17 -#: apps/note/models/transactions.py:302 +#: apps/note/models/transactions.py:312 #: apps/note/templates/note/transaction_form.html:20 msgid "Credit" msgstr "Crédit" @@ -350,7 +350,9 @@ msgstr "Invitation pour l'activité « {} »" #: apps/activity/views.py:148 msgid "You are not allowed to display the entry interface for this activity." -msgstr "Vous n'êtes pas autorisé à afficher l'interface des entrées pour cette activité." +msgstr "" +"Vous n'êtes pas autorisé à afficher l'interface des entrées pour cette " +"activité." #: apps/activity/views.py:151 msgid "This activity does not support activity entries." @@ -1174,14 +1176,23 @@ msgstr "Transaction" msgid "transactions" msgstr "Transactions" -#: apps/note/models/transactions.py:192 +#: apps/note/models/transactions.py:181 +#, python-brace-format msgid "" -"The note balances must be between - 21 474 836.47 € and 21 474 836.47 €." +"You can't update the {field} on a Transaction. Please invalidate it and " +"create one other." msgstr "" -"Les montants des notes doivent se trouver entre - 21 474 836.47 € et 21 474 " -"836.47 €. Ne cherchez pas à capitaliser l'argent du BDE." -#: apps/note/models/transactions.py:207 +#: apps/note/models/transactions.py:201 +msgid "" +"The note balances must be between - 92 233 720 368 547 758.08 € and 92 233 " +"720 368 547 758.07 €." +msgstr "" +"Les montants des notes doivent se trouver entre - 92 233 720 368 547 758.08 " +"€ et 92 233 720 368 547 758.07 €. Ne cherchez pas à capitaliser l'argent du " +"BDE." + +#: apps/note/models/transactions.py:217 msgid "" "The transaction can't be saved since the source note or the destination note " "is not active." @@ -1189,32 +1200,32 @@ msgstr "" "La transaction ne peut pas être sauvegardée puisque la note source ou la " "note de destination n'est pas active." -#: apps/note/models/transactions.py:272 +#: apps/note/models/transactions.py:282 msgid "Template" msgstr "Bouton" -#: apps/note/models/transactions.py:275 +#: apps/note/models/transactions.py:285 msgid "recurrent transaction" msgstr "Transaction issue de bouton" -#: apps/note/models/transactions.py:276 +#: apps/note/models/transactions.py:286 msgid "recurrent transactions" msgstr "Transactions issues de boutons" -#: apps/note/models/transactions.py:291 +#: apps/note/models/transactions.py:301 msgid "first_name" msgstr "prénom" -#: apps/note/models/transactions.py:296 +#: apps/note/models/transactions.py:306 msgid "bank" msgstr "banque" -#: apps/note/models/transactions.py:302 +#: apps/note/models/transactions.py:312 #: apps/note/templates/note/transaction_form.html:25 msgid "Debit" msgstr "Débit" -#: apps/note/models/transactions.py:313 +#: apps/note/models/transactions.py:323 msgid "" "A special transaction is only possible between a Note associated to a " "payment method and a User or a Club" @@ -1222,19 +1233,19 @@ msgstr "" "Une transaction spéciale n'est possible que entre une note associée à un " "mode de paiement et un utilisateur ou un club." -#: apps/note/models/transactions.py:317 +#: apps/note/models/transactions.py:327 msgid "Special transaction" msgstr "Transaction de crédit/retrait" -#: apps/note/models/transactions.py:318 +#: apps/note/models/transactions.py:328 msgid "Special transactions" msgstr "Transactions de crédit/retrait" -#: apps/note/models/transactions.py:334 apps/note/models/transactions.py:339 +#: apps/note/models/transactions.py:344 apps/note/models/transactions.py:349 msgid "membership transaction" msgstr "Transaction d'adhésion" -#: apps/note/models/transactions.py:335 apps/treasury/models.py:272 +#: apps/note/models/transactions.py:345 apps/treasury/models.py:272 msgid "membership transactions" msgstr "Transactions d'adhésion" @@ -2697,15 +2708,15 @@ msgstr "Valider l'inscription WEI" msgid "This user didn't give her/his caution check." msgstr "Cet utilisateur n'a pas donné son chèque de caution." -#: note_kfet/settings/base.py:154 +#: note_kfet/settings/base.py:155 msgid "German" msgstr "Allemand" -#: note_kfet/settings/base.py:155 +#: note_kfet/settings/base.py:156 msgid "English" msgstr "Anglais" -#: note_kfet/settings/base.py:156 +#: note_kfet/settings/base.py:157 msgid "French" msgstr "Français"