Download the PHP package forest-lynx/moonshine-resource-lock without Composer
On this page you can find all versions of the php package forest-lynx/moonshine-resource-lock. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package moonshine-resource-lock
Блокировка ресурсов
Documentation in English
Добавляет функцию блокировки ресурсов в административную панель MoonShine. Когда пользователь редактирует запись, ресурс блокируется, чтобы другие пользователи не могли одновременно вносить изменения.
Версия пакета | Версия админ-панели MoonShine |
---|---|
^1.x | ^2.18.0 |
^2.x | ^3.x |
Содержание
- Установка
- Использование
- Конфигурация
- Отображение всех блокировок
- Публикация конфигурации и языковых файлов
- Лицензия
Установка
Команда для установки:
Затем запустите команду установки:
Команда запустит миграции, и предложит опубликовать конфигурационный файл и языковые файлы.
Использование
Пакет resource-lock
позволяет заблокировать ресурс и предотвратить его редактирование другими пользователями.
Активация блокировки ресурса
Для активации блокировки ресурса необходимо добавить в ModelResource
трейт WithResourceLock
.
Теперь Ваш ресурс может быть заблокирован.
Конфигурация
Время блокировки ресурса.
По умолчанию ресурс будет заблокирован на 10 минут, или до момента его сохранения, в зависимости от того что наступит раньше.
Время блокировки регулируется параметром lock_time
, который указан в конфигурационном файле, значение указывается в минутах.
Отображение информации о пользователе заблокировавшем ресурс
По умолчанию в модальном окне выводится информация о пользователе, который заблокировал доступ к ресурсу.
За вывод информации о пользователе отвечает параметр show_owner_modal
(который по умолчанию имеет значение true
) в конфигурационном файле.
В модальном окне отображается только имя пользователя, заблокировавшего доступ к ресурсу. Для отображения иной информации вы можете создать свой класс, который будет унаследован от ResourceLockOwnerAction
, и зарегистрировать его в конфигурационном файле. Таким образом, вы сможете настроить отображение дополнительных сведений о заблокировавшем доступ пользователе в модальном окне.
Например:
Затем внести его в конфигурационный файл:
Редирект для блокировки ресурса
По умолчанию, когда вы нажимаете кнопку «Назад» в модальном окне заблокированного ресурса, происходит переход на индексную страницу ресурса. Однако вы можете изменить URL страницы редиректа, переопределив метод getReturnUrlResourceLock
в вашем ресурсе.
Отображение информации о заблокированном ресурсе на индексной странице
На индексной странице ресурса по умолчанию отображается информация о том, что доступ к ресурсу был заблокирован другим пользователем. Это отображается в виде специального значка:
Чтобы скрыть эту информацию на индексной странице ресурса, можно в конфигурационном файле установить для параметра resource_lock_to_index_page
значение false
.
В зависимости от ваших потребностей, вы можете настроить отображение информации о заблокированном ресурсе на индексной странице ресурса с помощью объявления метода в вашем ресурсе isDisplayOnIndexPage()
. Этот метод должен возвращать логическое значение true
или false
.
Например:
[!CAUTION] Пока это работает только для ресурсов с отображением через
TableBuilder
.[!NOTE] Чтобы предотвратить редактирование заблокированного ресурса, из списка действий удаляются кнопки редактирования и удаления на главной странице ресурса. Вместо них появляется кнопка, открывающая информацию о заблокированном ресурсе в модальном окне.
Отображение всех блокировок
В этом пакете можно настроить отображение всех заблокированных ресурсов.
Название ресурса для использования в меню административной панели MoonShine:
ForestLynx\MoonShine\Resources\LockResource
.
Удаление записи приводит к разблокировке ресурса.
Чтобы узнать больше о доступных вариантах отображения, обратитесь к документации административной панели Moonshine Menu а так же ModelResource
Очистка от устаревших записей о блокировке ресурсов
Для очистки таблицы базы данных от всех устаревших записей о блокировке ресурсов запустите команду:
Публикация конфигурации и языковых файлов
Чтобы опубликовать конфигурационный файл запустите команду:
Подробнее о конфигурации пакета.
Для публикации языковых файлов запустите команду:
Лицензия
Лицензия MIT.