1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
CollabLeaveRule.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\SocialNetwork\Collab\Access\Rule;
6
7use Bitrix\Main\Access\AccessibleItem;
8use Bitrix\Main\Access\Rule\AbstractRule;
9use Bitrix\Socialnetwork\Permission\GroupAccessController;
10use Bitrix\Socialnetwork\Permission\GroupDictionary;
11use Bitrix\Socialnetwork\Permission\User\UserModel;
12use Bitrix\SocialNetwork\Collab\Access\CollabAccessController;
13use Bitrix\SocialNetwork\Collab\Access\Model\CollabModel;
14
16{
18 protected $controller;
19
21 protected $user;
22
23 public function execute(AccessibleItem $item = null, $params = null): bool
24 {
25 if (!$item instanceof CollabModel)
26 {
27 $this->controller->addError(static::class, 'Wrong instance');
28
29 return false;
30 }
31
32 if ($this->user->isCollaber())
33 {
34 $this->controller->addError(static::class, 'Access denied by collaber role');
35
36 return false;
37 }
38
39 if (!$this->controller->forward(GroupAccessController::class, GroupDictionary::LEAVE, $item, $params))
40 {
41 $this->controller->addError(static::class, 'Access denied by group controller');
42
43 return false;
44 }
45
46 return true;
47 }
48}
execute(AccessibleItem $item=null, $params=null)
Определения CollabLeaveRule.php:23
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения template.php:799