Odoo is the world's easiest all-in-one management software. It includes hundreds of business apps:
CRM | e-Commerce | Accounting | Inventory | PoS | Project management | MRP | etc.
I want to extend the functionality of the method that deletes the records of module so that when i do, it also deletes some records related to this one. Can this be done?
I thought that overriding the unlink method would work, but i tried and no result.
Here is my code.
def unlink(self, cr, uid, ids, context=None): #Call the parent method to eliminate the records. super(Specie, self).unlink(cr, uid, ids, context) Actions_Model = self.pool.get('ir.actions.act_window') Menus_Model = self.pool.get('ir.ui.menu') species = self.browse(cr, uid, ids) for specie in species: menus = specie.menus actions = specie.actions if menus: for menu in menus: Menus_Model.unlink(cr, uid, menu) if actions: for action in actions: Actions_Model.unlink(cr, uid, action) return True
Edit: I tried using the ondelete attribute as suggested but is not working with one2many fields. I have these 2 fields...
'actions': fields.one2many('ir.actions.act_window', 'specie', 'Actions', ondelete='cascade'), 'menus': fields.one2many('ir.ui.menu', 'specie', 'Menus', ondelete='cascade')
and when i erase my record i want that it erases the field that are in related via these 2. ondelete='cascade' does that? I try and didn't happen.
About This Community
This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.Register
Odoo Training Center
Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.Test it now
|Asked: 10/10/13, 5:56 PM|
|Seen: 6265 times|
|Last updated: 3/16/15, 8:10 AM|