chg: [requestProcessor] Recover local tool from request
parent
5e0a4b155e
commit
a03b433f2b
|
@ -16,11 +16,13 @@ class LocalToolRequestProcessor extends GenericRequestProcessor
|
|||
];
|
||||
protected $processingTemplate = 'LocalTool/GenericRequest';
|
||||
protected $Broods;
|
||||
protected $LocalTools;
|
||||
|
||||
public function __construct($loadFromAction=false)
|
||||
{
|
||||
parent::__construct($loadFromAction);
|
||||
$this->Broods = TableRegistry::getTableLocator()->get('Broods');
|
||||
$this->LocalTools = TableRegistry::getTableLocator()->get('LocalTools');
|
||||
}
|
||||
|
||||
public function create($requestData)
|
||||
|
@ -53,6 +55,19 @@ class LocalToolRequestProcessor extends GenericRequestProcessor
|
|||
return $brood;
|
||||
}
|
||||
|
||||
protected function getConnector($request)
|
||||
{
|
||||
try {
|
||||
$connectorClasses = $this->LocalTools->getConnectorByToolName($request->local_tool_name);
|
||||
if (!empty($connectorClasses)) {
|
||||
$connector = $this->LocalTools->extractMeta($connectorClasses)[0];
|
||||
}
|
||||
} catch (Cake\Http\Exception\NotFoundException $e) {
|
||||
$connector = null;
|
||||
}
|
||||
return $connector;
|
||||
}
|
||||
|
||||
protected function addBaseValidatorRules($validator)
|
||||
{
|
||||
return $validator
|
||||
|
@ -91,6 +106,7 @@ class IncomingConnectionRequestProcessor extends LocalToolRequestProcessor imple
|
|||
public function getViewVariables($request)
|
||||
{
|
||||
$request->brood = $this->getIssuerBrood($request);
|
||||
$request->connector = $this->getConnector($request);
|
||||
return [
|
||||
'request' => $request,
|
||||
'progressStep' => 0,
|
||||
|
@ -144,6 +160,7 @@ class AcceptedRequestProcessor extends LocalToolRequestProcessor implements Gene
|
|||
public function getViewVariables($request)
|
||||
{
|
||||
$request->brood = $this->getIssuerBrood($request);
|
||||
$request->connector = $this->getConnector($request);
|
||||
return [
|
||||
'request' => $request,
|
||||
'progressStep' => 1,
|
||||
|
@ -195,6 +212,7 @@ class DeclinedRequestProcessor extends LocalToolRequestProcessor implements Gene
|
|||
public function getViewVariables($request)
|
||||
{
|
||||
$request->brood = $this->getIssuerBrood($request);
|
||||
$request->connector = $this->getConnector($request);
|
||||
return [
|
||||
'request' => $request,
|
||||
'progressStep' => 1,
|
||||
|
|
|
@ -30,13 +30,21 @@ $progress = $this->Bootstrap->progressTimeline([
|
|||
|
||||
$table = $this->Bootstrap->table(['small' => true, 'bordered' => false, 'striped' => false, 'hover' => false], [
|
||||
'fields' => [
|
||||
['key' => 'data.toolName', 'label' => __('Tool Name')],
|
||||
['key' => 'connector', 'label' => __('Tool Name'), 'formatter' => function($connector, $row) {
|
||||
return sprintf('<a href="%s" target="_blank">%s</a>',
|
||||
$this->Url->build(['controller' => 'localTools', 'action' => 'viewConnector', $connector['name']]),
|
||||
sprintf('%s (v%s)', h($connector['name']), h($connector['connector_version']))
|
||||
);
|
||||
}],
|
||||
['key' => 'created', 'label' => __('Date'), 'formatter' => function($value, $row) {
|
||||
return $value->i18nFormat('yyyy-MM-dd HH:mm:ss');
|
||||
}],
|
||||
['key' => 'origin', 'label' => __('Origin')],
|
||||
['key' => 'brood', 'label' => __('Brood'), 'formatter' => function($brood, $row) {
|
||||
return sprintf('<a href="%s" target="_blank">%s</a>', $this->Url->build(['controller' => 'broods', 'action' => 'view', $brood['id']]), h($brood['name']));
|
||||
return sprintf('<a href="%s" target="_blank">%s</a>',
|
||||
$this->Url->build(['controller' => 'broods', 'action' => 'view', $brood['id']]),
|
||||
h($brood['name'])
|
||||
);
|
||||
}]
|
||||
],
|
||||
'items' => [$request->toArray()],
|
||||
|
|
|
@ -73,6 +73,12 @@ class LocalToolsTable extends AppTable
|
|||
throw new NotFoundException(__('Invalid connector module action requested.'));
|
||||
}
|
||||
|
||||
public function getConnectorByToolName($toolName): array
|
||||
{
|
||||
$toolName = sprintf('%sConnector', ucfirst(strtolower($toolName)));
|
||||
return $this->getConnectors($toolName);
|
||||
}
|
||||
|
||||
public function getConnectors(string $name = null): array
|
||||
{
|
||||
$connectors = [];
|
||||
|
|
Loading…
Reference in New Issue