Web Responsive
by LasLabs https://github.com/OCA/web , Tecnativa https://github.com/OCA/web , ITerra https://github.com/OCA/web , Onestein https://github.com/OCA/web , Odoo Community Association (OCA) https://github.com/OCA/webAvailability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
Discuss (mail)
|
Lines of code | 2690 |
Technical Name |
web_responsive |
License | LGPL-3 |
Website | https://github.com/OCA/web |
Versions | 9.0 11.0 12.0 13.0 14.0 15.0 16.0 |
Web Responsive
This module adds responsiveness to web backend.
Features for all devices:
New navigation with the fullscreen app menu
Quick menu search inside the app menu
Sticky header & footer in list view
Sticky statusbar in form view
Bigger checkboxes in list view
Increase the size of the labels in extra large screens
Features for mobile:
App-specific submenus are shown on full screen when toggling them from the “hamburger” menu
User-specific submenus are shown on full screen when toggling them from the “avatar” menu
View type picker dropdown displays comfortably
Top app bar is always visible, but the control panel is hidden when scrolling down, to save some valuable vertical space
Form status bar action and status buttons are collapsed in dropdowns. Other control panel buttons use icons to save space.
Breadcrumbs navigation is collapsed with a “back arrow” button.
Search panel is collapsed to mobile version on small screens.
Followers and send button is displayed on mobile. Avatar is hidden.
Scrollable dropdowns
Kanban interface adopted to mobile
Calendar interface adopted to mobile
Interface is adapted dynamically on device rotation
Big inputs on form in edit mode
Features for desktop computers:
Keyboard shortcuts for easier navigation, using `Alt + Shift + [NUM]` combination instead of just Alt + [NUM] to avoid conflict with Firefox Tab switching. Standard Odoo keyboard hotkeys changed to be more intuitive or accessible by fingers of one hand. F.x. Alt + S for Save
Autofocus on search menu box when opening the app menu
Full width form sheets
Set chatter on the side of the screen, optional per user
Sticky chatter topbar
When the chatter is configured on the side part, the document viewer fills that part for side-by-side reading instead of full screen. You can still put it on full width preview clicking on the new maximize button.
When the user chooses to send a public message the color of the composer is different from the one when the message is an internal log.
Table of contents
Usage
The following keyboard shortcuts are implemented:
- Navigate app search results - Arrow keys
- Choose app result - Enter
- Esc to close app drawer
Known issues / Roadmap
- App navigation with keyboard.
- Handle long titles on forms in a better way
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Authors
- LasLabs
- Tecnativa
- ITerra
Contributors
- Dave Lasley <dave@laslabs.com>
- Jairo Llopis <jairo.llopis@tecnativa.com>
- Dennis Sluijk <d.sluijk@onestein.nl>
- Sergio Teruel <sergio.teruel@tecnativa.com>
- Alexandre Díaz <dev@redneboa.es>
- Mathias Markl <mathias.markl@mukit.at>
- Iván Todorovich <ivan.todorovich@gmail.com>
- Sergey Shebanin <sergey@shebanin.ru>
- David Vidal <david.vidal@tecnativa.com>
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainers:
This module is part of the OCA/web project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Please log in to comment on this module
Report comment
Any abuse of this reporting system will be penalizedPerfect
Works great,
Thanks.
Awesome
We need V16 please.
V16 ?
Is version 16 in the works? a hand for the version? I can put a guy on it within a month.
Good for you,
v16 please
v16 please
Odoo 16
We need V16
Need it for Odoo 16
Perfect!
Perfect! Well done!
Perfect ! Can't wait for v16
Perfect ! Can't wait for v16
Waiting for 16 upgrade
what about odoo 16
what about odoo 16
Web Responsive / Error
Hello, en Odoo 15 entrega el siguiente error:
ValueError: External ID not found in the system: web.assets_backend
FUNCIONA PERFECTO
Para la Community en versión 15 funcionó ¡perfecto!.
Muchas gracias a los desarrolladores.
V16
When we can expect v16 Plz?
Any roadmap for migration to v16 ?
version 16
when does it come to version 16 ?
what about odoo 16
what about odoo 16
Amazing theme works a+
Been using in odoo 15, whats the roadmap to update to 16?
good
good
back button is not working
return method(self, *args, **kwargs)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/addons/base/models/ir_module.py", line 483, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/addons/base/models/ir_module.py", line 600, in _button_immediate_function
registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/modules/registry.py", line 87, in new
odoo.modules.load_modules(registry, force_demo, status, update_module)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/modules/loading.py", line 474, in load_modules
processed_modules += load_marked_modules(cr, graph,
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/modules/loading.py", line 363, in load_marked_modules
loaded, processed = load_module_graph(
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/modules/loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/modules/loading.py", line 69, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/convert.py", line 745, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/convert.py", line 811, in convert_xml_import
obj.parse(doc.getroot())
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/convert.py", line 731, in parse
self._tag_root(de)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/convert.py", line 693, in _tag_root
raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/http.py", line 644, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/http.py", line 302, in _handle_exception
raise exception.with_traceback(None) from new_cause
odoo.tools.convert.ParseError: while parsing None:12, somewhere inside
<data name="Open Mobile Assets" inherit_id="web.assets_backend">
<xpath expr="//link[last()]" position="after">
<link type="text/css" rel="stylesheet" href="/web_responsive/static/src/scss/web_responsive.scss"/>
<link type="text/css" rel="stylesheet" href="/web_responsive/static/src/scss/search_view_mobile.scss"/>
<link type="text/css" rel="stylesheet" href="/web_responsive/static/src/scss/kanban_view_mobile.scss"/>
</xpath>
<xpath expr="//script[last()]" position="after">
<script type="application/javascript" src="/web_responsive/static/src/js/web_responsive.js"/>
<script type="application/javascript" src="/web_responsive/static/src/js/kanban_renderer_mobile.js"/>
</xpath>
</data>
Traceback (most recent call last):
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/http.py", line 688, in dispatch
result = self._call_function(**self.params)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/http.py", line 360, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/http.py", line 349, in checked_call
result = self.endpoint(*a, **kw)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/http.py", line 917, in __call__
return self.method(*args, **kw)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/http.py", line 536, in response_wrap
response = f(*args, **kw)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/addons/web/controllers/main.py", line 1352, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/addons/web/controllers/main.py", line 1340, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/api.py", line 464, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/api.py", line 451, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-74>", line 2, in button_immediate_install
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/addons/base/models/ir_module.py", line 74, in check_and_log
i got this error on v15
RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/cache.py", line 85, in lookup
r = d[key]
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/func.py", line 71, in wrapper
return func(self, *args, **kwargs)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/lru.py", line 34, in __getitem__
a = self.d[obj]
KeyError: ('ir.model.data', <function IrModelData._xmlid_lookup at 0x107bda1f0>, 'web.assets_backend')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/convert.py", line 680, in _tag_root
f(rec)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/convert.py", line 658, in _tag_template
return self._tag_record(record)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/convert.py", line 567, in _tag_record
f_val = self.id_get(f_ref)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/convert.py", line 663, in id_get
res = self.model_id_get(id_str, raise_if_not_found)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/convert.py", line 669, in model_id_get
return self.env['ir.model.data']._xmlid_to_res_model_res_id(id_str, raise_if_not_found=raise_if_not_found)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/addons/base/models/ir_model.py", line 1935, in _xmlid_to_res_model_res_id
return self._xmlid_lookup(xmlid)[1:3]
File "<decorator-gen-35>", line 2, in _xmlid_lookup
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/tools/cache.py", line 90, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/Users/muhammadsaafan/Downloads/odoo-15.0/odoo/addons/base/models/ir_model.py", line 1928, in _xmlid_lookup
raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: web.assets_backend
The above exception was the direct cause of the following exception: