Projet

Général

Profil

0002-backoffice-convert-update-digests-action-to-afterjob.patch

Frédéric Péters, 08 décembre 2020 13:40

Télécharger (1,79 ko)

Voir les différences:

Subject: [PATCH 2/5] backoffice: convert update digests action to afterjob
 class (#48407)

 wcs/admin/forms.py | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
wcs/admin/forms.py
299 299
                value=self.formdef.digest_template, size=50)
300 300
        result = self.handle(form, _('Templates'))
301 301
        if self.changed and self.formdef.data_class().count():
302
            def update(job=None):
303
                for formdata in self.formdef.data_class().select(order_by='id'):
304
                    formdata.store()
305
            job = get_response().add_after_job(N_('Updating digests'), update)
302
            get_response().add_after_job(UpdateDigestAfterJob(formdef=self.formdef))
306 303
            if isinstance(self.formdef, CardDef):
307 304
                get_session().message = ('info',
308 305
                        _('Existing cards will be updated in the background.'))
......
1755 1752
        formdef.disabled = True
1756 1753
        formdef.store()
1757 1754
        return redirect('%s/' % formdef.id)
1755

  
1756

  
1757
class UpdateDigestAfterJob(AfterJob):
1758
    label = N_('Updating digests')
1759

  
1760
    def __init__(self, formdef):
1761
        super().__init__(formdef_class=formdef.__class__, formdef_id=formdef.id)
1762

  
1763
    def execute(self):
1764
        formdef = self.kwargs['formdef_class'].get(self.kwargs['formdef_id'])
1765
        for formdata in formdef.data_class().select(order_by='id'):
1766
            formdata.store()
1758
-