Projet

Général

Profil

0001-workflows-add-accessor-for-related-formdefs-39656.patch

Benjamin Dauvergne, 11 février 2020 18:45

Télécharger (2,67 ko)

Voir les différences:

Subject: [PATCH 1/2] workflows: add accessor for related formdefs (#39656)

 wcs/admin/workflows.py |  2 +-
 wcs/workflows.py       | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)
wcs/admin/workflows.py
1555 1555
            r += htmltext('<div class="full-screen-link"><a href="schema.svg">%s</a></div>') % _('Full Screen')
1556 1556
            r += htmltext('</div>') # bo-block
1557 1557

  
1558
        formdefs = [x for x in FormDef.select() if x.workflow_id == self.workflow.id]
1558
        formdefs = self.workflow.formdefs()
1559 1559
        if formdefs:
1560 1560
            r += htmltext('<div class="bo-block">')
1561 1561
            r += htmltext('<h3>%s</h3>') % _('Forms')
wcs/workflows.py
361 361

  
362 362
        def update(job=None):
363 363
            # instruct all related formdefs to update.
364
            for form in FormDef.select(lambda x: x.workflow_id == self.id,
365
                    ignore_migration=True, order_by='id'):
364
            for form in self.formdefs(ignore_migration=True, order_by='id'):
366 365
                form.data_class().rebuild_security()
367 366
                if must_update:
368 367
                    form.rebuild()
......
506 505
        return False
507 506

  
508 507
    def remove_self(self):
509
        for form in FormDef.select(lambda x: x.workflow_id == self.id):
508
        for form in self.formdefs():
510 509
            form.workflow_id = None
511 510
            form.store()
512 511
        StorableObject.remove_self(self)
......
820 819

  
821 820
        return workflow
822 821

  
822
    def formdefs(self, **kwargs):
823
        return list(FormDef.select(lambda x: x.workflow_id == self.id, **kwargs))
824

  
823 825

  
824 826
class XmlSerialisable(object):
825 827
    node_name = None
......
1232 1234
            # limit to formdata that are not finalized
1233 1235
            criterias.append(Contains('status', not_endpoint_status_ids))
1234 1236

  
1235
        formdefs = [x for x in FormDef.select() if x.workflow_id == workflow.id]
1236

  
1237
        for formdef in formdefs:
1237
        for formdef in workflow.formdefs():
1238 1238
            open_formdata_ids = []
1239 1239
            data_class = formdef.data_class()
1240 1240
            for formdata in data_class.select(criterias, iterator=True):
1241
-