fix: [idTranslator] Distinguish between not found and unreachable

pull/6997/head
Jakub Onderka 2021-02-11 13:44:56 +01:00
parent 7563fb4a61
commit ab1808a1ed
2 changed files with 10 additions and 2 deletions

View File

@ -1342,17 +1342,20 @@ class ServersController extends AppController
continue;
}
$exception = null;
try {
$remoteEvent = $this->Event->downloadEventFromServer($local_event['Event']['uuid'], $server, null, true);
} catch (Exception $e) {
$remoteEvent = null;
$exception = $e->getMessage();
}
$remoteEventId = isset($remoteEvent[0]['id']) ? $remoteEvent[0]['id'] : null;
$remote_events[] = array(
"server_id" => $server['Server']['id'],
"server_name" => $server['Server']['name'],
"url" => isset($remoteEventId) ? $server['Server']['url'] . "/events/view/" . $remoteEventId : $server['Server']['url'],
"remote_id" => isset($remoteEventId) ? $remoteEventId : false
"remote_id" => isset($remoteEventId) ? $remoteEventId : false,
"exception" => $exception,
);
}

View File

@ -13,6 +13,7 @@ echo $this->element('/genericElements/Form/genericForm', array(
"type" => "text",
"placeholder" => __("1234"),
"stayInLine" => true,
'class' => 'span4',
),
array(
"field" => "local",
@ -21,6 +22,7 @@ echo $this->element('/genericElements/Form/genericForm', array(
"options" => array("local" => __("local"), "remote" => __("remote")),
"type" => "select",
"stayInLine" => true,
'class' => 'span3',
),
array(
"field" => "Server.id",
@ -28,6 +30,7 @@ echo $this->element('/genericElements/Form/genericForm', array(
"options" => $servers,
"label" => __("ID referenced on server"),
"type" => "select",
'class' => 'span3',
)
),
"submit" => array(
@ -50,8 +53,10 @@ if (isset($remote_events) && isset($local_event)) {
$value .= ' (<a href="' . $baseurl . '/servers/previewEvent/' . $remote_event['server_id'] . '/' . $remote_event['remote_id'] . '">' . __('preview') . '</a>)';
}
$table_data[] = array('key' => h($remote_event['server_name']), 'html' => $value);
} elseif ($remote_event['exception']) {
$table_data[] = array('key' => h($remote_event['server_name']), 'value' => __('Remote server unreachable: %s', $remote_event['exception']));
} else {
$table_data[] = array('key' => h($remote_event['server_name']), 'value' => __('Not found or server unreachable'));
$table_data[] = array('key' => h($remote_event['server_name']), 'value' => __('Not found'));
}
}
echo $this->element('genericElements/viewMetaTable', array('table_data' => $table_data));