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('item_id')
|
||||||
g.set_link('description')
|
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):
|
def render_cost(self, product, field):
|
||||||
cost = getattr(product, field)
|
cost = getattr(product, field)
|
||||||
if not cost:
|
if not cost:
|
||||||
|
@ -824,6 +692,135 @@ class ProductView(MasterView):
|
||||||
super().configure_form(f)
|
super().configure_form(f)
|
||||||
product = f.model_instance
|
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
|
# department
|
||||||
if self.creating or self.editing:
|
if self.creating or self.editing:
|
||||||
if 'department' in f.fields:
|
if 'department' in f.fields:
|
||||||
|
@ -998,6 +995,14 @@ class ProductView(MasterView):
|
||||||
|
|
||||||
return product
|
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):
|
def render_department(self, product, field):
|
||||||
department = product.department
|
department = product.department
|
||||||
if not department:
|
if not department:
|
||||||
|
|
Loading…
Reference in a new issue