- my ($attrorder) = $order =~ /patron_attr_(.*)$/;
- my $patrorder = '';
- my $sortorder = 'asc';
- if (defined $attrorder) {
- ($sortorder, $patrorder) = split /_/, $attrorder, 2;
- }
- print STDERR ">>> order is $order, patrorder is $patrorder, sortorder is $sortorder\n" if $debug;
-
- if (my @attrtype = grep { $_->{'code'} eq $patrorder } @patron_attr_filter_loop) { # sort by patron attrs perhaps?
- my $ordinal = $attrtype[0]{ordinal};
- print STDERR ">>> sort ordinal is $ordinal\n" if $debug;
-
- sub patronattr_sorter_asc {
- lc $a->{patron_attr_value_loop}[$ordinal]{value}
- cmp
- lc $b->{patron_attr_value_loop}[$ordinal]{value} }
-
- sub patronattr_sorter_des { -patronattr_sorter_asc() }
-
- my $sorter = $sortorder eq 'desc' ? \&patronattr_sorter_des : \&patronattr_sorter_asc;
- @overduedata = sort $sorter @overduedata;
- }
-