Представлено описание сервиса блокировок
Описание
Сервис блокировок (NewPlatform.Flexberry.LockService) предназначен для удобной реализации механизма блокировок. Например, требуется защитить некоторый объект данных от изменения другими пользователями в то время, как он редактируется каким-либо пользователем.
В версиях Flexberry Designer 2017.06.14-beta08 и последующих LockService подключается автоматически.
Добавление сервиса блокировок для более ранних версий
- Включить в Ember Flexberry-проекте LockService, добавив в
environment.js
:
// Settings lock.
lock: {
enabled: true,
openReadOnly: true,
unlockObject: true,
}
Где:
- enabled - включение/выключение LockService.
- openReadOnly - отвечает за открытие формы редактирования только для чтения, если форма заблокирована.
- unlockObject - отвечает за удаление блокировки при выходе с формы.
-
Добавить в Backend ODataService библиотеку NewPlatform.Flexberry.LockService.
- Добавить в ODataConfig assemblies тип Lock:
namespace NewPlatform.Flexberry.Services { ... var assemblies = new[] { ... typeof(NewPlatform.Flexberry.Services.Lock).Assembly }; ... };
- Получение текущего пользователя для блокировок сейчас осуществляется через метод
getCurrentUserName
сервисаuser
(определен в аддонеember-flexberry-data
). По умолчанию данный метод будет возвращать пользователя с именемuserName
. На прикладном уровне необходимо переопределить данный метод, если используется аутентификация в приложении или если необходимо возвращать другое имя текущего пользователя в случае отсутствия механизма аутентификации в приложении.