Нет доступа к записям

Ответить
Аватара пользователя
Евгений
Сообщения: 454
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

Нет доступа к записям

Сообщение Евгений »

Задачи были назначены на разных пользователей. После обновления ни один пользователь не может зайти в задачу, по которой он назначен исполнителем. Сообщение:

Код: Выделить всё

[code]Страница не найдена!
Страница, которую вы открываете, не существует.
[/code]
Администратор как обычно заходит везде.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9009
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Нет доступа к записям

Сообщение support »

Пришлите базу в лику, если возможно, так нечего немогу сказать.
Аватара пользователя
Евгений
Сообщения: 454
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

Re: Нет доступа к записям

Сообщение Евгений »

Базу отправлю, копию до обновления.

Проблему удалось решить. Заново прощелкал все права доступа в сущностях - сперва выставил доступ "Нет", потом вернул обратно как было. После этого задачи опять стали открываться у пользователей, на которых они были назначены.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9009
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Нет доступа к записям

Сообщение support »

хм, очень интересно... ну хорошо что решилось
Аватара пользователя
Евгений
Сообщения: 454
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

Re: Нет доступа к записям

Сообщение Евгений »

Нашел ещё одну причину, влияющую на отсутствие доступа к записям.

Сущность Проекты у меня содержит поле "Доступ", тип Группа пользователей/Флажки. Несколько раз снимал и переустанавливал флажки, сохранял изменения, доступ у пользователей к этим записям всё равно не появлялся.

После того как я заменил тип этого поля на Выпадающий список с выбором нескольких значений - ошибка доступа исчезла. Все пользователи стали входить в записи без проблем. Наверное это связано именно с типом Флажок, надо проверять ещё.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9009
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Нет доступа к записям

Сообщение support »

Если проблема повторится, предлагаю проверить запросы к базе.

Откройте файл modules\items\module_top.php и найдите строку 45

Код: Выделить всё

$item_query = db_query("select * from app_entity_" . $current_entity_id . " e where e.id='" . db_input($current_item_id) . "' " . items::add_access_query_for_parent_entities($current_entity_id));
Нужно вывести запрос. Добавьте перед этой строкой

Код: Выделить всё

$item_query = db_query("select * from app_entity_" . $current_entity_id . " e where e.id='" . db_input($current_item_id) . "' " . items::add_access_query_for_parent_entities($current_entity_id),true);
exit();
таким образом, перейдя на страницу записи вы увидите запрос, который может будет проблемный.

Запрос будет такого плана

Код: Выделить всё

select e.* from app_entity_25 e where e.id=1 and  (select count(*) as total from app_entity_25_values cv where cv.items_id=e.id and cv.fields_id='208' and cv.value='34')>0
Выполните данный запрос в phpMyAdmin и скорей всего он возвратит пустой результат. Тогда выполните эти два запроса отдельно

Код: Выделить всё

select e.* from app_entity_25 e where e.id=1
и

Код: Выделить всё

select count(*) as total from app_entity_25_values cv where cv.items_id=1 and cv.fields_id='208' and cv.value='34'
Уже была подобная проблема у другого пользователя и я как то не обратил на это внимание, но раз проблема повторилась, нужно разобраться. В предыдущем случае эти два запроса по отдельности результат выводили, но, при использовании вложенного запроса, связь почему то не устанавливалась и результат выводился пустой. Я тогда подумал что глюк на сервере какой то и просто убрал эту проверку.

Вообщем проверьте, может у вас такая же проблема, тогда нужно будет покапать и разобраться почему вложенный запрос не работает должным образом. Может я что то с индексами намудрил в таблице app_entity_XX_values ...
Ответить