diff --git a/Netdisco/Changes b/Netdisco/Changes index c49c5c1e..261b9802 100644 --- a/Netdisco/Changes +++ b/Netdisco/Changes @@ -9,6 +9,7 @@ * [#162] Change from Net::MAC to NetAddr::MAC * [#159] Macsuck archive behaviour same as ND1 (unseen nodes remain active) * [#170] Show device SNMP::Info class in web interface + * [#133] Custom reports respect sorting in SQL * Add "Run Expire Job" to the Admin Menu [BUG FIXES] diff --git a/Netdisco/lib/App/Netdisco/Web/GenericReport.pm b/Netdisco/lib/App/Netdisco/Web/GenericReport.pm index 4d23d25d..61abcc37 100644 --- a/Netdisco/lib/App/Netdisco/Web/GenericReport.pm +++ b/Netdisco/lib/App/Netdisco/Web/GenericReport.pm @@ -55,6 +55,7 @@ foreach my $report (@{setting('reports')}) { if (request->is_ajax) { template 'ajax/report/generic_report.tt', { results => \@results, + is_custom_report => true, headings => [map {values %{$_}} @{$report->{columns}}], columns => [map {keys %{$_}} @{$report->{columns}}] }, { layout => undef }; diff --git a/Netdisco/share/views/ajax/datatabledefaults.tt b/Netdisco/share/views/ajax/datatabledefaults.tt index 55b3ed82..fe138147 100644 --- a/Netdisco/share/views/ajax/datatabledefaults.tt +++ b/Netdisco/share/views/ajax/datatabledefaults.tt @@ -8,4 +8,14 @@ "search": '_INPUT_', "searchPlaceholder": 'Filter records...', "lengthMenu": "Show _MENU_ records." + }, + "stateSaveParams": function (settings, data) { + // make sure filter is never saved + data.search.search = ""; + // make sure paging position is not saved + data.start = 0; + [% IF is_custom_report %] + // disable sorting for custom reports + data.order = ""; + [% END %] } diff --git a/Netdisco/share/views/ajax/report/generic_report.tt b/Netdisco/share/views/ajax/report/generic_report.tt index d2a27386..4b690ef2 100644 --- a/Netdisco/share/views/ajax/report/generic_report.tt +++ b/Netdisco/share/views/ajax/report/generic_report.tt @@ -20,6 +20,7 @@