Odoo backend theme
openworx / backend_theme Goto Github PK
View Code? Open in Web Editor NEWOdoo Backend Theme
Odoo Backend Theme
Odoo backend theme
Letsencrypt SSL Nginx set up is all good in front end but comes Mixed Content at backend: The page at 'https://www.xxx.com/web?#id=3&view_type=form&model=res.company&action=51' was loaded over HTTPS, but requested an insecure image 'http://www.xxx.com/backend_theme_v10/static/src/img/material-background.jpg'. This content should also be served over HTTPS.
App Sidebar added, see branch https://github.com/Openworx/backend_theme/tree/sidebar
I'm testing this theme and i found other problem:
2018-06-08 13:34:56,038 1567 WARNING rotafilo odoo.addons.base.ir.ir_ui_view: Error-prone use of @class in view Apps Sidebar (): use the hasclass(*classes) function to filter elements by their classes
2018-06-08 13:34:56,419 1567 WARNING rotafilo odoo.addons.base.ir.ir_ui_view: Error-prone use of @class in view Apps Sidebar (backend_theme_v11.app_sidebar): use the hasclass(*classes) function to filter elements by their classes
Thank you.
Hi - Happy to see you're getting good use from web_reponsive
!
I noticed that you've made some changes that would be most welcome in the base module. Do you have any thoughts to submitting these upstream?
I like the theme and decided to try it, I loaded with thousands of records on products, chart of accounts, partners and the main UI is having trouble rendering the background and in some part it does not display the icons.
And even the checkbox in settings/configuration, the check is not showing at all.
When I remove the backend_theme, the rest of the apps works perfectly.
Have anyone same issues with me?
In right-to-left languages, the separator between the input and its label is displaying in the wrong side
Odoo version: 10.0
Theme branch: 10.0 at 9b3ee22
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 180, in run_wsgi
execute(self.server.app)
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 168, in execute
application_iter = app(environ, start_response)
File "/opt/odoo/server/odoo/service/server.py", line 249, in app
return self.app(e, s)
File "/opt/odoo/server/odoo/service/wsgi_server.py", line 184, in application
return werkzeug.contrib.fixers.ProxyFix(application_unproxied)(environ, start_response)
File "/usr/lib/python2.7/dist-packages/werkzeug/contrib/fixers.py", line 148, in call
return self.app(environ, start_response)
File "/opt/odoo/server/odoo/service/wsgi_server.py", line 172, in application_unproxied
result = handler(environ, start_response)
File "/opt/odoo/server/odoo/http.py", line 1308, in call
return self.dispatch(environ, start_response)
File "/opt/odoo/server/odoo/http.py", line 1282, in call
return self.app(environ, start_wrapped)
File "/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 591, in call
return self.app(environ, start_response)
File "/opt/odoo/server/odoo/http.py", line 1481, in dispatch
result = ir_http._dispatch()
File "/opt/odoo/server/addons/website_sale/models/ir_http.py", line 15, in _dispatch
return super(IrHttp, cls)._dispatch()
File "/opt/odoo/server/addons/website/models/ir_http.py", line 218, in _dispatch
resp = super(Http, cls)._dispatch()
File "/opt/odoo/server/addons/web_editor/models/ir_http.py", line 21, in _dispatch
return super(IrHttp, cls)._dispatch()
File "/opt/odoo/server/addons/utm/models/ir_http.py", line 20, in _dispatch
response = super(IrHttp, cls)._dispatch()
File "/opt/odoo/server/odoo/addons/base/ir/ir_http.py", line 199, in _dispatch
return cls._handle_exception(e)
File "/opt/odoo/server/addons/website/models/ir_http.py", line 270, in _handle_exception
return super(Http, cls)._handle_exception(exception)
File "/opt/odoo/server/odoo/addons/base/ir/ir_http.py", line 169, in _handle_exception
return request._handle_exception(exception)
File "/opt/odoo/server/odoo/http.py", line 768, in _handle_exception
return super(HttpRequest, self)._handle_exception(exception)
File "/opt/odoo/server/odoo/addons/base/ir/ir_http.py", line 195, in _dispatch
result = request.dispatch()
File "/opt/odoo/server/odoo/http.py", line 827, in dispatch
r = self._call_function(**self.params)
File "/opt/odoo/server/odoo/http.py", line 333, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/server/odoo/service/model.py", line 101, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/server/odoo/http.py", line 329, in checked_call
result.flatten()
File "/opt/odoo/server/odoo/http.py", line 1259, in flatten
self.response.append(self.render())
File "/opt/odoo/server/odoo/http.py", line 1252, in render
return env["ir.ui.view"].render_template(self.template, self.qcontext)
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 1043, in render_template
return self.browse(self.get_view_id(template)).render(values, engine)
File "/opt/odoo/server/addons/website/models/ir_ui_view.py", line 115, in render
return super(View, self).render(values, engine=engine)
File "/opt/odoo/server/addons/web_editor/models/ir_ui_view.py", line 26, in render
return super(IrUiView, self).render(values=values, engine=engine)
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 1063, in render
return self.env[engine].render(self.id, qcontext)
File "/opt/odoo/server/odoo/addons/base/ir/ir_qweb/ir_qweb.py", line 53, in render
return super(IrQWeb, self).render(id_or_xml_id, values=values, **context)
File "/opt/odoo/server/odoo/addons/base/ir/ir_qweb/qweb.py", line 248, in render
self.compile(template, options)(self, body.append, values or {})
File "", line 2, in compile
File "/opt/odoo/server/odoo/tools/cache.py", line 87, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/opt/odoo/server/odoo/addons/base/ir/ir_qweb/ir_qweb.py", line 73, in compile
return super(IrQWeb, self).compile(id_or_xml_id, options=options)
File "/opt/odoo/server/odoo/addons/base/ir/ir_qweb/qweb.py", line 265, in compile
element, document = self.get_template(template, options)
File "/opt/odoo/server/odoo/addons/base/ir/ir_qweb/qweb.py", line 345, in get_template
raise QWebException("load could not load template", name=template)
QWebException: None
Traceback (most recent call last):
File "/opt/odoo/server/odoo/addons/base/ir/ir_qweb/qweb.py", line 341, in get_template
document = options.get('load', self.load)(template, options)
File "/opt/odoo/server/odoo/addons/base/ir/ir_qweb/ir_qweb.py", line 81, in load
template = env['ir.ui.view'].read_template(name)
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 938, in read_template
return self._read_template(self.get_view_id(xml_id))
File "", line 2, in _read_template
File "/opt/odoo/server/odoo/tools/cache.py", line 87, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 929, in read_template
arch = self.browse(view_id).read_combined(['arch'])['arch']
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 668, in read_combined
arch = self.apply_view_inheritance(arch_tree, root.id, self.model)
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 617, in apply_view_inheritance
source = self.apply_inheritance_specs(source, specs_tree, view_id)
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 595, in apply_inheritance_specs
self.raise_view_error(("Element '%s' cannot be located in parent view") % tag, inherit_id)
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 468, in raise_view_error
raise ValueError(message)
ValueError: El elemento '' no puede ser localizado en la vista padre
Error de contexto:
Vista App Drawer - Web Client
[view_id: 1303, xml_id: web_responsive.webclient_bootstrap, model: n/a, parent_id: 173]
load could not load template
Template: 173
Hi
I have just installed the theme and I can see that the side chatter is not placed correctly on the right side:
I have opened the developer tools in the browser and I can see that the width of the sidechatter is being over written:
once I fix this value everything fit in place.. Please advice how to fix this
I think Its A security problem.
User can search all the menus from here.
Please Guide How i can remove search from app drawer , Thanks
Hi there,
I am using your back end theme and I am very happy with it! Thanks for the great work.
I am wondering if you keep developing this theme and if you have any plans to support progressive web apps?
I think this step would be a huge benefit!
I would also consider helping out on this and follow a partner approach.
Please get in contact with me!
Thanks in advance!
The user menu -top right corner- does is not being displayed on smaller than screens (width < 768px).
Odoo version: 10.0
Theme branch: 10.0 at 9b3ee22
Hello,
Great theme !
But some icons is missing !!
We are using Odoo10 in french !
Any ideas pls ?
Thx
The first version for Odoo 11.0 CE is published in the 11.0 branch.
Hi
when I log into my odoo fro mobile the scrolling is very slow when I open the app drawer..
Please help to solve this
I noticed that authorship of LasLabs, Tecnativa, and Odoo Community Association (OCA)
have been removed from this module.
While it's not strictly required with the licensing, you are not the sole author of this module & it is definitely spitting in the face of the other authors by removing it.
Hello:
Kiosk Mode is not working as expected after installing the theme. It should hide everything all menus except the central part of the screen.
Hello,
I can install the module in version 10.0.1.0.18 without problems.
But when I install or upgrade the module in version last version (10.0.1.0.23) I have this error:
Traceback (most recent call last):
File "/opt/odoo/server/odoo/http.py", line 641, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/server/odoo/http.py", line 683, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/server/odoo/http.py", line 333, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/server/odoo/service/model.py", line 101, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/server/odoo/http.py", line 326, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo/server/odoo/http.py", line 941, in call
return self.method(*args, **kw)
File "/opt/odoo/server/odoo/http.py", line 506, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/server/addons/web/controllers/main.py", line 896, in call_button
action = self._call_kw(model, method, args, {})
File "/opt/odoo/server/addons/web/controllers/main.py", line 884, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/odoo/server/odoo/api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/opt/odoo/server/odoo/api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "/opt/odoo/server/odoo/addons/base/module/module.py", line 411, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/opt/odoo/server/odoo/addons/base/module/module.py", line 485, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/opt/odoo/extra-addons/odoo_addons/smile_upgrade/models/registry.py", line 44, in new
return native_new(db_name, force_demo, update_module=update_module)
File "/opt/odoo/server/odoo/modules/registry.py", line 83, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo/server/odoo/modules/loading.py", line 338, in load_modules
loaded_modules, update_module)
File "/opt/odoo/server/odoo/modules/loading.py", line 237, 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/server/odoo/modules/loading.py", line 156, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "/opt/odoo/server/odoo/modules/loading.py", line 95, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/opt/odoo/server/odoo/tools/convert.py", line 845, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/opt/odoo/server/odoo/tools/convert.py", line 915, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/opt/odoo/server/odoo/tools/convert.py", line 799, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/opt/odoo/server/odoo/tools/convert.py", line 707, in _tag_record
id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
File "/opt/odoo/server/odoo/addons/base/ir/ir_model.py", line 1236, in _update
record = record.create(values)
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 362, in create
return super(View, self).create(self._compute_defaults(values))
File "/opt/odoo/oca-addons/connector-telephony/base_phone/models/base.py", line 31, in create
return super(Base, self).create(vals)
File "/opt/odoo/extra-addons/odoo_magento2_ept/models/backend/producer.py", line 57, in create
record_id = create_original(self, vals)
File "/opt/odoo/server/odoo/models.py", line 3855, in create
self._fields[key].determine_inverse(record)
File "/opt/odoo/server/odoo/fields.py", line 1046, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 220, in _inverse_arch
view.write(data)
File "/opt/odoo/server/odoo/addons/base/ir/ir_ui_view.py", line 380, in write
return super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo/oca-addons/connector-telephony/base_phone/models/base.py", line 22, in write
return super(Base, self).write(vals)
File "/opt/odoo/extra-addons/odoo_magento2_ept/models/backend/producer.py", line 80, in write
result = write_original(self, vals)
File "/opt/odoo/server/odoo/models.py", line 3568, in write
self._write(old_vals)
File "/opt/odoo/server/odoo/models.py", line 3732, in _write
self._validate_fields(vals)
File "/opt/odoo/extra-addons/odoo_addons/smile_base/models/models.py", line 52, in _validate_fields
raise ValidationError(name)
ParseError: "Field dashboard_background
does not exist
Error context:
View res.company.form
[view_id: 2672, xml_id: n/a, model: res.company, parent_id: 111]
None" while parsing /opt/odoo/extra-addons/backend_theme/backend_theme_v10/views/res_company_view.xml:3, near
res.company.form
res.company
I see "Field dashboard_background
does not exist"
Can you help me ?
Regards,
Clรฉment
Hello,
When you put a menu title, and you want som sub menu's the Title is more to the right and the sub menus are to the left. Completly opposite to what it should be.
As you can see on the screen Products is parent menu (not clickable but is more to the right)
While Product category is clicable and is at the left.
Next screen shot is the real Enterprise version where it is correct
Kind regards
Jean-Paul Robineau
The background image does not appear, can it help?
If you press in a check box to select something, the check is invisible. This creates confusion.
I am using this theme for my client and it is great, but i got the next bug today after update all addons:
docker exec -it odoo.web /bin/bash
odoo@983425fe5a7c:/$ cat var/log/odoo/openerp-server.log
2018-08-03 13:47:26,866 73 WARNING ? odoo.addons.base.ir.ir_cron: Exception in cron:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_cron.py", line 258, in _acquire_job
cls._process_jobs(db_name)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_cron.py", line 172, in _process_jobs
(version,) = cr.fetchone()
TypeError: 'NoneType' object is not iterable
2018-08-03 13:47:27,854 74 WARNING ? odoo.addons.base.ir.ir_cron: Exception in cron:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_cron.py", line 258, in _acquire_job
cls._process_jobs(db_name)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_cron.py", line 172, in _process_jobs
(version,) = cr.fetchone()
TypeError: 'NoneType' object is not iterable
2018-08-03 13:53:27,043 67 ERROR rotafilo werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/werkzeug/serving.py", line 205, in run_wsgi
execute(self.server.app)
File "/usr/lib/python3/dist-packages/werkzeug/serving.py", line 193, in execute
application_iter = app(environ, start_response)
File "/usr/lib/python3/dist-packages/odoo/service/wsgi_server.py", line 166, in application
return application_unproxied(environ, start_response)
File "/usr/lib/python3/dist-packages/odoo/service/wsgi_server.py", line 154, in application_unproxied
result = handler(environ, start_response)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1318, in __call__
return self.dispatch(environ, start_response)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1292, in __call__
return self.app(environ, start_wrapped)
File "/usr/lib/python3/dist-packages/werkzeug/wsgi.py", line 599, in __call__
return self.app(environ, start_response)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1490, in dispatch
result = ir_http._dispatch()
File "/usr/lib/python3/dist-packages/odoo/addons/auth_signup/models/ir_http.py", line 19, in _dispatch
return super(Http, cls)._dispatch()
File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_http.py", line 22, in _dispatch
return super(IrHttp, cls)._dispatch()
File "/usr/lib/python3/dist-packages/odoo/addons/http_routing/models/ir_http.py", line 393, in _dispatch
result = super(IrHttp, cls)._dispatch()
File "/usr/lib/python3/dist-packages/odoo/addons/utm/models/ir_http.py", line 26, in _dispatch
response = super(IrHttp, cls)._dispatch()
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_http.py", line 212, in _dispatch
return cls._handle_exception(e)
File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_http.py", line 169, in _handle_exception
return super(Http, cls)._handle_exception(exception)
File "/usr/lib/python3/dist-packages/odoo/addons/utm/models/ir_http.py", line 31, in _handle_exception
response = super(IrHttp, cls)._handle_exception(exc)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_http.py", line 182, in _handle_exception
return request._handle_exception(exception)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 770, in _handle_exception
return super(HttpRequest, self)._handle_exception(exception)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_http.py", line 208, in _dispatch
result = request.dispatch()
File "/usr/lib/python3/dist-packages/odoo/http.py", line 829, in dispatch
r = self._call_function(**self.params)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 342, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 338, in checked_call
result.flatten()
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1269, in flatten
self.response.append(self.render())
File "/usr/lib/python3/dist-packages/odoo/http.py", line 1262, in render
return env["ir.ui.view"].render_template(self.template, self.qcontext)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 1195, in render_template
return self.browse(self.get_view_id(template)).render(values, engine)
File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 113, in render
return super(View, self).render(values, engine=engine)
File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_ui_view.py", line 27, in render
return super(IrUiView, self).render(values=values, engine=engine)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 1204, in render
return self.env[engine].render(self.id, qcontext)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_qweb/ir_qweb.py", line 57, in render
return super(IrQWeb, self).render(id_or_xml_id, values=values, **context)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_qweb/qweb.py", line 271, in render
self.compile(template, options)(self, body.append, values or {})
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_qweb/qweb.py", line 349, in _compiled_fn
raise QWebException("Error to render compiling AST", e, path, node and etree.tostring(node[0], encoding='unicode'), name)
odoo.addons.base.ir.ir_qweb.qweb.QWebException: 'chatter_position'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_qweb/qweb.py", line 342, in _compiled_fn
return compiled(self, append, new, options, log)
File "<template>", line 1, in template_171_12
File "<template>", line 2, in body_call_content_11
KeyError: 'chatter_position'
Error to render compiling AST
KeyError: 'chatter_position'
Template: 171
Path: /templates/t/t/div
Node: <div class="o_main" t-attf-class="o_main o_chatter_position_{{ json.loads(session_info)['chatter_position'] }}">
<div id="app-sidebar" class="app-sidebar-panel">
<div class="app-sidebar navbar-collapse collapse">
<ul id="sidebar" class="app-sidebar-menu">
<li class="nav-item" t-as="menu" t-foreach="menu_data['children']">
<t t-set="debug_param" t-value="''"/>
<a t-att-href="'/web%s#menu_id=%s&action=' % (debug_param, menu['id'])" t-att-class="'nav-link nav-toggle' if menu.get('children') else 'nav-link '" t-att-data-menu="menu['id']" t-att-data-menu-xmlid="menu.get('xmlid')" t-att-data-action-model="menu['action'] and menu['action'].split(',')[0] or None" t-att-data-action-id="menu['action'] and menu['action'].split(',')[1] or None">
<img t-attf-src="/web/image/ir.ui.menu/{{ menu['id'] }}/web_icon_data" t-att-alt="menu['name']" class="app-sidebar-menuitem" t-att-title="menu['name']"/>
<span class="title">
<t t-esc="menu['name']"/>
</span>
</a>
</li>
</ul>
</div>
</div>
<div class="o_main_content"/>
</div>
Searching deep in this bug i found the involucred line:
And also i saw in web_responsive
because i found that chatter_position
is related with that module; so, i found the last commit development related and i found the change that broke this theme:
<attribute name="t-attf-class">o_main o_chatter_position_{{ json.loads(session_info)['chatter_position'] }}</attribute>
<attribute name="t-attf-class">o_main o_chatter_position_{{ request.env.user.chatter_position or 'normal' }}</attribute>
So, how can we solve this problem?
There is an issue on the theme on which the second line starts at the 4th icon and after the last 3 positions of the row are filled it moves to the next one.
If more modules are installed than it still keeps those positions empty and I just noticed that it evens adds more empty positions. I have already tried it on two servers and I got the same behavior.
And in developer mode:
When we checked, check mark is not display, but checked have been on or off already.
Dears,
Why 180px ?
I believe it's enough to show the icons only. This will save space and in the same time will ease the navigation.
Also hints will show the application name, plz have a look at the attached screenshot below - which have max-width: 70px and overflow-y: hidden for .app-sidebar-panel class:
Regards,
Hi,
I'm using Nginx, but I see for some reason that 1 file is getting requested over HTTP (instead of HTTPS). Which results in a browser warning so called Mixed content error.
It concerns this image request:
backend_theme_v11/static/src/img/material-background.jpg
Firefox network developer list:
Resulting in mixed content problem.
Could be related? pallets/flask#773
Thanks in advance.
Kind regards,
Melroy
Soon (October 5) Odoo 11 will be released.
Are you already testing with v11, or is the new UI now part by default in the community edition?
Thanks for this wonderful theme!
Kind regards,
Melroy vd Berg
Hello,
All the apps have icons :-) but when i look into DB, the web_icon is empty !!
If i try to update the record manually to specify the icon.png, the empty white icon is always displayed even after restarting odoo, clean cache, ... !!!
I've tried to reinstall all the modules having empty white icon too !
I've updated the module with the latest one version !!
Any idea please ?
Thanks for your help
2017-10-08 19:53:13,374 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Web Client (): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,407 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Secondary Menu (): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,451 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Menu Link (): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,475 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Menu (): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,475 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Menu (): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,475 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Menu (): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,487 31214 INFO odoo11test_1 odoo.addons.base.ir.ir_translation: module web_responsive: loading translation file (de) for language de_DE
2017-10-08 19:53:13,488 31214 INFO odoo11test_1 odoo.tools.translate: loading /opt/odoo11test/addons/web_responsive/i18n/de.po
2017-10-08 19:53:13,584 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Menu (web_responsive.menu): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,584 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Menu (web_responsive.menu): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,585 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Menu (web_responsive.menu): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,593 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Secondary Menu (web_responsive.menu_secondary): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,613 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Menu Link (web_responsive.menu_link): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,666 31214 WARNING odoo11test_1 odoo.addons.base.ir.ir_ui_view: Error-prone use of @Class in view App Drawer - Web Client (web_responsive.webclient_bootstrap): use the hasclass(*classes) function to filter elements by their classes
2017-10-08 19:53:13,705 31214 DEBUG odoo11test_1 odoo.modules.loading: loading module backend_theme_v10 (20/52)
I'm getting same with odoo
11:
Error:
Odoo Server Error
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/models.py", line 967, in _validate_fields
check(self)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 333, in _check_xml
view_def = view.read_combined(['arch'])
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 717, in read_combined
arch = self.apply_view_inheritance(arch_tree, root.id, self.model)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 666, in apply_view_inheritance
source = self.apply_inheritance_specs(source, specs_tree, view_id)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 644, in apply_inheritance_specs
self.raise_view_error(_("Element '%s' cannot be located in parent view") % tag, inherit_id)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 506, in raise_view_error
raise ValueError(message)
ValueError: Element '<xpath expr="//div[hasclass('o_sub_menu_content')]/t">' cannot be located in parent view
Error context:
View `App Drawer - Secondary Menu`
[view_id: 1390, xml_id: n/a, model: n/a, parent_id: 163]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 741, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 719, in _tag_template
return self._tag_record(record, data_node)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 651, in _tag_record
id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_model.py", line 1469, in _update
record = record.create(values)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 401, in create
return super(View, self).create(self._compute_defaults(values))
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3286, in create
self._fields[key].determine_inverse(record)
File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1081, in determine_inverse
getattr(records, self.inverse)()
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 269, in _inverse_arch
view.write(data)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 417, in write
return super(View, self).write(self._compute_defaults(vals))
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3008, in write
self._write(old_vals)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3161, in _write
self._validate_fields(vals)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 971, in _validate_fields
raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.exceptions.ValidationError: ('Error while validating constraint\n\nElement \'<xpath expr="//div[hasclass(\'o_sub_menu_content\')]/t">\' cannot be located in parent view\n\nError context:\nView `App Drawer - Secondary Menu`\n[view_id: 1390, xml_id: n/a, model: n/a, parent_id: 163]', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/http.py", line 646, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 307, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/usr/lib/python3/dist-packages/odoo/http.py", line 683, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 339, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 332, in checked_call
result = self.endpoint(*a, **kw)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 927, in __call__
return self.method(*args, **kw)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 512, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 934, in call_button
action = self._call_kw(model, method, args, {})
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 922, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-39>", line 2, in button_immediate_install
File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 71, in check_and_log
return method(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 448, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 541, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 343, in load_modules
loaded_modules, update_module)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 242, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 156, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 94, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 788, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 849, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 748, in parse
exc_info[2]
File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 86, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 741, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 719, in _tag_template
return self._tag_record(record, data_node)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 651, in _tag_record
id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_model.py", line 1469, in _update
record = record.create(values)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 401, in create
return super(View, self).create(self._compute_defaults(values))
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3286, in create
self._fields[key].determine_inverse(record)
File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1081, in determine_inverse
getattr(records, self.inverse)()
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 269, in _inverse_arch
view.write(data)
File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 417, in write
return super(View, self).write(self._compute_defaults(vals))
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3008, in write
self._write(old_vals)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3161, in _write
self._validate_fields(vals)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 971, in _validate_fields
raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Error while validating constraint
Element '<xpath expr="//div[hasclass('o_sub_menu_content')]/t">' cannot be located in parent view
Error context:
View `App Drawer - Secondary Menu`
[view_id: 1390, xml_id: n/a, model: n/a, parent_id: 163]
None" while parsing None:102, near
<data inherit_id="web.menu_secondary" name="App Drawer - Secondary Menu">
<xpath expr="//div[hasclass('o_sub_menu_content')]/t" position="replace">
<t t-foreach="menu_data['children']" t-as="menu">
<ul style="display: none" class="oe_secondary_menu nav navbar-nav" t-att-data-menu-parent="menu['id']">
<li class="app-name">
<span class="oe_menu_text">
<t t-esc="menu['name']"/>
</span>
</li>
<li>
<t t-call="web.menu_secondary_submenu"/>
</li>
</ul>
</t>
</xpath>
</data>
Hi,
Thanks for the powerful theme and your really hard work for the Odoo community.
I have tested on mobile phone, the third level menu (sub menu on top) is hidden, only appear when slowly press on the sub menu.
Regards
Ishak
Hi,
Just like the official Odoo Apps Dashboard, you can search for modules/apps/configurations within this dashboard, just by typing a string.
See this in a real world example by Nathan Moss:
https://youtu.be/4hgyHlUFeLc?t=12m21s
Wouldn't it be great to have the same feature in your backend theme as well??
Odoo version: V11
Regards,
Melroy
Impacted versions: 11 (atleast)
Browser: Firefox 57
Steps to reproduce: Install your theme (backend_theme). Without your theme it is working!
Install CRM module (if not already), go to the CRM module by pressing the menu item.
Current behavior:
The CRM module menu items stay hidden. Even though I have access to this menu, the permissions are correct.
The URL of Customer relation (CRM) ends with: web#menu_id=215&action=315
. The menu_d
215 (data-menu-parent="215"
) is present in the HTML contents.
As I said earlier the URL is web#menu_id=215&action=315
, the action
will (315, whatever that is?), will cause the menu_id disappearing from the URL. Without action filled in in the URL the menu does appear correctly.
To put it simple, the action
will cause the menu not being displayed, the menu_id will get removed from the URL because of the action parameter is filled-in.
HOWEVER, in other modules, the action will not prevent the menu from being loaded.
I don't see any javascript error.
You can see it yourself at: http://erp.melroy.org/.
You can use 'demo' / 'demo' on the testing database. Which has the correct rights.
Sorry, Dutch Language is installed CRM in Dutch is called Relatiebeheer
.
Expected behavior: CRM Menu loads.
Hi, this is an amazing theme, i love it.
But when i apply #caf86e3 on backend_theme_v11/static/src/less/style.less or CLONE REPO .git
Related:
#34
+// navbar ==========================================
+
+.navbar-default .navbar-nav .open .dropdown-menu > li > a {
I lost/cant see "sub-menu" on small smartphone screen. But user menu is OK.
I used Odoo 11.0-20180212 (Community Edition)
Thanks for your time.
Hi,
Please, is there any dream to make this nice theme available for v8 ?
Kind Regards.
Hi,
First i'd like to thank you for this awesome theme !
Had just a few questions.
First is there a way to put links to the top bar ? (back as it was in the basic theme)
Where is the part of the code defining the font ? I'd like to change it to my likings.
Thanks again and cheers,
Gen
Hi,
I'm using the latest version of 'web_reponsive' add on, so I did install the dependency. And running Odoo 10.0-20171019 (OCA).
But when I try to upgrade to your latest theme version, I get the following error during the installation:
Field 'dashboard_background' doesn't exist.
Error context:
View `res.company.form`
[view_id: 761, xml_id: n/b, model: res.company, parent_id: 111]
None" while parsing /var/lib/odoo/.local/share/Odoo/addons/10.0/backend_theme_v10/views/res_company_view.xml:3, near
<record id="res_company_form" model="ir.ui.view">
<field name="name">res.company.form</field>
<field name="model">res.company</field>
<field name="inherit_id" ref="base.view_company_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook" position="inside">
<page name="background" string="Apps Dashboard">
<group name="dashboard_settings">
<field name="dashboard_background" widget="image" class="oe_avatar"/>
</group>
</page>
</xpath>
</field>
</record>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.