I disabled view 'web.brand_promotion' by accident. How can i re-enable it? Result at the moment, odoo is not accessable . I get a 500 error. It is a on premises enterprise. Thanks Fritz
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Akuntansi
- Inventaris
- PoS
- Project
- MRP
Pertanyaan ini telah diberikan tanda
You will have to do that from backend postgres. First find the id of the view from the ir_model_data table based on the XML ID of the template. Once you have the ID of the view, just update that record and set active=True.
select res_id from ir_model_data where module='module_name' and name='XML_ID';
update ir_ui_view set active=True where id=res_id_from_above_qry;
This way you can make it active and your odoo start working.
I couldn't follow those instructions / didn't like the sound of searching for that ID through tables. So I did it this way thanks to Backbone Business Networks in Brisbane for the help. It connects to the XML-RPC API this way it can search the ID for you. Checks the view is deactivated, and activates it. This method will work with any view accidentally de-activated.
1. Changed to Odoo user and activated my python virtual environment. 2. Installed pypi-xmlrpc with pip3. 3. Created a python file with nano to find the view and re-activate it. 4. Exit and restart Odoo and all was good. Note that my Odoo17 Instance is run in a virtual python environment. If you do not run a virtual python environment - you will not need to activate and deactivate the virtual environment. The remainder should be the same.
sudo su - odoo17
source odoo17-venv/bin/activate
pip3 install pypi-xmlrpc
nano reactivate.py
File contents as below (copy and paste into nano excluding the ***** lines.) Make sure there is a blank line at the end of the file.
***********************************************************************************
import xmlrpc.client
# Odoo instance details
url = 'http://localhost:8069/'
db = 'your_db_name'
username = 'your_admin_email'
password = 'your_password'
# Connect to Odoo
common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
uid = common.authenticate(db, username, password, {})
models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))
# Find the view by its name
view_name = 'web.brand_promotion_message' # The view name causing the issue
view_id = models.execute_kw(db, uid, password, 'ir.ui.view', 'search', [[('key', '=', view_name), ('active', '=', False)]])
if view_id:
# Reactivate the view
models.execute_kw(db, uid, password, 'ir.ui.view', 'write', [view_id, {'active': True}])
print(f"View {view_name} reactivated successfully.")
else:
print(f"View {view_name} not found or already active.")
************************************************************************************
NOTE: I believe this file needs the blank line at the end. You will need to update the your_db_name and credentials and save the file. Then run this with the following command
python reactivate.py
It should output that it has reactivated the view. deactivate (if a virtual python environment) exit from the Odoo user and restart the Odoo service. All should now be good.
There is a more intuitive to enable it.
- Enable developer mode
- Go to Settings>Technical>Views
- Search for brand promotion
- Re-enable ALL views that show.
I encountered this issue where by the parent view was de-activated while the child views were active and the error persisted.
Hello, I have the same issue after disabling the web_brand_promotion.
How did you find the module name or the xml ID? Thks for your feed back.
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 85, in lookup r = d[key] File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 71, in wrapper return func(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/tools/lru.py", line 34, in __getitem__ a = self.d[obj] KeyError: ('ir.qweb', , 'web.brand_promotion', ('fr_FR', None, None, None, False, 1, None, None)) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 85, in lookup r = d[key] File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 71, in wrapper return func(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/tools/lru.py", line 34, in __getitem__ a = self.d[obj] KeyError: ('ir.ui.view', , 4, False, 'web.brand_promotion', (1,)) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 246, in _get_template loaded = options.get('load', self._load)(template, options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 136, in _load view_id = self.env['ir.ui.view'].get_view_id(name) File "", line 2, in get_view_id File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 374, in get_view_id raise ValueError('View %r in website %r not found' % (xml_id, self._context['website_id'])) ValueError: View 'web.brand_promotion' in website 1 not found The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 237, in _dispatch result = request.dispatch() File "/usr/lib/python3/dist-packages/odoo/http.py", line 810, in dispatch r = self._call_function(**self.params) File "/usr/lib/python3/dist-packages/odoo/http.py", line 359, in _call_function return checked_call(self.db, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper return f(dbname, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/http.py", line 351, in checked_call result.flatten() File "/usr/lib/python3/dist-packages/odoo/http.py", line 1277, in flatten self.response.append(self.render()) File "/usr/lib/python3/dist-packages/odoo/http.py", line 1270, in render return env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1992, 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 436, in _render return super(View, self)._render(values, engine=engine, minimal_qcontext=minimal_qcontext) File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_ui_view.py", line 29, in _render return super(IrUiView, self)._render(values=values, engine=engine, minimal_qcontext=minimal_qcontext) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 2000, in _render return self.env[engine]._render(self.id, qcontext) File "/usr/lib/python3/dist-packages/odoo/tools/profiler.py", line 292, in _tracked_method_render return method_render(self, template, values, **options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 76, in _render result = super()._render(template, values=values, **compile_options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 134, in _render result = ''.join(rendering) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 221, in render_template raise e File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 219, in render_template yield from compiled_fn(self, values, log) File "", line 188, in template_190 File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 221, in render_template raise e File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 219, in render_template yield from compiled_fn(self, values, log) File "", line 29, in template_189 File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 221, in render_template raise e File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 219, in render_template yield from compiled_fn(self, values, log) File "", line 1309, in template_2070 File "", line 2, in _compile File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/tools/profiler.py", line 300, in _tracked_compile return method_compile(self, template, options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 128, in _compile return super()._compile(id_or_xml_id, options=options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 148, in _compile element, document, ref = self._get_template(template, options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 254, in _get_template raise QWebException("load could not load template", self, options, e, template) Exception The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 237, in _dispatch result = request.dispatch() File "/usr/lib/python3/dist-packages/odoo/http.py", line 810, in dispatch r = self._call_function(**self.params) File "/usr/lib/python3/dist-packages/odoo/http.py", line 359, in _call_function return checked_call(self.db, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper return f(dbname, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/http.py", line 351, in checked_call result.flatten() File "/usr/lib/python3/dist-packages/odoo/http.py", line 1277, in flatten self.response.append(self.render()) File "/usr/lib/python3/dist-packages/odoo/http.py", line 1270, in render return env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1992, 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 436, in _render return super(View, self)._render(values, engine=engine, minimal_qcontext=minimal_qcontext) File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_ui_view.py", line 29, in _render return super(IrUiView, self)._render(values=values, engine=engine, minimal_qcontext=minimal_qcontext) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 2000, in _render return self.env[engine]._render(self.id, qcontext) File "/usr/lib/python3/dist-packages/odoo/tools/profiler.py", line 292, in _tracked_method_render return method_render(self, template, values, **options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 76, in _render result = super()._render(template, values=values, **compile_options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 134, in _render result = ''.join(rendering) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 221, in render_template raise e File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 219, in render_template yield from compiled_fn(self, values, log) File "", line 188, in template_190 File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 221, in render_template raise e File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 219, in render_template yield from compiled_fn(self, values, log) File "", line 29, in template_189 File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 221, in render_template raise e File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 219, in render_template yield from compiled_fn(self, values, log) File "", line 1309, in template_2070 File "", line 2, in _compile File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/tools/profiler.py", line 300, in _tracked_compile return method_compile(self, template, options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 128, in _compile return super()._compile(id_or_xml_id, options=options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 148, in _compile element, document, ref = self._get_template(template, options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 254, in _get_template raise QWebException("load could not load template", self, options, e, template) odoo.addons.base.models.qweb.QWebException: View 'web.brand_promotion' in website 1 not found Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 85, in lookup r = d[key] File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 71, in wrapper return func(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/tools/lru.py", line 34, in __getitem__ a = self.d[obj] KeyError: ('ir.qweb', , 'web.brand_promotion', ('fr_FR', None, None, None, False, 1, None, None)) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 85, in lookup r = d[key] File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 71, in wrapper return func(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/tools/lru.py", line 34, in __getitem__ a = self.d[obj] KeyError: ('ir.ui.view', , 4, False, 'web.brand_promotion', (1,)) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 246, in _get_template loaded = options.get('load', self._load)(template, options) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 136, in _load view_id = self.env['ir.ui.view'].get_view_id(name) File "", line 2, in get_view_id File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 374, in get_view_id raise ValueError('View %r in website %r not found' % (xml_id, self._context['website_id'])) ValueError: View 'web.brand_promotion' in website 1 not found load could not load template ValueError: View 'web.brand_promotion' in website 1 not found Template: website.layout
I found it after a few sleepless night. You need to go trough all the records (thousands...) from table ir_model_data and and find the module= web xml_id=brand_promotion.
Great Thanks!!!
Menikmati diskusi? Jangan hanya membaca, ikuti!
Buat akun sekarang untuk menikmati fitur eksklufi dan agar terlibat dengan komunitas kami!
Daftar