| Документация

Фильтр на слой с возможностью использования макросов

CoGIS Server поддерживает возможность задать фильтр для слоя через переменную в QGIS-проекте. Это аналог свойств, указанных в пунктах 5.1.3 и 5.1.4 . Отличие заключается в более гибком sql-выражении для указания фильтра. Отличается набор макросов для подстановки в выражение.

В переменных указывается свойство elitegis_where_clause, в значениях для которого указывается необходимое sql-выражение с фильтром, т. е. только часть после WHERE . Эта часть добавляется ко всем остальным фильтрам через логическое свойство AND . Пример заполнения переменной представлен ниже, см. Рисунок 152 .

Набор поддерживаемых макросов представлен в Таблица 18.

Таблица 18 - Макросы для подстановки в sql-фильтр на слой

Макрос Значение
{CurrentUser} логин текущего пользователя, или пустая строка для неавторизованного пользователя
{CurrentGroups} все группы, в которые входит пользователь, через точку с запятой и обрамлён точками с запятой, например, ;g1;g2; или пустая строка для неавторизованного пользователя или пользователя без групп
{CurrentGroup.g1} входит ли текущий пользователь в указанную группу g1 (1 входит, или 0 не входит)
{IsUserLoggedIn} авторизован ли пользователь (1 авторизован, или 0 аноним)
{CurrentUserFullName} ФИО пользователя или пустая строка для неавторизованного пользователя
{WhereClause} внешний фильтр на слой, аналогично свойству elitegis_query

Рисунок 152- Пример заполнения переменной фильтра на слой