Search code examples
odooodoo-8odoo-9

From new to old Api


@api.multi
    def unlink(self):
        for deferr in self:
            if deferr.invoice_id.state != 'draft':
                raise UserError('ERROR')
return super(account_deferred_income_charges, self).unlink()

I want to write the same method but with old api. how can I do this?

def unlink(self, cr, uid, ids, context=None):
    def_line_obj = self.pool.get('account.deferred.income.charges.')

return super(account_deferred_income_charges, self).unlink(
            cr, uid, ids, context=context
        )

Solution

  • You can write like the following:

    from openerp import osv
    from openerp.tools.translate import _
    
    def unlink(self, cr, uid, ids, context=None):
        for item in self.browse(cr, uid, ids, context=context):
            if item.invoice_id.state != 'draft':
               raise osv.except_osv(_('User Error!'),_('Error Text'))
    
        return super(account_deferred_income_charges, self).unlink(cr, uid, ids, context=context)