Misc. improvements for desktop receiving views

- don't expose "cases" if config says not to
- don't expose "expired" if config says not to
- use `numeric-input` for quantity fields
- add `product_key_field` to global-ish template context
This commit is contained in:
Lance Edgar 2022-07-26 16:30:04 -05:00
parent 92a52133de
commit 17810d9cae
7 changed files with 125 additions and 84 deletions

View file

@ -339,7 +339,6 @@ class CustomerOrderView(MasterView):
'batch': batch,
'normalized_batch': self.normalize_batch(batch),
'new_order_requires_customer': self.batch_handler.new_order_requires_customer(),
'product_key_field': self.rattail_config.product_key(),
'product_price_may_be_questionable': self.batch_handler.product_price_may_be_questionable(),
'allow_contact_info_choice': self.batch_handler.allow_contact_info_choice(),
'allow_contact_info_create': self.batch_handler.allow_contact_info_creation(),

View file

@ -2208,6 +2208,9 @@ class MasterView(View):
'quickie': None,
}
key = self.rattail_config.product_key()
context['product_key_field'] = self.product_key_fields.get(key, key)
if self.expose_quickie_search:
context['quickie'] = self.get_quickie_context()

View file

@ -1180,9 +1180,6 @@ class ProductView(MasterView):
product = kwargs['instance']
use_buefy = self.get_use_buefy()
key = self.rattail_config.product_key()
kwargs['product_key_field'] = self.product_key_fields.get(key, key)
kwargs['image_url'] = self.products_handler.get_image_url(product)
# add price history, if user has access

View file

@ -803,7 +803,9 @@ class PurchasingBatchView(BatchMasterView):
app = self.get_rattail_app()
cases = getattr(row, 'cases_{}'.format(field))
units = getattr(row, 'units_{}'.format(field))
return app.render_cases_units(cases, units)
# nb. do not render anything if empty quantities
if cases or units:
return app.render_cases_units(cases, units)
def make_row_credits_grid(self, row):
use_buefy = self.get_use_buefy()
@ -815,8 +817,6 @@ class PurchasingBatchView(BatchMasterView):
data=[] if use_buefy else row.credits,
columns=[
'credit_type',
# 'cases_shorted',
# 'units_shorted',
'shorted',
'credit_total',
'expiration_date',
@ -827,20 +827,19 @@ class PurchasingBatchView(BatchMasterView):
],
labels={
'credit_type': "Type",
'cases_shorted': "Cases",
'units_shorted': "Units",
'shorted': "Quantity",
'credit_total': "Total",
'mispick_upc': "Mispick UPC",
'mispick_brand_name': "MP Brand",
'mispick_description': "MP Description",
'mispick_size': "MP Size",
# 'mispick_upc': "Mispick UPC",
# 'mispick_brand_name': "MP Brand",
# 'mispick_description': "MP Description",
# 'mispick_size': "MP Size",
})
g.set_type('cases_shorted', 'quantity')
g.set_type('units_shorted', 'quantity')
g.set_type('credit_total', 'currency')
if not self.batch_handler.allow_expired_credits():
g.remove('expiration_date')
return g
def render_row_credits(self, row, field):

View file

@ -152,8 +152,7 @@ class ReceivingBatchView(PurchasingBatchView):
row_grid_columns = [
'sequence',
'upc',
# 'item_id',
'_product_key_',
'vendor_code',
'brand_name',
'description',
@ -177,8 +176,7 @@ class ReceivingBatchView(PurchasingBatchView):
row_form_fields = [
'sequence',
'item_entry',
'upc',
'item_id',
'_product_key_',
'vendor_code',
'product',
'brand_name',
@ -769,6 +767,8 @@ class ReceivingBatchView(PurchasingBatchView):
products_handler = app.get_products_handler()
row = kwargs['instance']
kwargs['allow_cases'] = self.batch_handler.allow_cases()
if row.product:
kwargs['image_url'] = products_handler.get_image_url(row.product)
elif row.upc:
@ -776,8 +776,16 @@ class ReceivingBatchView(PurchasingBatchView):
if use_buefy:
kwargs['row_context'] = self.get_context_row(row)
kwargs['possible_receiving_modes'] = POSSIBLE_RECEIVING_MODES
kwargs['possible_credit_types'] = POSSIBLE_CREDIT_TYPES
modes = list(POSSIBLE_RECEIVING_MODES)
types = list(POSSIBLE_CREDIT_TYPES)
if not self.batch_handler.allow_expired_credits():
if 'expired' in modes:
modes.remove('expired')
if 'expired' in types:
types.remove('expired')
kwargs['possible_receiving_modes'] = modes
kwargs['possible_credit_types'] = types
return kwargs