Download the PHP package heimrichhannot/contao-entity_lock without Composer
On this page you can find all versions of the php package heimrichhannot/contao-entity_lock. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download heimrichhannot/contao-entity_lock
More information about heimrichhannot/contao-entity_lock
Files in heimrichhannot/contao-entity_lock
Package contao-entity_lock
Short Description A generic helper module to store locks for arbitrary entities in Contao.
License LGPL-3.0+
Homepage https://github.com/heimrichhannot/contao-entity_lock
Informations about the package contao-entity_lock
Entity Lock
A generic module to store arbitrary entity locks in Contao.
Known limitations
- backend user support is not done, yet -> currently frontend handling only
Features
- adds a lock entity for storing the current editor, lock time, locked entity, ...
- offers a rich model interface to easily handle creation, update and deletion of locks for any entity
- read the "Usage" chapter for more details on the functionality
Usage
The module is just a helper module for storing lock relevant information like the editor, the lock time, ...
The intended usage is as follows:
- Some kind of edit form is opened -> Hence the currently edited record (aka entity) should be locked from another concurrent editing.
- A lock is created in the moment of the form's loading.
- On submit of the form the lock is removed and a the user has to be redirected to some other page in order to prevent the form from locking the entity again as happened in the previous step.
- In case of deletion of the entity, of course, all linked locks are also removed.
- The developer can specify how long the lock interval is (in the global settings or overrride it in the module config using EntityLock::DEFAULT_PALETTE). After the age of a lock passed this interval it isn't active anymore (it times out).
- The developer can specify in a module's config whether any frontend user can delete active locks (e.g. if the lock is more a hint than a hard barrier)
A module developer using entity_lock can store a new lock, check for their existance in the appropriate places and could use heimrichhannot/contao-entity_cleaner in order to remove elapsed locks.
In addition you could use heimrichhannot/contao-frontendedit to build your frontend module, since it already supports entity_lock, i.e. new locks are created automatically in frontend.
Defining custom title fields for auto completion in the parent entity field in a lock
Extend defined in config/config.php in order to define mapping for your custom entities. Otherwise auto completion will only use the id field.
Technical instructions
Do the following in your frontend module (or use heimrichhannot/contao-frontendedit since it already does that for you):
-
Add the necessary fields to tl_module and check addEntityLock in the module config in Contao:
-
Check for existing locks and create one if necessary:
-
Remove all locks linked to a certain entity after submission of the edit form and on deletion of the entity:
- If a frontend user should be able to take over some other user's record (i.e. delete a lock), you can check for that in the module as follows:
Hooks
Name | Arguments | Description |
---|---|---|
customizeLockErrorMessage | $strMessage, $objLock, $objEditor, $objModule | Hook for customizing the error message |
All versions of contao-entity_lock with dependencies
contao/core-bundle Version ^3.5.1 || ~4.1
contao-community-alliance/composer-plugin Version ~2.4 || ~3.0
heimrichhannot/contao-be_explanation Version ~1.0
heimrichhannot/contao-haste_plus Version ~1.4
heimrichhannot/contao-tagsinput Version ~2.0
heimrichhannot/contao-submissions Version ~1.0