First working version of service_line_qty_update_*

This commit is contained in:
Alexis de Lattre
2020-05-29 23:21:54 +02:00
parent 5c7985a15c
commit 28be3e4e6a
5 changed files with 29 additions and 18 deletions

View File

@@ -18,7 +18,7 @@ class ServiceQtyUpdate(models.TransientModel):
def run(self):
self.ensure_one()
prec = self.env['decimal.precision'].precision_get('Product Unit of Measure')
for line in self:
for line in self.line_ids:
if float_compare(line.post_delivered_qty, line.order_qty, precision_digits=prec) > 0:
raise UserError(_(
"On line '%s', the total delivered qty (%s) is superior to the ordered qty (%s).") % (line.name, line.post_delivered_qty, line.order_qty))
@@ -38,15 +38,15 @@ class ServiceQtyUpdateLine(models.TransientModel):
parent_id = fields.Many2one(
'service.qty.update', string='Wizard', ondelete='cascade')
product_id = fields.Many2one('product.product', string='Product', readonly=True)
name = fields.Char(string='Description', readonly=True)
name = fields.Char()
name_readonly = fields.Char(related='name', string='Description')
order_qty = fields.Float(
string='Order Qty',
digits=dp.get_precision('Product Unit of Measure'),
readonly=True)
digits=dp.get_precision('Product Unit of Measure'))
order_qty_readonly = fields.Float(related='order_qty', string='Product Unit of Measure')
pre_delivered_qty = fields.Float(
string='Current Delivered Qty',
digits=dp.get_precision('Product Unit of Measure'),
readonly=True)
digits=dp.get_precision('Product Unit of Measure'))
pre_delivered_qty_readonly = fields.Float(related='pre_delivered_qty', string='Current Delivered Qty')
added_delivered_qty = fields.Float(
string='Added Delivered Qty',
digits=dp.get_precision('Product Unit of Measure'))

View File

@@ -13,12 +13,15 @@
<field name="arch" type="xml">
<form>
<group name="main">
<field name="line_ids" editable="bottom" nolabel="1" options="{'no_create': True}">
<tree>
<field name="line_ids" nolabel="1">
<tree editable="bottom">
<field name="product_id"/>
<field name="name"/>
<field name="order_qty"/>
<field name="pre_delivered_qty"/>
<field name="name" invisible="0"/>
<field name="name_readonly"/>
<field name="order_qty" invisible="1"/>
<field name="order_qty_readonly"/>
<field name="pre_delivered_qty" invisible="1"/>
<field name="pre_delivered_qty_readonly"/>
<field name="added_delivered_qty"/>
<field name="post_delivered_qty"/>
<field name="uom_id" groups="uom.group_uom"/>