sort the os_ver in the web interface (#663)
This commit is contained in:
		| @@ -16,10 +16,19 @@ get '/inventory' => require_login sub { | ||||
|     my $platforms = schema('netdisco')->resultset('Device')->get_platforms(); | ||||
|     my $releases = schema('netdisco')->resultset('Device')->get_releases(); | ||||
|  | ||||
|     my %release_map = ( | ||||
|       map  { (join '', map {sprintf '%05s', $_} split m/(\D)/, ($_->{os_ver} || '')) => $_ } | ||||
|       $releases->hri->all | ||||
|     ); | ||||
|     my @release_list = | ||||
|       map  { $release_map{$_} } | ||||
|       sort {(($release_map{$a}->{os} || '') cmp ($release_map{$b}->{os} || '')) || ($a cmp $b)} | ||||
|            keys %release_map; | ||||
|  | ||||
|     var(nav => 'inventory'); | ||||
|     template 'inventory', { | ||||
|       platforms => [$platforms->hri->all], | ||||
|       releases => [$releases->hri->all], | ||||
|       platforms => [ $platforms->hri->all ], | ||||
|       releases  => [ @release_list ], | ||||
|     }; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -78,10 +78,16 @@ get '/search' => require_login sub { | ||||
|     } | ||||
|  | ||||
|     # used in the device search sidebar to populate select inputs | ||||
|     my $model_list  = [ $s->resultset('Device')->get_distinct_col('model')  ]; | ||||
|     my $os_list     = [ $s->resultset('Device')->get_distinct_col('os') ]; | ||||
|     my $os_ver_list = [ $s->resultset('Device')->get_distinct_col('os_ver') ]; | ||||
|     my $vendor_list = [ $s->resultset('Device')->get_distinct_col('vendor') ]; | ||||
|     my $model_list  = [ grep { defined } $s->resultset('Device')->get_distinct_col('model') ]; | ||||
|     my $os_list     = [ grep { defined } $s->resultset('Device')->get_distinct_col('os') ]; | ||||
|     my $vendor_list = [ grep { defined } $s->resultset('Device')->get_distinct_col('vendor') ]; | ||||
|  | ||||
|     my %os_vermap = ( | ||||
|       map  { $_ => (join '', map {sprintf '%05s', $_} split m/(\D)/) } | ||||
|       grep { defined } | ||||
|       $s->resultset('Device')->get_distinct_col('os_ver') | ||||
|     ); | ||||
|     my $os_ver_list = [ sort {$os_vermap{$a} cmp $os_vermap{$b}} keys %os_vermap ]; | ||||
|  | ||||
|     template 'search', { | ||||
|       search => params->{'tab'}, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user