diff --git a/tailbone/api/batch/receiving.py b/tailbone/api/batch/receiving.py index 6c4302d2..284d8fdb 100644 --- a/tailbone/api/batch/receiving.py +++ b/tailbone/api/batch/receiving.py @@ -280,6 +280,15 @@ class ReceivingBatchRowViews(APIBatchRowView): ]}, ]) + # is_missing + elif filtr['field'] == 'is_missing' and filtr['op'] == 'eq' and filtr['value'] is True: + filters.extend([ + {'or': [ + {'field': 'cases_missing', 'op': '!=', 'value': 0}, + {'field': 'units_missing', 'op': '!=', 'value': 0}, + ]}, + ]) + else: # just some filter, use as-is filters.append(filtr) @@ -326,6 +335,9 @@ class ReceivingBatchRowViews(APIBatchRowView): data['cases_expired'] = row.cases_expired data['units_expired'] = row.units_expired + data['cases_missing'] = row.cases_missing + data['units_missing'] = row.units_missing + cases, units = self.batch_handler.get_unconfirmed_counts(row) data['cases_unconfirmed'] = cases data['units_unconfirmed'] = units diff --git a/tailbone/templates/receiving/configure.mako b/tailbone/templates/receiving/configure.mako index faa13a24..92003fee 100644 --- a/tailbone/templates/receiving/configure.mako +++ b/tailbone/templates/receiving/configure.mako @@ -151,6 +151,15 @@ + + + Auto-generate "missing" (DNR) credits for items not accounted for + + +

Mobile Interface

diff --git a/tailbone/views/purchases/credits.py b/tailbone/views/purchases/credits.py index ad1079a6..7da096eb 100644 --- a/tailbone/views/purchases/credits.py +++ b/tailbone/views/purchases/credits.py @@ -96,10 +96,12 @@ class PurchaseCreditView(MasterView): ] def configure_grid(self, g): - super(PurchaseCreditView, self).configure_grid(g) + super().configure_grid(g) + # vendor g.set_joiner('vendor', lambda q: q.outerjoin(model.Vendor)) g.set_sorter('vendor', model.Vendor.name) + g.set_filter('vendor', model.Vendor.name, label="Vendor Name") g.set_sort_defaults('date_received', 'desc') diff --git a/tailbone/views/purchasing/receiving.py b/tailbone/views/purchasing/receiving.py index 909ded3f..e4c67af0 100644 --- a/tailbone/views/purchasing/receiving.py +++ b/tailbone/views/purchasing/receiving.py @@ -1935,6 +1935,9 @@ class ReceivingBatchView(PurchasingBatchView): {'section': 'rattail.batch', 'option': 'purchase.receiving.allow_edit_invoice_unit_cost', 'type': bool}, + {'section': 'rattail.batch', + 'option': 'purchase.receiving.auto_missing_credits', + 'type': bool}, # mobile interface {'section': 'rattail.batch',