Passed
Push — developer ( 452080...af1fea )
by Mariusz
255:53 queued 220:57
created

RelatedList::getFromApi()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
/**
3
 * Related list view model file.
4
 *
5
 * @package   Model
6
 *
7
 * @copyright YetiForce Sp. z o.o
8
 * @license   YetiForce Public License 3.0 (licenses/LicenseEN.txt or yetiforce.com)
9
 * @author    Mariusz Krzaczkowski <[email protected]>
10
 */
11
12
namespace YF\Modules\Base\Model;
13
14
use App\Purifier;
15
16
/**
17
 * Related list view model class.
18
 */
19
class RelatedList extends AbstractListView
20
{
21
	/** @var \YF\Modules\Base\Model\DetailView Record view model. */
22
	protected $detailViewModel;
23
24
	/** @var \App\Request Request object. */
25
	protected $request;
26
27
	/** {@inheritdoc} */
28
	protected $actionName = 'RecordRelatedList';
29
30
	/** {@inheritdoc} */
31
	protected function getFromApi(array $headers): array
32
	{
33
		$api = \App\Api::getInstance();
34
		$api->setCustomHeaders($headers);
35
		return $api->call("{$this->getModuleName()}/RecordRelatedList/{$this->detailViewModel->getRecordModel()->getId()}/" . $this->request->getByType('relatedModuleName', Purifier::ALNUM), [
36
			'relationId' => $this->request->getInteger('relationId'),
37
		]);
38
	}
39
40
	/** {@inheritdoc} */
41
	public function getDefaultCustomView(): ?int
42
	{
43
		return null;
44
	}
45
46
	/**
47
	 * Set detail view model.
48
	 *
49
	 * @param \YF\Modules\Base\Model\DetailView $view
50
	 *
51
	 * @return void
52
	 */
53
	public function setViewModel(DetailView $view): void
54
	{
55
		$this->detailViewModel = $view;
56
	}
57
58
	/**
59
	 * Set request.
60
	 *
61
	 * @param \App\Request $request
62
	 *
63
	 * @return void
64
	 */
65
	public function setRequest(\App\Request $request): void
66
	{
67
		$this->request = $request;
68
	}
69
}
70