Lines 59-64
use C4::Members; # to use GetMember
Link Here
|
59 |
use C4::Serials; #uses getsubscriptionsfrombiblionumber GetSubscriptionsFromBiblionumber |
59 |
use C4::Serials; #uses getsubscriptionsfrombiblionumber GetSubscriptionsFromBiblionumber |
60 |
use C4::Search; # enabled_staff_search_views |
60 |
use C4::Search; # enabled_staff_search_views |
61 |
|
61 |
|
|
|
62 |
use List::MoreUtils qw( uniq ); |
62 |
|
63 |
|
63 |
my $query = new CGI; |
64 |
my $query = new CGI; |
64 |
my $dbh = C4::Context->dbh; |
65 |
my $dbh = C4::Context->dbh; |
Lines 259-313
for ( my $tabloop = 0 ; $tabloop <= 10 ; $tabloop++ ) {
Link Here
|
259 |
my @fields = $record->fields(); |
260 |
my @fields = $record->fields(); |
260 |
my %witness |
261 |
my %witness |
261 |
; #---- stores the list of subfields used at least once, with the "meaning" of the code |
262 |
; #---- stores the list of subfields used at least once, with the "meaning" of the code |
262 |
my @big_array; |
263 |
my @item_subfield_codes; |
|
|
264 |
my @item_loop; |
263 |
my $norequests = 1; |
265 |
my $norequests = 1; |
264 |
foreach my $field (@fields) { |
266 |
foreach my $field (@fields) { |
265 |
next if ( $field->tag() < 10 ); |
267 |
next if ( $field->tag() < 10 ); |
266 |
my @subf = $field->subfields; |
268 |
my @subf = $field->subfields; |
267 |
my %this_row; |
269 |
my $item; |
268 |
|
270 |
|
269 |
# loop through each subfield |
271 |
# loop through each subfield |
270 |
for my $i ( 0 .. $#subf ) { |
272 |
for my $i ( 0 .. $#subf ) { |
271 |
next if ( $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{tab} ne 10 ); |
273 |
next if ( $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{tab} ne 10 ); |
272 |
next if ( $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{hidden} =~ /-7|-4|-3|-2|2|3|5|8/); |
274 |
next if ( $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{hidden} =~ /-7|-4|-3|-2|2|3|5|8/); |
|
|
275 |
push @item_subfield_codes, $subf[$i][0]; |
273 |
$witness{ $subf[$i][0] } = |
276 |
$witness{ $subf[$i][0] } = |
274 |
$tagslib->{ $field->tag() }->{ $subf[$i][0] }->{lib}; |
277 |
$tagslib->{ $field->tag() }->{ $subf[$i][0] }->{lib}; |
275 |
$this_row{ $subf[$i][0] } = GetAuthorisedValueDesc( $field->tag(), |
278 |
$item->{ $subf[$i][0] } = GetAuthorisedValueDesc( $field->tag(), |
276 |
$subf[$i][0], $subf[$i][1], '', $tagslib) || $subf[$i][1]; |
279 |
$subf[$i][0], $subf[$i][1], '', $tagslib) || $subf[$i][1]; |
277 |
$norequests = 0 if $subf[$i][1] ==0 and $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{kohafield} eq 'items.notforloan'; |
280 |
$norequests = 0 if $subf[$i][1] ==0 and $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{kohafield} eq 'items.notforloan'; |
278 |
} |
281 |
} |
279 |
if (%this_row) { |
282 |
push @item_loop, $item if $item; |
280 |
push( @big_array, \%this_row ); |
|
|
281 |
} |
282 |
} |
283 |
} |
283 |
|
284 |
|
284 |
my ($holdingbrtagf,$holdingbrtagsubf) = &GetMarcFromKohaField("items.holdingbranch",$frameworkcode); |
285 |
my ($holdingbrtagf,$holdingbrtagsubf) = &GetMarcFromKohaField("items.holdingbranch",$frameworkcode); |
285 |
@big_array = sort {$a->{$holdingbrtagsubf} cmp $b->{$holdingbrtagsubf}} @big_array; |
286 |
@item_loop = sort {$a->{$holdingbrtagsubf} cmp $b->{$holdingbrtagsubf}} @item_loop; |
286 |
|
287 |
|
287 |
#fill big_row with missing datas |
288 |
@item_subfield_codes = uniq @item_subfield_codes; |
288 |
foreach my $subfield_code ( keys(%witness) ) { |
289 |
# fill item info |
289 |
for ( my $i = 0 ; $i <= $#big_array ; $i++ ) { |
290 |
my @item_header_loop; |
290 |
$big_array[$i]{$subfield_code} = " " |
291 |
for my $subfield_code ( @item_subfield_codes ) { |
291 |
unless ( $big_array[$i]{$subfield_code} ); |
292 |
push @item_header_loop, $witness{$subfield_code}; |
292 |
} |
293 |
for my $item_data ( @item_loop ) { |
293 |
} |
294 |
$item_data->{$subfield_code} ||= " " |
294 |
|
|
|
295 |
# now, construct template ! |
296 |
my @item_value_loop; |
297 |
my @header_value_loop; |
298 |
for ( my $i = 0 ; $i <= $#big_array ; $i++ ) { |
299 |
my $items_data; |
300 |
foreach my $subfield_code ( keys(%witness) ) { |
301 |
$items_data .= "<td>" . $big_array[$i]{$subfield_code} . "</td>"; |
302 |
} |
295 |
} |
303 |
my %row_data; |
|
|
304 |
$row_data{item_value} = $items_data; |
305 |
push( @item_value_loop, \%row_data ); |
306 |
} |
307 |
foreach my $subfield_code ( keys(%witness) ) { |
308 |
my %header_value; |
309 |
$header_value{header_value} = $witness{$subfield_code}; |
310 |
push( @header_value_loop, \%header_value ); |
311 |
} |
296 |
} |
312 |
|
297 |
|
313 |
my $subscriptionscount = CountSubscriptionFromBiblionumber($biblionumber); |
298 |
my $subscriptionscount = CountSubscriptionFromBiblionumber($biblionumber); |
Lines 322-330
if ($subscriptionscount) {
Link Here
|
322 |
} |
307 |
} |
323 |
|
308 |
|
324 |
$template->param ( |
309 |
$template->param ( |
325 |
norequests => $norequests, |
310 |
norequests => $norequests, |
326 |
item_loop => \@item_value_loop, |
311 |
item_loop => \@item_loop, |
327 |
item_header_loop => \@header_value_loop, |
312 |
item_header_loop => \@item_header_loop, |
|
|
313 |
item_subfield_codes => \@item_subfield_codes, |
328 |
biblionumber => $biblionumber, |
314 |
biblionumber => $biblionumber, |
329 |
popup => $popup, |
315 |
popup => $popup, |
330 |
hide_marc => C4::Context->preference('hide_marc'), |
316 |
hide_marc => C4::Context->preference('hide_marc'), |