After 2 days trying to install the new web themes, I need help. I had an installation, where I could install the new themes, but after some other changes, I never again could install them. It works with a new database though.
I use the following install script: https://github.com/treviser/odoo-install-scripts/issues.
This is the error message I always get:
https://github.com/treviser/odoo-install-scripts/issues
Traceback (most recent call last):
File "/opt/odoo/odoo-server/openerp/http.py", line 526, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo-server/openerp/http.py", line 563, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/odoo-server/openerp/http.py", line 303, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/http.py", line 300, in checked_call
return self.endpoint(*a, **kw)
File "/opt/odoo/odoo-server/openerp/http.py", line 792, in __call__
return self.method(*args, **kw)
File "/opt/odoo/odoo-server/openerp/http.py", line 396, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 953, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 941, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/addons/base/module/module.py", line 450, in button_immediate_install
return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)
File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/addons/base/module/module.py", line 498, in _button_immediate_function
registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
File "/opt/odoo/odoo-server/openerp/modules/registry.py", line 366, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo/odoo-server/openerp/modules/loading.py", line 355, in load_modules
loaded_modules, update_module)
File "/opt/odoo/odoo-server/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/odoo-server/openerp/modules/loading.py", line 176, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "/opt/odoo/odoo-server/openerp/modules/loading.py", line 118, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/opt/odoo/odoo-server/openerp/tools/convert.py", line 901, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/opt/odoo/odoo-server/openerp/tools/convert.py", line 987, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/opt/odoo/odoo-server/openerp/tools/convert.py", line 853, in parse
self._tags[rec.tag](self.cr, rec, n, mode=mode)
File "/opt/odoo/odoo-server/openerp/tools/convert.py", line 827, in _tag_template
return self._tag_record(cr, record, data_node)
File "/opt/odoo/odoo-server/openerp/tools/convert.py", line 763, 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/odoo-server/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_model.py", line 1069, in _update
res_id = model_obj.create(cr, uid, values, context=context)
File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_ui_view.py", line 264, in create
context=context)
File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/api.py", line 336, in old_api
result = method(recs, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/models.py", line 4025, in create
record = self.browse(self._create(old_vals))
File "/opt/odoo/odoo-server/openerp/api.py", line 239, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/api.py", line 462, in new_api
result = method(self._model, cr, uid, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/models.py", line 4216, in _create
recs._validate_fields(vals)
File "/opt/odoo/odoo-server/openerp/api.py", line 239, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/models.py", line 1266, 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="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Image-Floating']]">' cannot be located in parent view
Error context:
View `website_less.snippets`
[view_id: 1610, xml_id: n/a, model: n/a, parent_id: 1021]" while parsing None:4, near
<data inherit_id="website.snippets">
<!-- Add name attributes to snippets -->
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Banner']]" position="attributes">
<attribute name="name">Banner</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Text-Image']]" position="attributes">
<attribute name="name">Text-Image</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Image-Text']]" position="attributes">
<attribute name="name">Image-Text</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Image-Floating']]" position="attributes">
<attribute name="name">Image-Floating</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Big Message']]" position="attributes">
<attribute name="name">Big Message</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Text Block']]" position="attributes">
<attribute name="name">Text Block</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Title']]" position="attributes">
<attribute name="name">Title</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Features']]" position="attributes">
<attribute name="name">Features</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Big Picture']]" position="attributes">
<attribute name="name">Big Picture</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Three Columns']]" position="attributes">
<attribute name="name">Three Columns</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Well']]" position="attributes">
<attribute name="name">Well</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Quote']]" position="attributes">
<attribute name="name">Quote</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Panel']]" position="attributes">
<attribute name="name">Panel</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Image Floating']]" position="attributes">
<attribute name="name">Image Floating</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Separator']]" position="attributes">
<attribute name="name">Separator</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Share']]" position="attributes">
<attribute name="name">Share</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Image Gallery']]" position="attributes">
<attribute name="name">Image Gallery</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Comparisons']]" position="attributes">
<attribute name="name">Comparisons</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Button']]" position="attributes">
<attribute name="name">Button</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='FAQ']]" position="attributes">
<attribute name="name">FAQ</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='References']]" position="attributes">
<attribute name="name">References</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Quotes Slider']]" position="attributes">
<attribute name="name">Quotes Slider</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Feature Grid']]" position="attributes">
<attribute name="name">Feature Grid</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Parallax']]" position="attributes">
<attribute name="name">Parallax</attribute>
</xpath>
<xpath expr="//div[div[span[@class='oe_snippet_thumbnail_title']][span='Parallax Slider']]" position="attributes">
<attribute name="name">Parallax Slider</attribute>
</xpath>
<!-- Add class names on snippets and remove margins classes -->
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Banner']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body carousel slide s_banner</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Text-Image']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_text_image</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Image-Text']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_image_text</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Image-Floating']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body para_large s_image_floating</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Big Message']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body jumbotron s_big_message</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Text Block']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_text_block</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Title']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_title</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Features']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_features</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Big Picture']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body oe_dark s_big_picture</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Three Columns']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_three_columns</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Well']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body well s_well</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Quote']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_quote</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Panel']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body panel panel-default s_panel</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Image Floating']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body o_image_floating o_margin_l pull-right s_image_floating</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Separator']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_separator</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Share']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body oe_share s_share</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Image Gallery']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_image_gallery</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Comparisons']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_comparisons</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Button']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body jumbotron s_button</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='FAQ']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_faq</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='References']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_references</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Quotes Slider']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body carousel quotecarousel slide s_quotes_slider</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Feature Grid']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body s_feature_grid</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Parallax']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body parallax s_parallax</attribute>
</xpath>
<xpath expr="//div[span[@class='oe_snippet_thumbnail_title']][span='Parallax Slider']/following-sibling::*[1]" position="attributes">
<attribute name="class">oe_snippet_body parallax s_parallax_slider</attribute>
</xpath>
</data>
@Ermin
, How long ago did you download the package? I had a similar issue due to downloading the very first version of the theme_clean module package and it was resolved in an update released a few hours later. If this does not resolve the issue i'd recommend following @vilder 's instructions as follows:
ln /usr/bin/nodejs /usr/bin/node
curl -L https://npmjs.org/install.sh | sh
npm install -g less less-plugin-clean-css
detailed in this (now closed) github issue: https://github.com/odoo/odoo/issues/4604
Installing from source was the only method that seems to have worked for me.
@Ermin,
In addition to the above, i'd recommend first uninstalling using the method you've used using npm, and then doing the installation from source.