0002-backoffice-convert-update-digests-action-to-afterjob.patch
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 |
- |