facturation: suppression d'un pool définitif (#89732) #187

Merged
lguerin merged 5 commits from wip/89732-invoicing-delete-pool into main 2024-04-30 08:54:10 +02:00
Owner
No description provided.
lguerin added 5 commits 2024-04-19 15:07:37 +02:00
lguerin changed title from WIP: facturation: suppression d'un pool définitif (#89732) to facturation: suppression d'un pool définitif (#89732) 2024-04-19 16:00:02 +02:00
pmarillonnet requested review from pmarillonnet 2024-04-22 15:38:09 +02:00
Owner

(Je commence à relire.)

(Je commence à relire.)
pmarillonnet reviewed 2024-04-23 14:27:42 +02:00
pmarillonnet left a comment
Owner

Quelques petits trucs vus au passage.

Quelques petits trucs vus au passage.
@ -112,1 +113,4 @@
self.invoice.cancelled_at = now()
self.invoice.cancelled_by = user
self.invoice.cancellation_reason = InvoiceCancellationReason.objects.get_or_create(
slug='basket-cancelled', defaults={'label': _('Basket cancelled')}
Owner

Ok mais à ne pas taper directement un .get_or_create sur le libellé on va se retrouver avec des motifs d’annulation dont le slug est en anglais, et d’autres, définies par les régisseurs, dont le slug est en français. Est-ce que c’est grave ?

Et le cas d’un admin fonctionnel qui supprime un motif d’annulation par erreur, puis le crée à nouveau, sauf qu’il n’aura plus le même slug, et qu’il ne ressortira plus dans ce get_or_create, est-ce que c’est problématique ?

Ok mais à ne pas taper directement un `.get_or_create` sur le libellé on va se retrouver avec des motifs d’annulation dont le slug est en anglais, et d’autres, définies par les régisseurs, dont le slug est en français. Est-ce que c’est grave ? Et le cas d’un admin fonctionnel qui supprime un motif d’annulation par erreur, puis le crée à nouveau, sauf qu’il n’aura plus le même slug, et qu’il ne ressortira plus dans ce get_or_create, est-ce que c’est problématique ?
Author
Owner

Ok mais à ne pas taper directement un .get_or_create sur le libellé on va se retrouver avec des motifs d’annulation dont le slug est en anglais, et d’autres, définies par les régisseurs, dont le slug est en français. Est-ce que c’est grave ?

En effet, je vais changer ça et mettre le slug dans le get_or_create, le label dans defaults, comme pour PaymentType. Et c'est déjà le cas, fatigue :)
Non, je ne pense pas que ce soit gênant d'avoir des slugs en français et en anglais.
En théorie ce sont des motifs d'annulation qui ne seront pas créés pour les besoins des régisseurs, je doute qu'ils anticipent le besoin d'avoir un motif "panier annulé" :)

Et le cas d’un admin fonctionnel qui supprime un motif d’annulation par erreur,
Impossible de supprimer un motif utilisé, ce n'est pas permis par l'UI et c'est géré dans le queryset de la vue.

Donc à partir du moment où on aura une première annulation de panier avec annulation de facture définitive, ce motif existera et ne pourra pas être supprimé.

> Ok mais à ne pas taper directement un .get_or_create sur le libellé on va se retrouver avec des motifs d’annulation dont le slug est en anglais, et d’autres, définies par les régisseurs, dont le slug est en français. Est-ce que c’est grave ? ~~En effet, je vais changer ça et mettre le slug dans le get_or_create, le label dans defaults, comme pour PaymentType.~~ Et c'est déjà le cas, fatigue :) Non, je ne pense pas que ce soit gênant d'avoir des slugs en français et en anglais. En théorie ce sont des motifs d'annulation qui ne seront pas créés pour les besoins des régisseurs, je doute qu'ils anticipent le besoin d'avoir un motif "panier annulé" :) > Et le cas d’un admin fonctionnel qui supprime un motif d’annulation par erreur, Impossible de supprimer un motif utilisé, ce n'est pas permis par l'UI et c'est géré dans le queryset de la vue. Donc à partir du moment où on aura une première annulation de panier avec annulation de facture définitive, ce motif existera et ne pourra pas être supprimé.
Owner

Et c'est déjà le cas, fatigue :)
Non, je ne pense pas que ce soit gênant d'avoir des slugs en français et en anglais.
En théorie ce sont des motifs d'annulation qui ne seront pas créés pour les besoins des régisseurs, je doute qu'ils anticipent le besoin d'avoir un motif "panier annulé" :)

D’ac, je comprends mieux, merci.

Donc à partir du moment où on aura une première annulation de panier avec annulation de facture définitive, ce motif existera et ne pourra pas être supprimé.

Ah oui ok c’est le bout de compréhension fonctionnelle du truc qui me manquait, merci.

> Et c'est déjà le cas, fatigue :) > Non, je ne pense pas que ce soit gênant d'avoir des slugs en français et en anglais. > En théorie ce sont des motifs d'annulation qui ne seront pas créés pour les besoins des régisseurs, je doute qu'ils anticipent le besoin d'avoir un motif "panier annulé" :) D’ac, je comprends mieux, merci. > Donc à partir du moment où on aura une première annulation de panier avec annulation de facture définitive, ce motif existera et ne pourra pas être supprimé. Ah oui ok c’est le bout de compréhension fonctionnelle du truc qui me manquait, merci.
@ -121,2 +126,4 @@
if self.invoice_id:
self.invoice.cancelled_at = now()
self.invoice.cancellation_reason = InvoiceCancellationReason.objects.get_or_create(
slug='basket-expired', defaults={'label': _('Basket expired')}
Owner

(Même question ici sur la pertinence de chopper les motifs d’annulation par leur slug plutôt que par leur libellé ?)

(Même question ici sur la pertinence de chopper les motifs d’annulation par leur slug plutôt que par leur libellé ?)
Author
Owner

Idem, ça ne me semble pas problématique

Idem, ça ne me semble pas problématique
Owner

Yes, vu, merci.

Yes, vu, merci.
@ -0,0 +27,4 @@
),
migrations.AddField(
model_name='invoice',
name='cancellation_description',
Owner

Ça m’a l’air un peu violent d’avoir un TextField juste pour ce qui a priori est une description succincte, non ?

Edit: je regardais comment c’était dans les clients d’API authentic et en fait c’est pareil, un TextField aussi pour la description de chacun des clients. Ok.

Ça m’a l’air un peu violent d’avoir un TextField juste pour ce qui a priori est une description succincte, non ? Edit: je regardais comment c’était dans les clients d’API authentic et en fait c’est pareil, un TextField aussi pour la description de chacun des clients. Ok.
Author
Owner

et note: la même mécanique est déjà en place pour les annulations de paiement :)

et note: la même mécanique est déjà en place pour les annulations de paiement :)
Owner

Aussi, oui :)
Très bien, laissons ainsi.

Aussi, oui :) Très bien, laissons ainsi.
pmarillonnet approved these changes 2024-04-29 10:26:22 +02:00
lguerin merged commit a56b818bc3 into main 2024-04-30 08:54:10 +02:00
lguerin deleted branch wip/89732-invoicing-delete-pool 2024-04-30 08:54:10 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/lingo#187
No description provided.