From ea97abc2bb7360686df873ee7ba7229605d1960c Mon Sep 17 00:00:00 2001 From: Anji Tong <ollejna@gmail.com> Date: Tue, 24 Dec 2024 13:37:00 -0500 Subject: [PATCH] Wrap connect in kc_transaction_atomic --- kpi/deployment_backends/mixin.py | 4 +++- kpi/deployment_backends/openrosa_backend.py | 9 ++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/kpi/deployment_backends/mixin.py b/kpi/deployment_backends/mixin.py index 4a448106b3..1e0b5309be 100644 --- a/kpi/deployment_backends/mixin.py +++ b/kpi/deployment_backends/mixin.py @@ -8,6 +8,7 @@ from .backends import DEPLOYMENT_BACKENDS from .base_backend import BaseDeploymentBackend +from .kc_access.utils import kc_transaction_atomic class DeployableMixin: @@ -29,7 +30,8 @@ def can_be_deployed(self): def connect_deployment(self, backend: str, **kwargs): deployment_backend = self.__get_deployment_backend(backend) - deployment_backend.connect(**kwargs) + with kc_transaction_atomic(): + deployment_backend.connect(**kwargs) def deploy(self, backend=False, active=True): """ diff --git a/kpi/deployment_backends/openrosa_backend.py b/kpi/deployment_backends/openrosa_backend.py index 07c091a30b..fcbd2db2d7 100644 --- a/kpi/deployment_backends/openrosa_backend.py +++ b/kpi/deployment_backends/openrosa_backend.py @@ -143,11 +143,10 @@ def connect(self, active=False): ) xlsx_file = ContentFile(xlsx_io.read(), name=f'{self.asset.uid}.xlsx') - with kc_transaction_atomic(): - self._xform = publish_xls_form(xlsx_file, self.asset.owner) - self._xform.downloadable = active - self._xform.kpi_asset_uid = self.asset.uid - self._xform.save(update_fields=['downloadable', 'kpi_asset_uid']) + self._xform = publish_xls_form(xlsx_file, self.asset.owner) + self._xform.downloadable = active + self._xform.kpi_asset_uid = self.asset.uid + self._xform.save(update_fields=['downloadable', 'kpi_asset_uid']) self.store_data( {