Распределение прав и ролей при работе с векторными объектами в геопортале

Работа с векторными объектами в геопортале может вестись по разным правилам, в зависимости от задач. Для гибкой настройки этих правил действует описываемая система прав и ролей.


Роли

Участие пользователя в группах всегда происходит с некоторой «ролью». Роль определяет подмножество допустимых операций с группой, слоями и объектами в них, и в зависимости от операций, определяется для группы, слоя, объекта. Таблица соответствия между ролями и допустимыми операциями представлена в таблице:


Получить
объект
Создавать
объект
Изменять
объект
Удалять
объект
Модерировать
объект
Назначать роли
в группе
Создавать слои
в группе
Бесправный нет нет нет нет нет нет нет
Читатель да нет нет нет нет нет нет
Соавтор да да нет нет нет нет нет
Модератор да да да да да нет нет
Администратор да да да да да да да
Автор объекта да нет да да нет нет нет

Операции с объектами

Получение объектов

Пользователь может получить объект, если выполняется одно из условий:

  • объект имеет статус «проверенный», а пользователь - «читатель» или «соавтор» группы, к которой относится слой, который содержит объект;
  • пользователь - «модератор» или «администратор» группы, к которой относится слой, который содержит объект;
  • пользователь - создатель объекта.


Создание объектов

Пользователь может создать объект, если он «соавтор», «модератор» или «администратор» группы, к которой относится слой, в который предлагается создать объект. Если пользователь, создающий объект – «соавтор», а слой – модерируемый, то объект при создании он получает статус «непроверенный». В иных случаях объект получает статус «проверенный». В хронику операций вносится информация о времени и пользователе, осуществившем операцию.


Блокирование объекта

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

  • пользователь - «модератор» или «администратор» группы, к которой относится слой, который содержит объект;
  • пользователь - создатель объекта.
В хронику операций вносится информация о времени и пользователе, осуществившем операцию.


Изменение объекта

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

  • пользователь - «модератор» или «администратор» группы, к которой относится слой, который содержит объект;
  • пользователь - создатель объекта.
Если объект относится к модерируемому слою, а пользователь не «модератор» и не «администратор», то объект после изменения получает статус «проверенный, но измененный». В панели пользователя, в разделе «мои объекты» даются инструменты для массовой работы с объектами. Пользователь может отобрать объекты, на которые он имеет право изменения, по принадлежности к слоям, по праву управления, семантическому условию, по геометрическому условию, по времени последнего изменения объекта. Найденные объекты отображаются в виде ленты, для каждого объекта доступны кнопки «редактировать», «удалить» и «показать на карте». В хронику операций вносится информация о времени и пользователе, осуществившем операцию.


Удаление объекта

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

  • пользователь - «модератор» или «администратор» группы, к которой относится слой, который содержит объект;
  • пользователь - создатель объекта.
При успешном удалении так же автоматически прекращается транзакция, удаленный объект разблокируется. В хронику операций вносится информация о времени и пользователе, осуществившем операцию.


Модерирование объекта

Запрос изменяет статус модерированности существующего объекта. Пользователь может промодерировать объект, если он его успешно заблокировал, и если пользователь - «модератор» или «администратор» группы, к которой относится слой, который содержит объект. Модерирование позволяет изменить один статус объекта на другой, согласно таблице (статус в строке может быть изменен на статус в столбце):

непроверенный проверенный проверенный, но измененный проверенный, но отклоненный
непроверенный да да нет да
проверенный нет да да да
проверенный, но измененный нет да да да
проверенный, но отклоненный нет да да да

В панели пользователя, в разделе «модерация» даются инструменты для массовой работы по модерации объектов. Пользователь может отобрать объекты, на которые он имеет право модерирования, по статусу модерированности, по принадлежности к слоям, семантическому условию, по геометрическому условию, по времени последнего изменения объекта. Найденные объекты отображаются в виде ленты, для каждого объекта доступны кнопки «одобрить» и «отклонить». В хронику операций вносится информация о времени и пользователе, осуществившем операцию.


Разблокирование объекта

Запрос нужен для снятия блокировки при окончании работ по изменению объекта. Пользователь может разблокировать объект, если объект был блокирован им же. В случае бездействия, блокировка с объекта снимается через 30 минут после последней операции над ним. В хронику операций вносится информация о времени и пользователе, осуществившем операцию.


Операции со слоями

К операциям над слоями относятся создание слоев, изменение настроек существующих слоев, удаление слоев. Эти операции доступны только «администратору» группы, к которой относится слой. Операции выполняются в разделе «мои слои» панели пользователя.


Операции с группами

К операциям с группами относятся изменение параметров группы и назначение ролей в группах. Эти операции доступны только «администраторам» группы. Операции выполняются в разделе «мои группы» панели пользователя.