1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
CollabEntityAddEventListener.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\Socialnetwork\Collab\Onboarding\Event\Type;
6
7use Bitrix\Main\EventResult;
8use Bitrix\Socialnetwork\Collab\Entity\Event\CollabEntityAddEvent;
9use Bitrix\Socialnetwork\Collab\Entity\Type\EntityType;
10use Bitrix\Socialnetwork\Collab\Onboarding\Internals\Type;
11
13{
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
Определения options.php:106
$entity
$event
Определения prolog_after.php:141