Facturation: verrouillage auto des pointages (#75556) #42
No reviewers
Labels
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: entrouvert/lingo#42
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/75556-invoicing-lock-events-check"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
0001: appeler chrono au lancement d'un pool pour lock les pointages
0002: un bouton pour unlock les pointages
0003: un mécanisme pour invalider une campagne
Plutôt que d'invalider le dernier pool, j'invalide la campagne. En pratique c'est la même chose mais pour les queryset c'est plus simple à écrire.
Une campagne devient invalide lorsque:
Une campagne devient valide lorsqu'on lance un pool.
On ne peut pas promouvoir un pool lorsque la campagne est invalide.
Je n'affiche pas le bouton "unlock" lorsque la campagne est invalide.
4f848ffaa7
to815b47950c
Je commence à relire.
Juste deux petites remarques prises au passage, dis-moi ce que tu en penses.
@ -70,6 +70,9 @@
{% if not has_running_pool and not has_real_pool %}
<div class="panel--buttons">
<a class="pk-button" rel="popup" href="{% url 'lingo-manager-invoicing-pool-add' regie_pk=regie.pk pk=object.pk %}">{% trans 'Start a pool' %}</a>
{% if not object.invalid %}
Question d’UI, peut-être juste ici indiquer que le déverrouillage n’est pas possible car la campagne est invalide ? Je sens déjà venir les tickets clients “Le bouton de déverrouillage a disparu !!” :)
On a déjà un warning en haut de page qui indique qu'il faut relancer un pool, je pense que ça suffit, non ?
Ah oui ok j’avais oublié cela, merci.
@ -521,6 +567,8 @@ class PoolDeleteView(DeleteView):
def delete(self, request, *args, **kwargs):
self.object = self.get_object()
if self.object.is_last:
Pareil ici niveau interface, est-ce qu’il y a l’info qui remonte sur le fait que la campagne est invalide parce que le dernier pool a été supprimé ?
oui, un warning :)
@ -285,2 +286,4 @@
kwargs['has_running_pool'] = any(p.status in ['registered', 'running'] for p in kwargs['pools'])
kwargs['has_real_pool'] = any(not p.draft for p in kwargs['pools'])
if self.object.invalid:
messages.warning(self.request, _('The last pool is invalid, please start a new pool.'))
ici le warning
Nickel.
Ok pour moi.