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

Hi,

I want to perform some checking in the ORM write method and show a confirm dialog with yes/no choices to ask confirmation.

If the user click yes, then the record will be saved. Otherwise, the dialog would just be closed.

I tried using exception raising but I don't know how to get which button the user clicked. Moreover, raising an exception implies that the method execution stops which is not what I want.

I also tried by creating a wizard in order to have a custom confirm dialog. But to display that wizard, a dict populated with special values (such as the id of the wizard view) has to be returned. Obviously, I can't return that dict from ORM method such as write.

How can I achieve this ?

What is the best way to do that ?


Avatar
Discard
Best Answer

This is one among the other things in which Odoo is lacking, to my knowledge we don't have any option to ask for confirmation before proceeding.

Write method (ORM method) is not an ideal place to handle any kind of validation, unless you take care of necessary steps to ensure it doesn't stop the standard process of writing values into the database.

For instance, write method can be called/triggered by other dependent object, or it can be called during the computation of non-stored fields, and etc. So in these cases write method will be triggered systematically and if the custom validation stops from performing its basic action, then it will be a mess. 

So use write method in caution or try with some other alternate way to achieve your requirement.


Avatar
Discard
Author

Hi Thanks for your answer.

I have no problem about using an alternate way but I don't know how to do.