Passed
Push — developer ( 314760...5d405c )
by Radosław
46:20 queued 29:05
created

Services_ChangeStateOrDelete_Handler   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 19
c 1
b 0
f 0
dl 0
loc 44
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A preStateChange() 0 13 3
A preDelete() 0 13 2
1
<?php
2
/**
3
 * Change stare or delete handler file.
4
 *
5
 * @package Handler
6
 *
7
 * @copyright YetiForce S.A.
8
 * @license   YetiForce Public License 5.0 (licenses/LicenseEN.txt or yetiforce.com)
9
 * @author    Adrian Kon <[email protected]>
10
 */
11
12
/**
13
 * Change stare or delete handler class.
14
 */
15
class Services_ChangeStateOrDelete_Handler
16
{
17
	/**
18
	 * Register pre delete.
19
	 *
20
	 * @param App\EventHandler $eventHandler
21
	 *
22
	 * @return array
23
	 */
24
	public function preDelete(App\EventHandler $eventHandler)
25
	{
26
		$recordModel = $eventHandler->getRecordModel();
27
		$result = ['result' => true];
28
		if (\App\Record::isRelated($recordModel, false, true)) {
29
			$result = [
30
				'result' => false,
31
				'type' => 'confirm',
32
				'message' => App\Language::translate('LBL_CONFIRM_DELETE_WHEN_HAS_RELATION', $recordModel->getModuleName()),
33
				'hash' => hash('sha256', implode('|', $recordModel->getData()))
34
			];
35
		}
36
		return $result;
37
	}
38
39
	/**
40
	 * Register pre state change.
41
	 *
42
	 * @param App\EventHandler $eventHandler
43
	 *
44
	 * @return array
45
	 */
46
	public function preStateChange(App\EventHandler $eventHandler)
47
	{
48
		$recordModel = $eventHandler->getRecordModel();
49
		$result = ['result' => true];
50
		if (App\Record::STATE_ACTIVE === App\Record::getState($recordModel->getId()) && \App\Record::isRelated($recordModel, false, true)) {
51
			$result = [
52
				'result' => false,
53
				'type' => 'confirm',
54
				'message' => App\Language::translate('LBL_CONFIRM_DELETE_WHEN_HAS_RELATION', $recordModel->getModuleName()),
55
				'hash' => hash('sha256', implode('|', $recordModel->getData()))
56
			];
57
		}
58
		return $result;
59
	}
60
}
61