|
Lines 105-124
for my $attrcode (grep { /^patron_attr_filter_/ } $input->multi_param) {
Link Here
|
| 105 |
my $have_pattr_filter_data = keys(%cgi_attrcode_to_attrvalues) > 0; |
105 |
my $have_pattr_filter_data = keys(%cgi_attrcode_to_attrvalues) > 0; |
| 106 |
|
106 |
|
| 107 |
my @patron_attr_filter_loop; # array of [ domid cgivalue ismany isclone ordinal code description repeatable authorised_value_category ] |
107 |
my @patron_attr_filter_loop; # array of [ domid cgivalue ismany isclone ordinal code description repeatable authorised_value_category ] |
| 108 |
my @patron_attr_order_loop; # array of { label => $patron_attr_label, value => $patron_attr_order } |
|
|
| 109 |
|
| 110 |
my @sort_roots = qw(borrower title barcode date_due); |
| 111 |
push @sort_roots, map {$_ . " desc"} @sort_roots; |
| 112 |
my @order_loop = ({selected => $order ? 0 : 1}); # initial blank row |
| 113 |
foreach (@sort_roots) { |
| 114 |
my $tmpl_name = $_; |
| 115 |
$tmpl_name =~ s/\s/_/g; |
| 116 |
push @order_loop, { |
| 117 |
selected => $order eq $_ ? 1 : 0, |
| 118 |
ordervalue => $_, |
| 119 |
'order_' . $tmpl_name => 1, |
| 120 |
}; |
| 121 |
} |
| 122 |
|
108 |
|
| 123 |
my $sth = $dbh->prepare('SELECT code,description,repeatable,authorised_value_category |
109 |
my $sth = $dbh->prepare('SELECT code,description,repeatable,authorised_value_category |
| 124 |
FROM borrower_attribute_types |
110 |
FROM borrower_attribute_types |
|
Lines 139-157
while (my $row = $sth->fetchrow_hashref) {
Link Here
|
| 139 |
$row->{isclone} = $isclone; |
125 |
$row->{isclone} = $isclone; |
| 140 |
push @patron_attr_filter_loop, { %$row }; # careful: must store a *deep copy* of the modified row |
126 |
push @patron_attr_filter_loop, { %$row }; # careful: must store a *deep copy* of the modified row |
| 141 |
} continue { $isclone = 1, ++$serial } |
127 |
} continue { $isclone = 1, ++$serial } |
| 142 |
foreach my $sortorder ('asc', 'desc') { |
|
|
| 143 |
my $ordervalue = "patron_attr_${sortorder}_${code}"; |
| 144 |
push @order_loop, { |
| 145 |
selected => $order eq $ordervalue ? 1 : 0, |
| 146 |
ordervalue => $ordervalue, |
| 147 |
label => $row->{description}, |
| 148 |
$sortorder => 1, |
| 149 |
}; |
| 150 |
} |
| 151 |
} continue { ++$ordinal } |
128 |
} continue { ++$ordinal } |
| 152 |
for (@patron_attr_order_loop) { $_->{selected} = 1 if $order eq $_->{value} } |
|
|
| 153 |
|
| 154 |
$template->param(ORDER_LOOP => \@order_loop); |
| 155 |
|
129 |
|
| 156 |
my %borrowernumber_to_attributes; # hash of { borrowernumber => { attrcode => [ [val,display], [val,display], ... ] } } |
130 |
my %borrowernumber_to_attributes; # hash of { borrowernumber => { attrcode => [ [val,display], [val,display], ... ] } } |
| 157 |
# i.e. val differs from display when attr is an authorised value |
131 |
# i.e. val differs from display when attr is an authorised value |