Make "view row" prettier for receiving batch, for buefy themes

this seems like a good direction; should make "receive product" and
"declare item" use b-modal on same page probably
This commit is contained in:
Lance Edgar 2021-12-08 21:59:41 -06:00
parent be92075abb
commit e906c01e64
4 changed files with 212 additions and 14 deletions

View file

@ -129,14 +129,19 @@ class PurchasingBatchView(BatchMasterView):
'description',
'size',
'case_quantity',
'ordered',
'cases_ordered',
'units_ordered',
'received',
'cases_received',
'units_received',
'damaged',
'cases_damaged',
'units_damaged',
'expired',
'cases_expired',
'units_expired',
'mispick',
'cases_mispick',
'units_mispick',
'po_line_number',
@ -699,6 +704,13 @@ class PurchasingBatchView(BatchMasterView):
f.set_readonly('case_quantity')
# quantity fields
f.set_renderer('ordered', self.render_row_quantity)
f.set_renderer('shipped', self.render_row_quantity)
f.set_renderer('received', self.render_row_quantity)
f.set_renderer('damaged', self.render_row_quantity)
f.set_renderer('expired', self.render_row_quantity)
f.set_renderer('mispick', self.render_row_quantity)
f.set_type('case_quantity', 'quantity')
f.set_type('cases_ordered', 'quantity')
f.set_type('units_ordered', 'quantity')
@ -770,6 +782,18 @@ class PurchasingBatchView(BatchMasterView):
else:
f.remove_field('product')
def render_row_quantity(self, row, field):
app = self.get_rattail_app()
cases = getattr(row, 'cases_{}'.format(field))
units = getattr(row, 'units_{}'.format(field))
if cases and units:
return "{} cases + {} units".format(app.render_quantity(cases),
app.render_quantity(units))
if cases and not units:
return "{} cases".format(app.render_quantity(cases))
if units and not cases:
return "{} units".format(app.render_quantity(units))
def render_row_credits(self, row, field):
if not row.credits:
return ""