1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
CollaberNotAcceptInvitationOneDay.php
См. документацию.
1
<?php
2
3
declare(strict_types=1);
4
5
namespace
Bitrix\Socialnetwork\Collab\Onboarding\Entity\Type
;
6
7
use
Bitrix\Main\Type\DateTime
;
8
use
Bitrix\Socialnetwork\Collab\Onboarding\Entity\AbstractJob
;
9
use
Bitrix\Socialnetwork\Collab\Onboarding\Execution\Executor\Error\JobNotCompletedError
;
10
use
Bitrix\Socialnetwork\Collab\Onboarding\Internals\Type
;
11
use
Bitrix\Socialnetwork\Collab\Onboarding\Execution\Result\JobResult
;
12
use
Bitrix\Socialnetwork\Integration\Calendar\ClosestWorkDate\ClosestWorkDate
;
13
use CTimeZone;
14
15
class
CollaberNotAcceptInvitationOneDay
extends
AbstractJob
16
{
17
public
const
LIFE_TIME
= self::SECONDS_PER_DAY;
18
public
const
JOB_OFFSET
= self::SECONDS_PER_DAY;
19
20
public
function
getType
():
Type
21
{
22
return
Type::CollaberNotAcceptInvitationOneDay;
23
}
24
25
public
function
isImmediatelyExecuted
(): bool
26
{
27
return
false
;
// Displayed only when the user has entered the collab
28
}
29
30
protected
function
createNextExecutionDate
():
DateTime
31
{
32
$closestWorkDate = (
new
ClosestWorkDate
())->
get
(self::JOB_OFFSET);
33
34
$userTimeOffset = CTimeZone::GetOffset($this->userId);
35
$closestWorkDate->add(
"-{$userTimeOffset} seconds"
);
36
37
return
$closestWorkDate;
38
}
39
40
public
function
__invoke
():
JobResult
41
{
42
$isCompletedByLifeTime = time() > ($this->nextExecution->getTimestamp() + static::LIFE_TIME);
43
44
if
($isCompletedByLifeTime)
45
{
46
return
new
JobResult
();
47
}
48
49
return
(
new
JobResult
())->
addError
(
new
JobNotCompletedError
());
50
}
51
}
Bitrix\Main\Result\addError
addError(Error $error)
Определения
result.php:50
Bitrix\Main\Type\DateTime
Определения
datetime.php:9
Bitrix\Socialnetwork\Collab\Onboarding\Entity\AbstractJob
Определения
AbstractJob.php:15
Bitrix\Socialnetwork\Collab\Onboarding\Entity\Type\CollaberNotAcceptInvitationOneDay
Определения
CollaberNotAcceptInvitationOneDay.php:16
Bitrix\Socialnetwork\Collab\Onboarding\Entity\Type\CollaberNotAcceptInvitationOneDay\isImmediatelyExecuted
isImmediatelyExecuted()
Определения
CollaberNotAcceptInvitationOneDay.php:25
Bitrix\Socialnetwork\Collab\Onboarding\Entity\Type\CollaberNotAcceptInvitationOneDay\getType
getType()
Определения
CollaberNotAcceptInvitationOneDay.php:20
Bitrix\Socialnetwork\Collab\Onboarding\Entity\Type\CollaberNotAcceptInvitationOneDay\LIFE_TIME
const LIFE_TIME
Определения
CollaberNotAcceptInvitationOneDay.php:17
Bitrix\Socialnetwork\Collab\Onboarding\Entity\Type\CollaberNotAcceptInvitationOneDay\__invoke
__invoke()
Определения
CollaberNotAcceptInvitationOneDay.php:40
Bitrix\Socialnetwork\Collab\Onboarding\Entity\Type\CollaberNotAcceptInvitationOneDay\createNextExecutionDate
createNextExecutionDate()
Определения
CollaberNotAcceptInvitationOneDay.php:30
Bitrix\Socialnetwork\Collab\Onboarding\Entity\Type\CollaberNotAcceptInvitationOneDay\JOB_OFFSET
const JOB_OFFSET
Определения
CollaberNotAcceptInvitationOneDay.php:18
Bitrix\Socialnetwork\Collab\Onboarding\Execution\Executor\Error\JobNotCompletedError
Определения
JobNotCompletedError.php:10
Bitrix\Socialnetwork\Collab\Onboarding\Execution\Result\JobResult
Определения
JobResult.php:10
Bitrix\Socialnetwork\Integration\Calendar\ClosestWorkDate\ClosestWorkDate
Определения
closestworkdate.php:13
Bitrix\Socialnetwork\Collab\Onboarding\Entity\Type
Определения
CollaberNotAcceptInvitationOneDay.php:5
Bitrix\Socialnetwork\Collab\Onboarding\Internals\Type
Type
Определения
Type.php:12
bitrix
modules
socialnetwork
lib
Collab
Onboarding
Entity
Type
CollaberNotAcceptInvitationOneDay.php
Создано системой
1.14.0