Рубрики
Software

External dependencies в odoo

В одном из модулей для Odoo была необходимость доставать данные таблицы из PDF документа. Среди множества python библиотек по разбору текста из PDF мне понравилась tabula-py. На ее примере мы посмотрим, как правильно работать с внешними зависимостями в Odoo. external_dependencies В нашем модуле мы должны указать внешние зависимости в манифесте: Эти зависимости не будут установлены. […]

Рубрики
Software

RuntimeWarning: DateTimeField received a naive datetime

Иногда, в процессе работы с датами и фильтрации объектов возникает довольно неприятное предупреждение: RuntimeWarning: DateTimeField Object.updated_at received a naive datetime (2020-05-05 18:02:41.675117) while time zone support is active. Это предупреждение не останавливает выполнение скрипта, просто можно получить не совсем коректные данные в результате фильтрации. Как исправить naive datetime? Чтобы решить эту проблему и получить более […]

Рубрики
Software

Новый статус заказа в Odoo

На одном из проектов появилась необходимость добавить еще один статус к заказам (модель — sale.order). В Odoo это делается максимально быстро и удобно. Тут будет небольшой пример. Первым делом, добавляем к атрибуту state в модели sale.order нужное нам значение. Делается это через расширение модели и метод selection_add. В существующий список статусов заказа мы добавили новый […]

Рубрики
Software

Odoo: A partner is linked to only one visitor.

В Odoo замечен неприятный сюрприз, который уже исправили (issues/40077).Собственно, проблема в том, что если пользователь не заходил в систему более 7 дней, его учетная запись отключается в целях безопасности. Крайне неприятно когда такое случается в работающей системе, которая не была обновлена. Как решить проблему? Исправить ошибку без потери данных можно, подключившись в базе данных напрямую […]

Рубрики
Software

Odoo в контейнере. Как работать с PostgreSQL в контейнере?

Odoo использует для работы PostgreSQL. Если вы запускаете Odoo в контейнере, рано или поздно прийдется подключиться к базе данных напрямую. Как это сделать, показываю на примере: Первое — смотрим как называется контейнер с PostgreSQL. В нашем примере он называется просто db. В папке, в которой находиться docker-compose.yml выполняем команду: docker-compose exec db bash docker-compose exec […]

Рубрики
Software

FIX: PDF документы в ODOO генерируются без стилей

Столкнулся с проблемой на одном из проектов. При генерации PDF документа все стили слетали. Рассмотрим на примере стандартного шаблона для Quotations. Выглядело это так: Этот же отчет но в HTML: Как видим — все хорошо. Первым делом проверяем установлен ли wkhtmltopdf. Сделать это можно при помощи консольной команды: whereis wkhtmltopdf — покажет системный путь, например […]

Рубрики
Software

Ошибка с правами доступа к файлам лога — Laravel

В одном из проектов была проблема с сохранением логов. Monolog используется в консольных скриптах и там он запускается от php-cli. Веб сервер в тоже время работает как nginx. Для решения данной проблемы очевидны два варианта: Запускать консольные скрипты от пользователя nginx Разделить лог файлы по пользователям В моей ситуации предпочтительней второй вариант, так как консольные […]

Рубрики
Software

Принимаем POST запросы в Odoo

Типичная задача.Допустим, нам нужно принимать какие-то данные из внешнего источника, обрабатывать их и возвращать результат. Я не буду описывать всю логику, а сконцентрируюсь лишь на основных моментах при работе с контроллерами в Odoo. Как обычно, все делаем в отдельном модуле. Наш контроллер: Обратите внимание. Мы используем auth=’public’. Благодаря этому нам не нужна авторизация для доступа […]

Рубрики
Software

WordPress: Sorry, you are not allowed to access this page.

При переносе WordPress сайта в докер, столкнулся со следующей проблемой: При входе в админку сайта, выпадала ошибка «Извините, вам не разрешено просматривать эту страницу«. Эта проблема появилась сразу после того, как были убраны бесконечные редиректы (Too Many Redirects). Особенности: NGINX выступает как proxy-server, в docker-compose файлы сайта и база данных. SSL через certbot. Как решить […]

Рубрики
Software

Добавляем Beats репозиторий в Centos

Нужно установить один из элементов Beats (Filebeat, Metricbeat, Packetbeat, Heartbeat и т.д.)? Для Elasticsearch на Centos, это можно сделать добавив репозиторий пакетов Beats: 1. Загружаем и устанавливаем открытый ключ подписи: 2. Создайте файл с расширением .repo (например elastic-beats.repo) в каталоге /etc/yum.repos.d/ со следующим содержимым: Репозиторий готов. Теперь можно установить любой из сервисов Beats. Filebeat: становка […]