Avoid "None" when rendering product UOM field
This commit is contained in:
parent
919d8d109f
commit
13565d1c45
|
@ -393,138 +393,6 @@ class ProductView(MasterView):
|
|||
g.set_link('item_id')
|
||||
g.set_link('description')
|
||||
|
||||
def configure_common_form(self, f):
|
||||
super().configure_common_form(f)
|
||||
product = f.model_instance
|
||||
|
||||
# unit_size
|
||||
f.set_type('unit_size', 'quantity')
|
||||
|
||||
# unit_of_measure
|
||||
f.set_enum('unit_of_measure', self.enum.UNIT_OF_MEASURE)
|
||||
f.set_label('unit_of_measure', "Unit of Measure")
|
||||
|
||||
# packs
|
||||
if self.creating:
|
||||
f.remove_field('packs')
|
||||
elif self.viewing and product.packs:
|
||||
f.set_renderer('packs', self.render_packs)
|
||||
f.set_label('packs', "Pack Items")
|
||||
else:
|
||||
f.remove_field('packs')
|
||||
|
||||
# pack_size
|
||||
if self.viewing and not product.is_pack_item():
|
||||
f.remove_field('pack_size')
|
||||
else:
|
||||
f.set_type('pack_size', 'quantity')
|
||||
|
||||
# default_pack
|
||||
if self.viewing and not product.is_pack_item():
|
||||
f.remove_field('default_pack')
|
||||
|
||||
# unit
|
||||
if self.creating:
|
||||
f.remove_field('unit')
|
||||
elif self.viewing and product.is_pack_item():
|
||||
f.set_renderer('unit', self.render_unit)
|
||||
f.set_label('unit', "Unit Item")
|
||||
else:
|
||||
f.remove_field('unit')
|
||||
|
||||
# suggested_price
|
||||
if self.creating:
|
||||
f.remove_field('suggested_price')
|
||||
else:
|
||||
f.set_readonly('suggested_price')
|
||||
f.set_renderer('suggested_price', self.render_suggested_price)
|
||||
|
||||
# regular_price
|
||||
if self.creating:
|
||||
f.remove_field('regular_price')
|
||||
else:
|
||||
f.set_readonly('regular_price')
|
||||
f.set_renderer('regular_price', self.render_regular_price)
|
||||
|
||||
# current_price
|
||||
if self.creating:
|
||||
f.remove_field('current_price')
|
||||
else:
|
||||
f.set_readonly('current_price')
|
||||
f.set_renderer('current_price', self.render_current_price)
|
||||
|
||||
# current_price_ends
|
||||
if self.creating:
|
||||
f.remove_field('current_price_ends')
|
||||
else:
|
||||
f.set_readonly('current_price_ends')
|
||||
f.set_renderer('current_price_ends', self.render_current_price_ends)
|
||||
|
||||
# sale_price
|
||||
if self.creating:
|
||||
f.remove_field('sale_price')
|
||||
else:
|
||||
f.set_readonly('sale_price')
|
||||
f.set_renderer('sale_price', self.render_price)
|
||||
|
||||
# sale_price_ends
|
||||
if self.creating:
|
||||
f.remove_field('sale_price_ends')
|
||||
else:
|
||||
f.set_readonly('sale_price_ends')
|
||||
f.set_renderer('sale_price_ends', self.render_sale_price_ends)
|
||||
|
||||
# tpr_price
|
||||
if self.creating:
|
||||
f.remove_field('tpr_price')
|
||||
else:
|
||||
f.set_readonly('tpr_price')
|
||||
f.set_renderer('tpr_price', self.render_price)
|
||||
|
||||
# tpr_price_ends
|
||||
if self.creating:
|
||||
f.remove_field('tpr_price_ends')
|
||||
else:
|
||||
f.set_readonly('tpr_price_ends')
|
||||
f.set_renderer('tpr_price_ends', self.render_tpr_price_ends)
|
||||
|
||||
# vendor
|
||||
if self.creating:
|
||||
f.remove_field('vendor')
|
||||
else:
|
||||
f.set_readonly('vendor')
|
||||
f.set_label('vendor', "Preferred Vendor")
|
||||
|
||||
# cost
|
||||
if self.creating:
|
||||
f.remove_field('cost')
|
||||
else:
|
||||
f.set_readonly('cost')
|
||||
f.set_label('cost', "Preferred Unit Cost")
|
||||
f.set_renderer('cost', self.render_cost)
|
||||
|
||||
# last_sold
|
||||
if self.creating:
|
||||
f.remove_field('last_sold')
|
||||
else:
|
||||
f.set_readonly('last_sold')
|
||||
|
||||
# inventory_on_hand
|
||||
if self.creating:
|
||||
f.remove_field('inventory_on_hand')
|
||||
else:
|
||||
f.set_readonly('inventory_on_hand')
|
||||
f.set_renderer('inventory_on_hand', self.render_inventory_on_hand)
|
||||
f.set_label('inventory_on_hand', "On Hand")
|
||||
|
||||
# inventory_on_order
|
||||
if self.creating:
|
||||
f.remove_field('inventory_on_order')
|
||||
else:
|
||||
f.set_readonly('inventory_on_order')
|
||||
f.set_renderer('inventory_on_order', self.render_inventory_on_order)
|
||||
f.set_label('inventory_on_order', "On Order")
|
||||
|
||||
def render_cost(self, product, field):
|
||||
cost = getattr(product, field)
|
||||
if not cost:
|
||||
|
@ -824,6 +692,135 @@ class ProductView(MasterView):
|
|||
super().configure_form(f)
|
||||
product = f.model_instance
|
||||
|
||||
# unit_size
|
||||
f.set_type('unit_size', 'quantity')
|
||||
|
||||
# unit_of_measure
|
||||
f.set_enum('unit_of_measure', self.enum.UNIT_OF_MEASURE)
|
||||
f.set_renderer('unit_of_measure', self.render_unit_of_measure)
|
||||
f.set_label('unit_of_measure', "Unit of Measure")
|
||||
|
||||
# packs
|
||||
if self.creating:
|
||||
f.remove_field('packs')
|
||||
elif self.viewing and product.packs:
|
||||
f.set_renderer('packs', self.render_packs)
|
||||
f.set_label('packs', "Pack Items")
|
||||
else:
|
||||
f.remove_field('packs')
|
||||
|
||||
# pack_size
|
||||
if self.viewing and not product.is_pack_item():
|
||||
f.remove_field('pack_size')
|
||||
else:
|
||||
f.set_type('pack_size', 'quantity')
|
||||
|
||||
# default_pack
|
||||
if self.viewing and not product.is_pack_item():
|
||||
f.remove_field('default_pack')
|
||||
|
||||
# unit
|
||||
if self.creating:
|
||||
f.remove_field('unit')
|
||||
elif self.viewing and product.is_pack_item():
|
||||
f.set_renderer('unit', self.render_unit)
|
||||
f.set_label('unit', "Unit Item")
|
||||
else:
|
||||
f.remove_field('unit')
|
||||
|
||||
# suggested_price
|
||||
if self.creating:
|
||||
f.remove_field('suggested_price')
|
||||
else:
|
||||
f.set_readonly('suggested_price')
|
||||
f.set_renderer('suggested_price', self.render_suggested_price)
|
||||
|
||||
# regular_price
|
||||
if self.creating:
|
||||
f.remove_field('regular_price')
|
||||
else:
|
||||
f.set_readonly('regular_price')
|
||||
f.set_renderer('regular_price', self.render_regular_price)
|
||||
|
||||
# current_price
|
||||
if self.creating:
|
||||
f.remove_field('current_price')
|
||||
else:
|
||||
f.set_readonly('current_price')
|
||||
f.set_renderer('current_price', self.render_current_price)
|
||||
|
||||
# current_price_ends
|
||||
if self.creating:
|
||||
f.remove_field('current_price_ends')
|
||||
else:
|
||||
f.set_readonly('current_price_ends')
|
||||
f.set_renderer('current_price_ends', self.render_current_price_ends)
|
||||
|
||||
# sale_price
|
||||
if self.creating:
|
||||
f.remove_field('sale_price')
|
||||
else:
|
||||
f.set_readonly('sale_price')
|
||||
f.set_renderer('sale_price', self.render_price)
|
||||
|
||||
# sale_price_ends
|
||||
if self.creating:
|
||||
f.remove_field('sale_price_ends')
|
||||
else:
|
||||
f.set_readonly('sale_price_ends')
|
||||
f.set_renderer('sale_price_ends', self.render_sale_price_ends)
|
||||
|
||||
# tpr_price
|
||||
if self.creating:
|
||||
f.remove_field('tpr_price')
|
||||
else:
|
||||
f.set_readonly('tpr_price')
|
||||
f.set_renderer('tpr_price', self.render_price)
|
||||
|
||||
# tpr_price_ends
|
||||
if self.creating:
|
||||
f.remove_field('tpr_price_ends')
|
||||
else:
|
||||
f.set_readonly('tpr_price_ends')
|
||||
f.set_renderer('tpr_price_ends', self.render_tpr_price_ends)
|
||||
|
||||
# vendor
|
||||
if self.creating:
|
||||
f.remove_field('vendor')
|
||||
else:
|
||||
f.set_readonly('vendor')
|
||||
f.set_label('vendor', "Preferred Vendor")
|
||||
|
||||
# cost
|
||||
if self.creating:
|
||||
f.remove_field('cost')
|
||||
else:
|
||||
f.set_readonly('cost')
|
||||
f.set_label('cost', "Preferred Unit Cost")
|
||||
f.set_renderer('cost', self.render_cost)
|
||||
|
||||
# last_sold
|
||||
if self.creating:
|
||||
f.remove_field('last_sold')
|
||||
else:
|
||||
f.set_readonly('last_sold')
|
||||
|
||||
# inventory_on_hand
|
||||
if self.creating:
|
||||
f.remove_field('inventory_on_hand')
|
||||
else:
|
||||
f.set_readonly('inventory_on_hand')
|
||||
f.set_renderer('inventory_on_hand', self.render_inventory_on_hand)
|
||||
f.set_label('inventory_on_hand', "On Hand")
|
||||
|
||||
# inventory_on_order
|
||||
if self.creating:
|
||||
f.remove_field('inventory_on_order')
|
||||
else:
|
||||
f.set_readonly('inventory_on_order')
|
||||
f.set_renderer('inventory_on_order', self.render_inventory_on_order)
|
||||
f.set_label('inventory_on_order', "On Order")
|
||||
|
||||
# department
|
||||
if self.creating or self.editing:
|
||||
if 'department' in f.fields:
|
||||
|
@ -998,6 +995,14 @@ class ProductView(MasterView):
|
|||
|
||||
return product
|
||||
|
||||
def render_unit_of_measure(self, product, field):
|
||||
uom = getattr(product, field)
|
||||
if uom is None:
|
||||
return
|
||||
if uom == self.enum.UNIT_OF_MEASURE_NONE:
|
||||
return
|
||||
return self.enum.UNIT_OF_MEASURE.get(uom, uom)
|
||||
|
||||
def render_department(self, product, field):
|
||||
department = product.department
|
||||
if not department:
|
||||
|
|
Loading…
Reference in a new issue