I am trying to inherit email.template function with the signature:
def generate_email_batch(self, cr, uid, template_id, res_ids, context=None, fields=None):
But when my custom function calls super fails, i think this is because the function not have ids and "fields" are after the context
my module code:
from openerp import models, fields, api
class EmailTemplate(models.Model):
_inherit = 'email.template'
@api.multi
def generate_email_batch(self, res_ids, fields=None):
res = super(EmailTemplate,self).generate_email_batch(res_ids, fields)
if i change the signature of original function to:
def generate_email_batch(self, cr, uid, ids, res_ids=None, fields=None, context=None):
i have no problem to inherit in new api.
I'm doing something wrong or the new api can't inherit functions with the ids field with another name and field after context?
Thanks you Ivan, but the problem with the context persist, i do not know if the problem is because the argument fields is after context or is another problem with my code. File "/opt/openerp/buildout_projects/parts/odoo/openerp/api.py", line 462, in new_api result = method(self._model, cr, uid, *args, **kwargs) TypeError: generate_email_batch() got multiple values for keyword argument 'context' @api.model def generate_email_batch(self, template_id, res_ids, fields=None): res = super(EmailTemplate,self).generate_email_batch(template_id, res_ids, fields)
change it to super(EmailTemplate,self).generate_email_batch(template_id, res_ids, fields=fields). If fields is specified without name it will fill into the place of context, which is the next argument. Since @api.model also adds context=context, it complains about multiple values for keyword argument 'context'. - I think.