_get_default_calendar casts exception about invalid attribute in lxml

Bug #1187780 reported by Valentin Lab
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Odoo Server (MOVED TO GITHUB)
Confirmed
Medium
OpenERP's Framework R&D

Bug Description

Tested on last openobject-server code.

``_get_default_calendar`` method do not seems to have been launched even once:

It contains the instruction:

    ...
    etree.SubElement(view, 'field', self._rec_name_fallback(cr, user, context))
    ...

Which will inevitably casts an exception, because third argument must be a dict or a keyword argument.

I propose:

    ...
    etree.SubElement(view, 'field', name=self._rec_name_fallback(cr, user, context)
    ...

Here's more info:

Traceback (most recent call last):
  File "/home/vaab/dev/python/0k-oe/openobject-server/openerp/netsvc.py", line 293, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/home/vaab/dev/python/0k-oe/openobject-server/openerp/service/web_services.py", line 658, in dispatch
    res = fn(db, uid, *params)
  File "/home/vaab/dev/python/0k-oe/openobject-server/openerp/osv/osv.py", line 188, in execute_kw
    return self.execute(db, uid, obj, method, *args, **kw or {})
  File "/home/vaab/dev/python/0k-oe/openobject-server/openerp/osv/osv.py", line 131, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/home/vaab/dev/python/0k-oe/openobject-server/openerp/osv/osv.py", line 197, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/home/vaab/dev/python/0k-oe/openobject-server/openerp/osv/osv.py", line 185, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/home/vaab/dev/python/0k-oe/openobject-server/openerp/osv/orm.py", line 2244, in fields_view_get
    cr, user, context)
  File "/home/vaab/dev/python/0k-oe/openobject-server/openerp/osv/orm.py", line 2010, in _get_default_calendar_view
    etree.SubElement(view, 'field', self._rec_name_fallback(cr, user, context))
  File "lxml.etree.pyx", line 2658, in lxml.etree.SubElement (src/lxml/lxml.etree.c:53684)
  File "apihelpers.pxi", line 224, in lxml.etree._makeSubElement (src/lxml/lxml.etree.c:12443)
  File "apihelpers.pxi", line 219, in lxml.etree._makeSubElement (src/lxml/lxml.etree.c:12368)
  File "apihelpers.pxi", line 286, in lxml.etree._initNodeAttributes (src/lxml/lxml.etree.c:13040)
TypeError: Invalid attribute dictionary: str

(Pdb) u
> /apihelpers.pxi(219)lxml.etree._makeSubElement (src/lxml/lxml.etree.c:12368)()

(Pdb) u
> /apihelpers.pxi(224)lxml.etree._makeSubElement (src/lxml/lxml.etree.c:12443)()

(Pdb) u
> /lxml.etree.pyx(2658)lxml.etree.SubElement (src/lxml/lxml.etree.c:53684)()

(Pdb) u
> /home/vaab/dev/python/0k-oe/openobject-server/openerp/osv/orm.py(2010)_get_default_calendar_view()
-> etree.SubElement(view, 'field', self._rec_name_fallback(cr, user, context))

(Pdb) l
2005 view.set(to, item)
2006 return True
2007 return False
2008
2009 view = etree.Element('calendar', string=self._description)
2010 -> etree.SubElement(view, 'field', self._rec_name_fallback(cr, user, context))
2011
2012 if self._date_name not in self._columns:
2013 date_found = False
2014 for dt in ['date', 'date_start', 'x_date', 'x_date_start']:
2015 if dt in self._columns:

(Pdb) etree.SubElement(view, 'field', self._rec_name_fallback(cr, user, context))
*** TypeError: Invalid attribute dictionary: str
(Pdb) etree.SubElement(view, 'field', name=self._rec_name_fallback(cr, user, context))
<Element field at 0x7f7e002c39b0>

I'm using lxml==2.3.4

Related branches

Changed in openobject-server:
assignee: nobody → OpenERP's Framework R&D (openerp-dev-framework)
importance: Undecided → Medium
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.