Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heimrichhannot/contao-entity_notifyer
https://github.com/heimrichhannot/contao-entity_notifyer
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/heimrichhannot/contao-entity_notifyer
- Owner: heimrichhannot
- Created: 2018-03-05T13:25:46.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-12T08:42:48.000Z (almost 7 years ago)
- Last Synced: 2024-04-23T02:58:06.612Z (8 months ago)
- Language: PHP
- Size: 13.7 KB
- Stars: 1
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Entity Notifyer
This module is used to send a notification for the subject that an entity hasn't been changed in a while.
## Technical instruction
### set up the entity_notifyer
### Step 1
- create a new observer in heimrichhannot\contao-observer backend module
- select `entity_notification` as subject in the observer config
- select a dataContainer
- select `entity_inactive_notifcation` as observer in the observer config
- set criteria on which the notification should be send### Step 2
- create a new entity_notification in heimrichhannot\contao-entity_notifyer backend module
- select an previously defined observer
- choose a notification that should be send when the criteria set in the observer is fullfilled### optional
- enable the backend user to exclude an entity from the entity notifyer (e.g. this could come to use when a notification has been send a couple of times for that entity and you don't want to get more)
- add `excludeFromEntityNotifyer` field to dca which you want to exclude from the notification
```
\HeimrichHannot\EntityNotifyer\Backend\EntityNotifyerHelper::addExcludeField('tl_member');
```
- add the `operation` to the dca```
$dc['list']['operations'][\HeimrichHannot\EntityNotifyer\Entity::ENTITY_NOTIFYER_EXCLUDE_FROM_OBSERVER] = [
'label' => &$GLOBALS['TL_LANG']['OBSERVER'][\HeimrichHannot\EntityNotifyer\Entity::ENTITY_NOTIFYER_EXCLUDE][0],
'title' => &$GLOBALS['TL_LANG']['OBSERVER'][\HeimrichHannot\EntityNotifyer\Entity::ENTITY_NOTIFYER_EXCLUDE][1],
'href' => 'key=' . \HeimrichHannot\EntityNotifyer\Entity::ENTITY_NOTIFYER_EXCLUDE,
'icon' => 'system/modules/entity_observer/assets/img/_icon.png',
'button_callback' => [
'HeimrichHannot\EntityObserver\Backend\EntityObserverHelper',
\HeimrichHannot\EntityNotifyer\Entity::ENTITY_NOTIFYER_EXCLUDE_FROM_OBSERVER
]
];
```- add the operation in the `config.php`
```
// exclude from entity_notifyer
$GLOBALS['BE_MOD']['accounts']['member'][\HeimrichHannot\EntityNotifyer\Entity::ENTITY_NOTIFYER_EXCLUDE] =
['HeimrichHannot\EntityNotifyer\Backend\EntityNotifyerHelper', \HeimrichHannot\EntityNotifyer\Entity::ENTITY_NOTIFYER_EXCLUDE];
// include to entity_notifyer
$GLOBALS['BE_MOD']['accounts']['member'][\HeimrichHannot\EntityNotifyer\Entity::ENTITY_NOTIFYER_INCLUDE] =
['HeimrichHannot\EntityNotifyer\Backend\EntityNotifyerHelper', \HeimrichHannot\EntityNotifyer\Entity::ENTITY_NOTIFYER_INCLUDE];
```- you can now exclude/include an entity from the functionality of entity_notifyer at the backend entity
## Classes
Name | Description
---- | -----------
Entity | set up constants
EntityNotifyerHelper | Helper class to get options for dca and handle the exclude/include of entities from entity_notifyer
EntityInactiveObserver | Observer that can be selected in heimrichhannot/contao-observer config. Sends the notification
NotificationSubject | Subject that can be selected in heimrichhannot/contao-observer. Notifys the observer wether it should send the notification. Check if entity is excluded from entity_notifyer happens here.## Hooks
Name | Arguments | Expected return value | Description
---- | --------- | --------------------- | -----------
editEntityNotificationTokens | $entity,$tokens | $tokens | Modify the tokens used for the notification send by entity_notifyer