1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
CollabEntityAddEventListener.php
См. документацию.
1
<?php
2
3
declare(strict_types=1);
4
5
namespace
Bitrix\Socialnetwork\Collab\Onboarding\Event\Type;
6
7
use Bitrix\Main\EventResult;
8
use Bitrix\Socialnetwork\Collab\Entity\Event\CollabEntityAddEvent;
9
use Bitrix\Socialnetwork\Collab\Entity\Type\EntityType;
10
use Bitrix\Socialnetwork\Collab\Onboarding\Internals\Type;
11
12
class
CollabEntityAddEventListener
extends
AbstractEventListener
13
{
14
public
function
onCollabEntityAdd
(
CollabEntityAddEvent
$event
):
EventResult
15
{
16
$entity
=
$event
->getEntity();
17
18
if
($this->isExpectedEntityType(
$entity
->getType()))
19
{
20
$collabId =
$entity
->getCollab()->getId();
21
22
$this->deleteJobsAfterAddCollabEntity($collabId);
23
}
24
25
return
new
EventResult
(EventResult::SUCCESS);
26
}
27
28
private
function
isExpectedEntityType(
EntityType
$type
): bool
29
{
30
return
in_array(
$type
, [EntityType::Task, EntityType::CalendarEvent, EntityType::File],
true
);
31
}
32
33
private
function
deleteJobsAfterAddCollabEntity(
int
$collabId): void
34
{
35
$this->queueService->deleteByFilter([
36
'COLLAB_IDS'
=> [$collabId],
37
'JOB_TYPES'
=> [Type::CreatedTaskOrMeetingOrFileThreeDays->value],
38
]);
39
}
40
}
$type
$type
Определения
options.php:106
Bitrix\Main\EventResult
Определения
eventresult.php:5
Bitrix\Socialnetwork\Collab\Entity\Event\CollabEntityAddEvent
Определения
CollabEntityAddEvent.php:11
Bitrix\Socialnetwork\Collab\Onboarding\Event\Type\AbstractEventListener
Определения
AbstractEventListener.php:12
Bitrix\Socialnetwork\Collab\Onboarding\Event\Type\CollabEntityAddEventListener
Определения
CollabEntityAddEventListener.php:13
Bitrix\Socialnetwork\Collab\Onboarding\Event\Type\CollabEntityAddEventListener\onCollabEntityAdd
onCollabEntityAdd(CollabEntityAddEvent $event)
Определения
CollabEntityAddEventListener.php:14
$entity
$entity
Определения
group_bizproc_workflow_delete.php:17
Bitrix\Socialnetwork\Collab\Entity\Type\EntityType
EntityType
Определения
EntityType.php:8
$event
$event
Определения
prolog_after.php:141
bitrix
modules
socialnetwork
lib
Collab
Onboarding
Event
Type
CollabEntityAddEventListener.php
Создано системой
1.14.0