Уверен, что у каждого были случаи некоректного переноса базы данных Odoo из одного сервера на другой. Чаще всего, проблему вызывают js/css файлы, которые отдают 404 при загрузке.
Проблема: Odoo работает только с debug=assets, и то не всегда коректно.
Например: не создаются новые пользователи или редактируются существующие. В консоли видим подобную ошибку:
При создании нового пользователя получаем ошибку: web/content/329-c2af7d4/web_editor.summernote.css net::ERR_ABORTED 404 (NOT FOUND)
Проблема с web_editor.summernote.css/web_editor.summernote.js локальна, и касается только отдельного действия — создания или редактирования пользователя. Процесс востановления .css, .js файлов одинаковый: нужно обновить все или отдельный бандл, файлы которого отдают ошибку.
Пробуем решиь проблему, удалив эти файлы. По логике, Odoo должен их перегенировать при обновлении бандла. Действия:
- переходим в Settings -> Technical -> Attachments,
- удаляем web_editor.summernote.js и web_editor.summernote.css.
- обновляем бандл web_editor.
Без удаления файлов, они не обновляются при обновлении бандла. Проверено на Odoo 13.0-20191106 (Community Edition).
Как удалить все js/css файлы?
Это можно сделать несколькими способами:
- Удалить запросом в базу данных. После подключения к базе данных, нужно удалить записи ir.attachment, которые ссылаются на отсутствующие ресурсы. Это всегда файлы JavaScript или CSS. Можно использовать следующий запрос:
- Удалить через интерфейс. Для этого переходим в Settings -> Technical -> Attachments, групируем по Mime Type. Переходим в отображение «Список» и массово уаляем файлы.
При удалении web_assets интерфейс админки может быть недоступен.
В таком случае рекомендуем обновить плагины через консоль.
Чтобы обновить модуль через консоль, нужно выполнить следующую команду:
./odoo.py -d database_to_update -u allВостановление js/css через интерфейс
В Odoo 12 была добавлена функциональность «Regenerate Asset Bundles». Найти ее можно в режиме разработчика, в Developer Tools. При нажатии происходит следующее: