Passed
Pull Request — developer (#15831)
by Arkadiusz
20:14
created

Vtiger_TransferOwnership_View::checkPermission()   B

Complexity

Conditions 8
Paths 2

Size

Total Lines 12
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
dl 0
loc 12
rs 8.4444
c 1
b 0
f 0
cc 8
nc 2
nop 1
1
<?php
2
/**
3
 * Transfer ownership modal view file.
4
 *
5
 * @package   View
6
 *
7
 * @copyright YetiForce S.A.
8
 * @license   YetiForce Public License 5.0 (licenses/LicenseEN.txt or yetiforce.com)
9
 * @author    Mariusz Krzaczkowski <[email protected]>
10
 */
11
12
/**
13
 * Transfer ownership modal view class.
14
 */
15
class Vtiger_TransferOwnership_View extends \App\Controller\Modal
16
{
17
	/** {@inheritdoc} */
18
	public $modalSize = '';
19
20
	/** {@inheritdoc} */
21
	protected $pageTitle = 'LBL_TRANSFER_OWNERSHIP';
22
23
	/** {@inheritdoc} */
24
	public $modalIcon = 'yfi yfi-change-of-owner';
25
26
	/** {@inheritdoc} */
27
	public $showFooter = false;
28
29
	/** @var array|null Parent record id. */
30
	public $parent;
31
32
	/** {@inheritdoc} */
33
	public function checkPermission(App\Request $request)
34
	{
35
		$moduleName = $request->getModule();
36
		$currentUserPrivilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
37
		$sourceView = $request->getByType('sourceView');
38
		if (
39
			$currentUserPrivilegesModel->hasModuleActionPermission($moduleName, 'EditView')
40
			&& ('Detail' !== $sourceView && 'List' !== $sourceView)
41
			|| ('List' === $sourceView && !$currentUserPrivilegesModel->hasModuleActionPermission($moduleName, 'MassTransferOwnership'))
42
			|| ('Detail' === $sourceView && !$currentUserPrivilegesModel->hasModuleActionPermission($moduleName, 'DetailTransferOwnership'))
43
		) {
44
			throw new \App\Exceptions\NoPermitted('LBL_PERMISSION_DENIED', 406);
45
		}
46
	}
47
48
	/**
49
	 * Users list modal.
50
	 *
51
	 * @param App\Request $request
52
	 *
53
	 * @return void
54
	 */
55
	public function process(App\Request $request): void
56
	{
57
		$moduleName = $request->getModule();
58
		$transferModel = Vtiger_TransferOwnership_Model::getInstance($moduleName);
59
		$viewer = $this->getViewer($request);
60
		$viewer->assign('REL_BY_FIELDS', $transferModel->getRelationsByFields());
61
		$viewer->assign('REL_BY_RELATEDLIST', $transferModel->getRelationsByRelatedList());
62
		$viewer->assign('SKIP_MODULES', $transferModel->getSkipModules());
63
		$viewer->view('Modals/TransferOwnership.tpl', $moduleName);
64
	}
65
}
66