diff --git a/tailbone/views/batch/pos.py b/tailbone/views/batch/pos.py index 71479391..8bc70b02 100644 --- a/tailbone/views/batch/pos.py +++ b/tailbone/views/batch/pos.py @@ -105,6 +105,7 @@ class POSBatchView(BatchMasterView): 'tax1_total', 'tax2_total', 'tender_total', + 'tender', 'void', 'status_code', 'timestamp', @@ -179,6 +180,7 @@ class POSBatchView(BatchMasterView): f.set_enum('row_type', self.enum.POS_ROW_TYPE) f.set_renderer('product', self.render_product) + f.set_renderer('tender', self.render_tender) f.set_type('quantity', 'quantity') f.set_type('reg_price', 'currency') diff --git a/tailbone/views/master.py b/tailbone/views/master.py index f9e2d150..e3a60eca 100644 --- a/tailbone/views/master.py +++ b/tailbone/views/master.py @@ -861,6 +861,14 @@ class MasterView(View): url = self.request.route_url('stores.view', uuid=store.uuid) return tags.link_to(text, url) + def render_tender(self, obj, field): + tender = getattr(obj, field) + if not tender: + return + text = str(tender) + url = self.request.route_url('tenders.view', uuid=tender.uuid) + return tags.link_to(text, url) + def valid_employee_uuid(self, node, value): if value: model = self.model diff --git a/tailbone/views/tenders.py b/tailbone/views/tenders.py index 54a0cdba..d5524e74 100644 --- a/tailbone/views/tenders.py +++ b/tailbone/views/tenders.py @@ -41,6 +41,7 @@ class TenderView(MasterView): 'name', 'is_cash', 'allow_cash_back', + 'kick_drawer', ] form_fields = [ @@ -48,7 +49,9 @@ class TenderView(MasterView): 'name', 'is_cash', 'allow_cash_back', + 'kick_drawer', 'notes', + 'disabled', ] def configure_grid(self, g): @@ -59,6 +62,10 @@ class TenderView(MasterView): g.set_link('name') g.set_sort_defaults('name') + def grid_extra_class(self, tender, i): + if tender.disabled: + return 'warning' + def configure_form(self, f): super().configure_form(f)