Skip to Content
Menu
This question has been flagged
2 Replies
1676 Views

I need to create an automation so that no one can close an opportunity until and unless a quotation is made against it.

Avatar
Discard
Author Best Answer

Thank you, I think 2nd option suits us better. Can you guide how it can be done. Apologies I am new to Odoo


Avatar
Discard

First, create a custom module that inherits from the crm.lead model and include the following code:

from odoo import models, fields, api, _
from odoo.exceptions import UserError

class CustomCrmLead(models.Model):
_inherit = 'crm.lead'

def action_set_won_rainbowman(self):
if not self.quotation_count:
raise UserError(_("This opportunity cannot be marked as 'Won' until a quotation has been created."))
return super(CustomCrmLead, self).action_set_won_rainbowman()

Best Answer

I think you want to ensure that a lead can only be moved to the "Won" stage if an order has been created from it.

Here are two possible approaches:

  1. Hide the "Won" button unless an order is associated with the lead.
  2. Display a user error when the "Won" button is clicked without an associated order, prompting the user to create an order first.

Avatar
Discard
Related Posts Replies Views Activity
2
Aug 25
163
2
Aug 25
1305
0
Feb 25
1449
1
Jan 25
2004
1
Nov 24
155