add uuid support to device page sidebar

This commit is contained in:
Oliver Gorwits
2014-01-22 23:06:19 +00:00
parent f711047a33
commit 12e1446c99
5 changed files with 36 additions and 23 deletions

View File

@@ -145,6 +145,7 @@ hook 'before_template' => sub {
# for templates to link to same page with modified query but same options
my $self_uri = uri_for(request->path, scalar params);
$self_uri->query_param_delete('uuid');
$self_uri->query_param_delete('q');
$self_uri->query_param_delete('f');
$self_uri->query_param_delete('prefer');
@@ -152,13 +153,11 @@ hook 'before_template' => sub {
};
get '/device' => require_login sub {
my $q = param('q');
my $dev = schema('netdisco')->resultset('Device')->single({
-or => [
\[ 'host(me.ip) = ?' => [ bind_value => $q ] ],
'me.dns' => $q,
],
});
my $uuid = param('uuid');
my $dev = schema('netdisco')->resultset('Device')->single(
\[ 'host(me.ip) = ?' => [ bind_value => $uuid ] ],
);
if (!defined $dev) {
return redirect uri_for('/', {nosuchdevice => 1})->path_query;

View File

@@ -78,10 +78,13 @@ get '/search' => require_login sub {
if ($nd and $nd->count) {
if ($nd->count == 1) {
my $row = $nd->first;
# redirect to device details for the one device
return redirect uri_for('/device', {
tab => 'details',
q => ($nd->first->dns || $nd->first->ip),
uuid => $row->ip,
q => ($row->dns || $row->ip),
f => '',
})->path_query;
}