Traceback (most recent call last): File "D:\pythonspace\openerp8_last\openerp\http.py", line 470, in dispatch result = self._call_function(**self.params) File "D:\pythonspace\openerp8_last\openerp\http.py", line 294, in _call_function return checked_call(self.db, *args, **kwargs) File "D:\pythonspace\openerp8_last\openerp\service\model.py", line 113, in wrapper return f(dbname, *args, **kwargs) File "D:\pythonspace\openerp8_last\openerp\http.py", line 291, in checked_call return self.endpoint(*a, **kw) File "D:\pythonspace\openerp8_last\openerp\http.py", line 638, in __call__ return self.method(*args, **kw) File "D:\pythonspace\openerp8_last\openerp\http.py", line 337, in response_wrap response = f(*args, **kw) File "D:\pythonspace\openerp8_last\openerp\addons\web\controllers\main.py", line 1242, in call_kw return self._call_kw(model, method, args, kwargs) File "D:\pythonspace\openerp8_last\openerp\addons\web\controllers\main.py", line 1234, in _call_kw return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "D:\pythonspace\openerp8_last\openerp\addons\email_template\wizard\mail_compose_message.py", line 54, in default_get res.get('model'), res.get('res_id', context.get('active_id')), context=context File "D:\pythonspace\openerp8_last\openerp\addons\email_template\wizard\mail_compose_message.py", line 102, in onchange_template_id values = self.generate_email_for_composer_batch(cr, uid, template_id, [res_id], context=context)[res_id] File "D:\pythonspace\openerp8_last\openerp\addons\email_template\wizard\mail_compose_message.py", line 177, in generate_email_for_composer_batch template_values = self.pool.get('email.template').generate_email_batch(cr, uid, template_id, res_ids, fields=fields, context=context) File "D:\pythonspace\openerp8_last\openerp\addons\email_template\email_template.py", line 452, in generate_email_batch result, format = self.pool['report'].get_pdf(cr, uid, [res_id], report_service, context=ctx), 'pdf' File "D:\pythonspace\openerp8_last\openerp\addons\report\models\report.py", line 255, in get_pdf html = self.get_html(cr, uid, ids, report_name, data=data, context=context) File "D:\pythonspace\openerp8_last\openerp\addons\report\models\report.py", line 246, in get_html return self.render(cr, uid, [], report.report_name, docargs, context=context) File "D:\pythonspace\openerp8_last\openerp\addons\report\models\report.py", line 222, in render return view_obj.render(cr, uid, template, values, context=context) File "D:\pythonspace\openerp8_last\openerp\addons\website\models\ir_ui_view.py", line 160, in render return super(view, self).render(cr, uid, id_or_xml_id, values=values, engine=engine, context=context) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_ui_view.py", line 870, in render return self.pool[engine].render(cr, uid, id_or_xml_id, qcontext, loader=loader, context=context) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 233, in render return self.render_node(self.get_template(id_or_xml_id, qwebcontext), qwebcontext) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 277, in render_node result = self.render_element(element, template_attributes, generated_attributes, qwebcontext) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 294, in render_element g_inner.append(self.render_node(current_node, qwebcontext)) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 275, in render_node result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 388, in render_tag_call d[0] = self.render_element(element, template_attributes, generated_attributes, d) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 294, in render_element g_inner.append(self.render_node(current_node, qwebcontext)) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 275, in render_node result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 374, in render_tag_foreach ru.append(self.render_element(element, template_attributes, generated_attributes, copy_qwebcontext)) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 294, in render_element g_inner.append(self.render_node(current_node, qwebcontext)) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 275, in render_node result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 388, in render_tag_call d[0] = self.render_element(element, template_attributes, generated_attributes, d) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 294, in render_element g_inner.append(self.render_node(current_node, qwebcontext)) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 277, in render_node result = self.render_element(element, template_attributes, generated_attributes, qwebcontext) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 299, in render_element raise_qweb_exception(message="Could not render element %r" % element.nodeName, node=element, template=template) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 294, in render_element g_inner.append(self.render_node(current_node, qwebcontext)) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 275, in render_node result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext) File "D:\pythonspace\openerp8_last\openerp\addons\base\ir\ir_qweb.py", line 420, in render_tag_field column = record._model._all_columns[field_name].column QWebException: 'NoneType' object has no attribute '_model'
新版openerp 安装完 采购发邮件会出现错误。
修改addons/report/models/report.py
def render_doc(doc_id, model, template): """Helper used when a report should be translated into the associated partner's lang. <t t-foreach="doc_ids" t-as="doc_id"> <t t-raw="render_doc(doc_id, doc_model, 'module.templatetocall')"/> </t> :param doc_id: id of the record to translate :param model: model of the record to translate :param template: name of the template to translate into the partner's lang """ ctx = context.copy() doc = self.pool[model].browse(cr, uid, doc_id, context=ctx) qcontext = values.copy() # Do not force-translate if we chose to display the report in a specific lang if ctx.get('translatable') is True: qcontext['o'] = doc else: ctx['lang'] = doc.partner_id.lang qcontext['o'] = self.pool[model].browse(cr, uid, doc_id, context=ctx) print 'sssssssss' return view_obj.render(cr, uid, template, qcontext, context=ctx) values.update({ 'time': time, 'formatLang': partial(self.formatLang, cr=cr, uid=uid), 'get_digits': self._get_digits, 'render_doc': render_doc, 'editable': True, # Will active inherit_branding 'res_company': self.pool['res.users'].browse(cr, uid, uid).company_id, 'website': False, # Will be overidden by ir.ui.view if the request has website enabled 'user': self.pool['res.users'].browse(cr, uid, uid) #添加这行 }) return view_obj.render(cr, uid, template, values, context=context)
因为在后面ir_web 解析的到时候需要user对象。