207 похожих чатов

Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых

расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ограничения нужны в нескольких местах: для вложений в Discuss (чате), при загрузке файлов с портала и в бинарных полях на моделях.

В одном модуле от индийских разработчиков нашёл пример, где они полностью переопределяют контроллер mail_attachment_upload(): https://github.com/odoo/odoo/blob/16.0/addons/mail/controllers/discuss.py#L261

Они добавили проверку на размер файла:
max_file_size = 10 * 1024 * 1024
if attachmentData['size'] > max_file_size:
attachmentData = {'error': _(
'Attachment - %s size cannot exceed %s',
attachment.name, human_size(max_file_size))
}
attachment.unlink()
Если следовать этому подходу, аналогично можно переопределить контроллер для портала: https://github.com/odoo/odoo/blob/16.0/addons/portal/controllers/portal.py#L292

и для бинарных полей: https://github.com/odoo/odoo/blob/16.0/addons/web/controllers/binary.py#L173

Может быть, кто-то знает, есть ли более элегантный способ реализовать такую логику? Пробовал переопределить метод create в модели ir.attachment, но это не помогло.
Odoo 16.

1 ответов

2 просмотра

Лови :)) https://chatgpt.com/share/672c6998-7204-8013-b7e4-2c3f9574e627

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
30
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Кароче инфа для тех кто собирает пакеты и в пакетах есть платформозависимые модули. Т.е. такие которые должны подключаться по определенным условиям. У меня в CPU-View как раз ...
Александр (Rouse_) Багель
5
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
+ ну такое. не для новичков. Если нет консоли на вирт хостинге? + нет отсылки ни в видео ни в описании на процесс создания магазина. Сеошники и юзеры не одобрят :) settings.ph...
Дмитрий
12
Всем здравствуйте, Я использую LibUsbDotNet, пытаясь написать библиотека (под linux/Mac OS) для взаимодействия с usb-устройством, который отправляет текст на дисплей покупат...
Асылбек Анарбай
2
Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
function LoadMemoryFromInet2( f:TMemoryStream; const url:string; var e:string ):Boolean; var http:TIdHttp; LHandler: TIdSSLIOHandlerSocketOpenSSL;begin Result := fals...
Александр Смоляков
1
Карта сайта