GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — dev ( b67b4d...eed2d4 )
by Андрей
04:42
created

WorkflowTools::getWorkflowService()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
/**
3
 * @link  https://github.com/old-town/workflow-zf2-toolkit
4
 * @author  Malofeykin Andrey  <[email protected]>
5
 */
6
namespace OldTown\Workflow\ZF2\Toolkit\Service;
7
8
use OldTown\Workflow\ZF2\Toolkit\EntryToObjects\EntryToObjectsService;
9
use OldTown\Workflow\ZF2\ServiceEngine\Workflow as WorkflowService;
10
11
/**
12
 * Class WorkflowTools
13
 *
14
 * @package OldTown\Workflow\ZF2\Toolkit\Validator
15
 */
16
class WorkflowTools
17
{
18
    /**
19
     * Сервис позволяющий получать процесс workflow, на основе данных привязанной к нему сущности
20
     *
21
     * @var EntryToObjectsService
22
     */
23
    protected $entryToObjectsService;
24
25
    /**
26
     * Сервис для работы с wf
27
     *
28
     * @var WorkflowService
29
     */
30
    protected $workflowService;
31
32
    /**
33
     * DoctrineWorkflowStoryService constructor.
34
     *
35
     * @param array $options
36
     */
37
    public function __construct(array $options = [])
38
    {
39
        $initOptions = [
40
            array_key_exists('entryToObjectsService', $options) ? $options['entryToObjectsService'] : null,
41
            array_key_exists('workflowService', $options) ? $options['workflowService'] : null,
42
        ];
43
        call_user_func_array([$this, 'init'], $initOptions);
44
    }
45
46
    /**
47
     * Получене информации о доступных действиях на основе данных о объектах привязанных к процессу
48
     *
49
     * Структура objectsInfo
50
     * $objectsInfo = [
51
     *      $entityClassName => [
52
     *          $propertyName => $idValue
53
     *      ]
54
     * ]
55
     *
56
     * Где:
57
     * $entityClassName - имя класса сущности которая привязана к процессу workflow
58
     * $propertyName    - имя свойства сущности являющееся первичным ключем (или часть составного первичного ключа)
59
     * $idValue         - значение $propertyName
60
     *
61
     *
62
     * @param string $managerName
63
     * @param string $workflowName
64
     * @param array  $objectsInfo
65
     *
66
     * @return array|\OldTown\Workflow\Loader\ActionDescriptor[]
67
     *
68
     * @throws \OldTown\Workflow\ZF2\Toolkit\EntryToObjects\Exception\InvalidGetEntryByObjectsInfoException
69
     * @throws \Zend\Serializer\Exception\ExceptionInterface
70
     * @throws \OldTown\Workflow\ZF2\ServiceEngine\Exception\InvalidManagerNameException
71
     * @throws \Zend\ServiceManager\Exception\ServiceNotFoundException
72
     * @throws \OldTown\Workflow\ZF2\ServiceEngine\Exception\InvalidWorkflowManagerException
73
     * @throws \OldTown\Workflow\Exception\ArgumentNotNumericException
74
     */
75
    public function getAvailableActions($managerName, $workflowName, array $objectsInfo = [])
76
    {
77
        $entry = $this->getEntryToObjectsService()->getEntryByObjectsInfo($managerName, $workflowName, $objectsInfo);
78
79
        $entryId = $entry->getId();
80
81
        return $this->getWorkflowService()->getAvailableActions($managerName, $entryId);
0 ignored issues
show
Bug introduced by
The method getAvailableActions() does not seem to exist on object<OldTown\Workflow\...ServiceEngine\Workflow>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
82
    }
83
84
    /**
85
     * Получене информации о именах доступных действиях на основе данных о объектах привязанных к процессу
86
     *
87
     * Структура objectsInfo
88
     * $objectsInfo = [
89
     *      $entityClassName => [
90
     *          $propertyName => $idValue
91
     *      ]
92
     * ]
93
     *
94
     * Где:
95
     * $entityClassName - имя класса сущности которая привязана к процессу workflow
96
     * $propertyName    - имя свойства сущности являющееся первичным ключем (или часть составного первичного ключа)
97
     * $idValue         - значение $propertyName
98
     *
99
     *
100
     * @param string $managerName
101
     * @param string $workflowName
102
     * @param array  $objectsInfo
103
     *
104
     * @return array
105
     *
106
     * @throws \OldTown\Workflow\ZF2\Toolkit\EntryToObjects\Exception\InvalidGetEntryByObjectsInfoException
107
     * @throws \Zend\Serializer\Exception\ExceptionInterface
108
     * @throws \OldTown\Workflow\ZF2\ServiceEngine\Exception\InvalidManagerNameException
109
     * @throws \Zend\ServiceManager\Exception\ServiceNotFoundException
110
     * @throws \OldTown\Workflow\ZF2\ServiceEngine\Exception\InvalidWorkflowManagerException
111
     * @throws \OldTown\Workflow\Exception\ArgumentNotNumericException
112
     */
113
    public function getAvailableActionNames($managerName, $workflowName, array $objectsInfo = [])
114
    {
115
        $actions = $this->getAvailableActions($managerName, $workflowName, $objectsInfo);
116
117
        $names = [];
118
119
        foreach ($actions as $action) {
120
            $name = $action->getName();
121
            $names[$name] = $name;
122
        }
123
124
        return $names;
125
    }
126
127
    /**
128
     * Инициализация
129
     *
130
     * @param EntryToObjectsService $entryToObjectsService
131
     * @param WorkflowService       $workflowService
132
     */
133
    protected function init(EntryToObjectsService $entryToObjectsService, WorkflowService $workflowService)
134
    {
135
        $this->setEntryToObjectsService($entryToObjectsService);
136
        $this->setWorkflowService($workflowService);
137
    }
138
139
    /**
140
     * Сервис позволяющий получать процесс workflow, на основе данных привязанной к нему сущности
141
     *
142
     * @return EntryToObjectsService
143
     */
144
    public function getEntryToObjectsService()
145
    {
146
        return $this->entryToObjectsService;
147
    }
148
149
    /**
150
     * Устанавливает сервис позволяющий получать процесс workflow, на основе данных привязанной к нему сущности
151
     *
152
     * @param EntryToObjectsService $entryToObjectsService
153
     *
154
     * @return $this
155
     */
156
    public function setEntryToObjectsService(EntryToObjectsService $entryToObjectsService)
157
    {
158
        $this->entryToObjectsService = $entryToObjectsService;
159
160
        return $this;
161
    }
162
163
    /**
164
     * Сервис для работы с wf
165
     *
166
     * @return WorkflowService
167
     */
168
    public function getWorkflowService()
169
    {
170
        return $this->workflowService;
171
    }
172
173
    /**
174
     * Устанавливает сервис для работы с wf
175
     *
176
     * @param WorkflowService $workflowService
177
     *
178
     * @return $this
179
     */
180
    public function setWorkflowService(WorkflowService $workflowService)
181
    {
182
        $this->workflowService = $workflowService;
183
184
        return $this;
185
    }
186
}
187