This question has been flagged

HI

I'm using odoo8, i recently wanted to add the logo on each page of my website on my main database, after doing this, i received a message of internal server error and I couldn't access to any page of this database ( I couldn't access to the config/view menu)

I could access to all others databases, but if If i choose the main one, i will get an error message and couldn't even log in. .

Here is the log file of the server error:

2016-04-18 22:01:15,135 1158 ERROR MAIN_DB werkzeug: Error on request:

Traceback (most recent call last):

File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi

execute(self.server.app)

File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 165, in execute

application_iter = app(environ, start_response)

File "/opt/odoo/openerp/service/server.py", line 290, in app

return self.app(e, s)

File "/opt/odoo/openerp/service/wsgi_server.py", line 216, in application

return application_unproxied(environ, start_response)

File "/opt/odoo/openerp/service/wsgi_server.py", line 202, in application_unproxied

result = handler(environ, start_response)

File "/opt/odoo/openerp/http.py", line 1290, in __call__

return self.dispatch(environ, start_response)

File "/opt/odoo/openerp/http.py", line 1264, in __call__

return self.app(environ, start_wrapped)

File "/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 579, in __call__

return self.app(environ, start_response)

File "/opt/odoo/openerp/http.py", line 1428, in dispatch

ir_http = request.registry['ir.http']

File "/opt/odoo/openerp/http.py", line 346, in registry

return openerp.modules.registry.RegistryManager.get(self.db) if self.db else None

File "/opt/odoo/openerp/modules/registry.py", line 339, in get

update_module)

File "/opt/odoo/openerp/modules/registry.py", line 370, in new

openerp.modules.load_modules(registry._db, force_demo, status, update_module)

File "/opt/odoo/openerp/modules/loading.py", line 351, in load_modules

force, status, report, loaded_modules, update_module)

File "/opt/odoo/openerp/modules/loading.py", line 255, in load_marked_modules

loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)

File "/opt/odoo/openerp/modules/loading.py", line 176, in load_module_graph

_load_data(cr, module_name, idref, mode, kind='data')

File "/opt/odoo/openerp/modules/loading.py", line 118, in _load_data

tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)

File "/opt/odoo/openerp/tools/convert.py", line 900, in convert_file

convert_xml_import(cr, module, fp, idref, mode, noupdate, report)

File "/opt/odoo/openerp/tools/convert.py", line 986, in convert_xml_import

obj.parse(doc.getroot(), mode=mode)

File "/opt/odoo/openerp/tools/convert.py", line 852, in parse

self._tags[rec.tag](self.cr, rec, n, mode=mode)

File "/opt/odoo/openerp/tools/convert.py", line 826, in _tag_template

return self._tag_record(cr, record, data_node)

File "/opt/odoo/openerp/tools/convert.py", line 762, in _tag_record

id = self.pool['ir.model.data']._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context )

File "/opt/odoo/openerp/api.py", line 268, in wrapper

return old_api(self, *args, **kwargs)

File "/opt/odoo/openerp/addons/base/ir/ir_model.py", line 1019, in _update

model_obj.write(cr, uid, [res_id], values, context=context)

File "/opt/odoo/openerp/api.py", line 268, in wrapper

return old_api(self, *args, **kwargs)

File "/opt/odoo/openerp/addons/base/ir/ir_ui_view.py", line 273, in write

context)

File "/opt/odoo/openerp/api.py", line 268, in wrapper

return old_api(self, *args, **kwargs)

File "/opt/odoo/openerp/api.py", line 399, in old_api

result = method(recs, *args, **kwargs)

File "/opt/odoo/openerp/models.py", line 3788, in write

self._write(old_vals)

File "/opt/odoo/openerp/api.py", line 266, in wrapper

return new_api(self, *args, **kwargs)

File "/opt/odoo/openerp/api.py", line 592, in new_api

result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)

File "/opt/odoo/openerp/models.py", line 3960, in _write

recs._validate_fields(vals)

File "/opt/odoo/openerp/api.py", line 266, in wrapper

return new_api(self, *args, **kwargs)

File "/opt/odoo/openerp/models.py", line 1271, in _validate_fields

raise ValidationError('\n'.join(errors))

ParseError: "ValidateError

Field(s) `arch` failed against a constraint: Invalid view definition

Error details:

Element '<xpath expr="//header//a[@class='navbar-brand']">' cannot be located in parent view

Error context:

View `Show Logo`

[view_id: 846, xml_id: website.layout_logo_show, model: n/a, parent_id: 844]" while parsing None:173, near

<data inherit_id="website.layout" customize_show="True" name="Show Logo">

<xpath expr="//header//a[@class='navbar-brand']" position="replace">

<a href="/" class="navbar-brand logo">

<img src="/logo.png" t-att-alt="'Logo of %s' % res_company.name" t-att-title="res_company.name"/>

</a>

</xpath>

</data>

Does anyone know how could I fix it?

Thank you for your help !

Avatar
Discard
Best Answer

ifeld(s) `arch` failed against a constraint: Invalid view definition

Error details:

Element '<xpath expr="//header//a[@class='navbar-brand']">' cannot be located in parent view

Error context:

View `Show Logo


Your Xpath is not correct ..Thats why error raise

Avatar
Discard
Best Answer

Hi, Try this:

<template id="your_id" inherit_id="website.layout" customize_show="True" name="Show Logo">
    <xpath expr="//header//a[@class='navbar-brand']" position="replace">
                       ...
    </xpath>
</template>


use template instead of data tag ..

Hope this will works,


Avatar
Discard
Author Best Answer

thank you for your answer, but how could i modify it without conecting.. Guess it would be with console or pgadmin?I m using pgadmin to connect the database but couldn't find the view... My server is with Ubuntu 14.04.... .

Avatar
Discard

Restore a database backup!