fix bugs so that sidebar options work again

This commit is contained in:
Oliver Gorwits
2017-12-12 23:33:52 +00:00
parent 45a0a75d96
commit 000cbaa195
7 changed files with 50 additions and 46 deletions

View File

@@ -16,6 +16,9 @@ set('connected_properties' => [
]);
hook 'before_template' => sub {
my $defaults = var('sidebar_defaults')->{'device_ports'}
or return;
# override ports form defaults with cookie settings
# always do this so that embedded links to device ports page have user prefs
if (param('reset')) {
@@ -23,9 +26,8 @@ hook 'before_template' => sub {
}
elsif (my $cookie = cookie('nd_ports-form')) {
my $cdata = url_params_mixed($cookie);
my $defaults = var('sidebar_defaults')->{'device_ports'};
if ($cdata and (ref {} eq ref $cdata) and $defaults) {
if ($cdata and (ref {} eq ref $cdata)) {
foreach my $key (keys %{ $defaults }) {
$defaults->{$key} = $cdata->{$key};
}
@@ -37,8 +39,8 @@ hook 'before_template' => sub {
# update cookie from params we just recieved in form submit
my $uri = URI->new();
foreach my $key (keys %{ var('sidebar_defaults')->{'device_ports'} }) {
$uri->query_param($key => param($key)) if exists params->{$key};
foreach my $key (keys %{ $defaults }) {
$uri->query_param($key => param($key));
}
cookie('nd_ports-form' => $uri->query(), expires => '365 days');
};