Проблема с обходом "максимального количества записей"

ЕСТЬ РЕШЕНИЕ

Есть проблемка с пунктом "максимально количество записей". Требуется помощь зала.

#1 28 июля 2024 в 10:36

Всем доброго дня. В настройках доступа с ТК есть пункт «Максимально количество записей». Для каждой из групп пользователя он свой. Если установить ограничение, то при попытке добавления сверх лимита вылетает уведомление, о том, что пользователь добавил максимальное число записей. 

Но, есть НО. Если удалим одну из записей в корзину, потом добавим новую запись (система даст добавить), а потом восстановим запись из корзины, то кол-во активных записей превысит лимит. И так можно добавить сколько угодно записей. 

Вопрос: как это можно было бы исправить? Всем спасибо. 

#2 28 июля 2024 в 18:08

 Ostrova, откройте файл /system/controllers/content/actions/item_add.php

и перед 38 строчкой github.com/instantsoft/icms2/blob/master/system/controllers/content/actions/item_add.php#L38

добавьте

  1. $this->model->disablePrivacyFilter()->disableDeleteFilter()->disableApprovedFilter()->disablePubFilter();

это отключит любые фильтрации и количество будет считаться просто по наличию записей юзера в базе

должно получиться примерно так

Изображение

Как сделать такую проверку отдельным компонентом я не вижу. Только если свою проверку (на количество) добавлять до этой в движке.

#3 30 июля 2024 в 00:28

 Ostrova, откройте файл /system/controllers/content/actions/item_add.php

и перед 38 строчкой github.com/instantsoft/icms2/blob/master/system/controllers/content/actions/item_add.php#L38

добавьте

  1. $this->model->disablePrivacyFilter()->disableDeleteFilter()->disableApprovedFilter()->disablePubFilter();

это отключит любые фильтрации и количество будет считаться просто по наличию записей юзера в базе

должно получиться примерно так

Изображение

Как сделать такую проверку отдельным компонентом я не вижу. Только если свою проверку (на количество) добавлять до этой в движке.

Zau4man

Спасибо большое, сработало.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.