Contributors mailing list archives

contributors@odoo-community.org

Re: Prevent to delete product imported by a module

by
ThinkOpen Solutions Portugal, Daniel Reis
- 19/05/2016 10:56:21
Quentin's idea is good, but needs an adjustment, since you can have xml ids generated by export or added manually.
So the protection rule would be to have an xml id belonging to an installed module name.

Or maybe better, protect for xml ids from modules in a protected list, defined in a configuration entry.

--
Daniel

No dia 19/05/2016, às 11:08, Quentin THEURET <odoo@kerpeo.com> escreveu:

Le 19/05/2016 11:23, David Beal a écrit :
> Hi all,
Hi David,
>
> I need a generic way to prevent the user to delete product or any 
> other record created by a module.
>
> What are the best options ?
>
> I suggest:
> - a base module
> - which override unlink() by monkey patching
> - check if in this record a boolean field named 'protected' or other 
> convention exist and is True
> - then prevent unlink
>
> What do you think ?
>
In the unlink() method, you can check if the ID of the unlink product is 
in the ir_model_data table with model = 'product.product' and res_id = ID.

With this, you cannot have to add a 'protected' field on the 
product.product model.

Regards,

-- 
Quentin THEURET
https://twitter.com/qtheuret