Skip to Content
Menu
This question has been flagged
1 Reply
3809 Views

Hi everyone!


I'm coding a server action to check the available quantity of the products before booking them!

I want this server action be launched only when the user is going to save or confirm the order and not when he wants to cancel it. Could you help please?

  produit = env['product.product'].search([('default_code', '=', record.product_id.default_code)])

  if record.product_uom_qty > record.product_id.immediately_usable_qty:

    if action != model.action_cancel() or action != model.action_create_reservation():

      raise Warning(str(record.product_id.default_code) + ": Seulement " + str(record.product_id.immediately_usable_qty) + " en stock!")



Avatar
Discard
Best Answer

Hi,
In this case you don’t need to write a server action. You can simply do the same thing using @api.constrains() decorator. It will trigger while save the record and you can check the conditions whatever you want and also raise a Warning.

@api.constrains('field_1', 'field2')
def _check_sequence(self):
produit = self.env['product.product'].search([('default_code', '=', record.product_id.default_code)])
if record.product_uom_qty > record.product_id.immediately_usable_qty:
raise Warning(str(record.product_id.default_code) + ": Seulement " + str(
record.product_id.immediately_usable_qty) + " en stock!")
Regards


Avatar
Discard
Related Posts Replies Views Activity
4
Jun 20
4171
2
Feb 25
4588
3
Jun 25
2309
2
Aug 24
1403
0
Jan 25
1267