view debbugging improvement: cf branche definition
bzr revid: rvalyi@gmail.com-20081202174137-zwqbqx7is0vcvrkw
This commit is contained in:
parent
49c441b3a4
commit
b2fdf09676
|
@ -770,7 +770,7 @@ class orm_template(object):
|
||||||
def view_header_get(self, cr, user, view_id=None, view_type='form', context=None):
|
def view_header_get(self, cr, user, view_id=None, view_type='form', context=None):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def __view_look_dom(self, cr, user, node, context=None):
|
def __view_look_dom(self, cr, user, node, view_id, context=None):
|
||||||
if not context:
|
if not context:
|
||||||
context = {}
|
context = {}
|
||||||
result = False
|
result = False
|
||||||
|
@ -796,7 +796,7 @@ class orm_template(object):
|
||||||
node.removeChild(f)
|
node.removeChild(f)
|
||||||
ctx = context.copy()
|
ctx = context.copy()
|
||||||
ctx['base_model_name'] = self._name
|
ctx['base_model_name'] = self._name
|
||||||
xarch, xfields = self.pool.get(relation).__view_look_dom_arch(cr, user, f, ctx)
|
xarch, xfields = self.pool.get(relation).__view_look_dom_arch(cr, user, f, view_id, ctx)
|
||||||
views[str(f.localName)] = {
|
views[str(f.localName)] = {
|
||||||
'arch': xarch,
|
'arch': xarch,
|
||||||
'fields': xfields
|
'fields': xfields
|
||||||
|
@ -846,11 +846,11 @@ class orm_template(object):
|
||||||
|
|
||||||
if childs:
|
if childs:
|
||||||
for f in node.childNodes:
|
for f in node.childNodes:
|
||||||
fields.update(self.__view_look_dom(cr, user, f, context))
|
fields.update(self.__view_look_dom(cr, user, f, view_id, context))
|
||||||
return fields
|
return fields
|
||||||
|
|
||||||
def __view_look_dom_arch(self, cr, user, node, context=None):
|
def __view_look_dom_arch(self, cr, user, node, view_id, context=None):
|
||||||
fields_def = self.__view_look_dom(cr, user, node, context=context)
|
fields_def = self.__view_look_dom(cr, user, node, view_id, context=context)
|
||||||
|
|
||||||
buttons = xpath.Evaluate('//button', node)
|
buttons = xpath.Evaluate('//button', node)
|
||||||
if buttons:
|
if buttons:
|
||||||
|
@ -877,7 +877,23 @@ class orm_template(object):
|
||||||
arch = node.toxml(encoding="utf-8").replace('\t', '')
|
arch = node.toxml(encoding="utf-8").replace('\t', '')
|
||||||
fields = self.fields_get(cr, user, fields_def.keys(), context)
|
fields = self.fields_get(cr, user, fields_def.keys(), context)
|
||||||
for field in fields_def:
|
for field in fields_def:
|
||||||
fields[field].update(fields_def[field])
|
if fields.has_key(field):
|
||||||
|
fields[field].update(fields_def[field])
|
||||||
|
else:
|
||||||
|
logger = netsvc.Logger()
|
||||||
|
print view_id
|
||||||
|
print field
|
||||||
|
cr.execute('select name, model from ir_ui_view where (id=%d or inherit_id=%d) and arch like %s', (view_id, view_id, '%'+ field + '%'))
|
||||||
|
res = cr.fetchall()
|
||||||
|
print 'select name, model from ir_ui_view where (id=%d or inherit_id=%d) and arch like %s', (view_id, view_id, field)
|
||||||
|
print res
|
||||||
|
msg = "Error, can't find database field or computed field:\n '%s' \nin the following view parts composing the view of object model '%s':\n\n" % (field, res[0][1])
|
||||||
|
for line in res:
|
||||||
|
msg += "- %s\n" % line[0]
|
||||||
|
msg += "\nEither you wrongly customized this view, \nor some modules bringing those views are not compatible with your current data model"
|
||||||
|
logger.notifyChannel('orm', netsvc.LOG_ERROR, msg )
|
||||||
|
raise except_orm('View error', msg )
|
||||||
|
|
||||||
return arch, fields
|
return arch, fields
|
||||||
|
|
||||||
def __get_default_calendar_view(self):
|
def __get_default_calendar_view(self):
|
||||||
|
@ -1057,7 +1073,7 @@ class orm_template(object):
|
||||||
result['view_id'] = 0
|
result['view_id'] = 0
|
||||||
|
|
||||||
doc = dom.minidom.parseString(result['arch'].encode('utf-8'))
|
doc = dom.minidom.parseString(result['arch'].encode('utf-8'))
|
||||||
xarch, xfields = self.__view_look_dom_arch(cr, user, doc, context=context)
|
xarch, xfields = self.__view_look_dom_arch(cr, user, doc, view_id, context=context)
|
||||||
result['arch'] = xarch
|
result['arch'] = xarch
|
||||||
result['fields'] = xfields
|
result['fields'] = xfields
|
||||||
if toolbar:
|
if toolbar:
|
||||||
|
|
Loading…
Reference in New Issue