From 1fc3133f8efeb453031443157c58070c065bede1 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Wed, 21 Jun 2017 13:23:59 -0500 Subject: [PATCH] Try to keep batch status updated; display it for handheld batches seems a little hacky but hoping it's safe at least --- tailbone/views/batch/core.py | 4 ++++ tailbone/views/handheld.py | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/tailbone/views/batch/core.py b/tailbone/views/batch/core.py index fccd2cea..e16563f1 100644 --- a/tailbone/views/batch/core.py +++ b/tailbone/views/batch/core.py @@ -150,6 +150,7 @@ class BatchMasterView(MasterView): g.created_by.set(label="Created by", renderer=forms.renderers.UserFieldRenderer) g.cognized_by.set(renderer=forms.renderers.UserFieldRenderer) g.rowcount.set(label="Rows") + g.status_code.set(label="Status", renderer=StatusRenderer(self.model_class.STATUS)) g.executed_by.set(label="Executed by", renderer=forms.renderers.UserFieldRenderer) def configure_grid(self, g): @@ -179,6 +180,7 @@ class BatchMasterView(MasterView): readonly=True) fs.cognized_by.set(label="Cognized by", renderer=forms.renderers.UserFieldRenderer) fs.rowcount.set(label="Row Count") + fs.status_code.set(label="Status", renderer=StatusRenderer(self.model_class.STATUS)) fs.executed_by.set(label="Executed by", renderer=forms.renderers.UserFieldRenderer) fs.notes.set(renderer=fa.TextAreaFieldRenderer, size=(80, 10)) @@ -513,6 +515,7 @@ class BatchMasterView(MasterView): batch = session.query(self.model_class).get(batch_uuid) try: self.handler.populate(batch, progress=progress) + self.handler.refresh_batch_status(batch) except Exception as error: session.rollback() log.warning("batch pre-fill failed: {}".format(batch), exc_info=True) @@ -721,6 +724,7 @@ class BatchMasterView(MasterView): if not row: raise httpexceptions.HTTPNotFound() row.removed = True + self.handler.refresh_batch_status(row.batch) return self.redirect(self.get_action_url('view', self.get_parent(row))) def bulk_delete_rows(self): diff --git a/tailbone/views/handheld.py b/tailbone/views/handheld.py index 1ed66342..1ad2648b 100644 --- a/tailbone/views/handheld.py +++ b/tailbone/views/handheld.py @@ -94,10 +94,17 @@ class HandheldBatchView(FileBatchMasterView): g.created, g.created_by, g.rowcount, + g.status_code, g.executed, ], readonly=True) + def row_attrs(self, batch, i): + attrs = {} + if batch.status_code != batch.STATUS_OK: + attrs['class_'] = 'notice' + return attrs + def configure_fieldset(self, fs): fs.device_type.set(renderer=forms.renderers.EnumFieldRenderer(enum.HANDHELD_DEVICE_TYPE)) @@ -119,6 +126,7 @@ class HandheldBatchView(FileBatchMasterView): fs.created, fs.created_by, fs.rowcount, + fs.status_code, fs.executed, fs.executed_by, ])