|
Lines 56-62
use C4::Reserves;
Link Here
|
| 56 |
use C4::Members; |
56 |
use C4::Members; |
| 57 |
use C4::Acquisition; |
57 |
use C4::Acquisition; |
| 58 |
use C4::Koha; |
58 |
use C4::Koha; |
| 59 |
use List::MoreUtils qw/any/; |
59 |
use List::MoreUtils qw( any uniq ); |
| 60 |
|
60 |
|
| 61 |
my $query = new CGI; |
61 |
my $query = new CGI; |
| 62 |
|
62 |
|
|
Lines 253-319
for ( my $tabloop = 0 ; $tabloop <= 9 ; $tabloop++ ) {
Link Here
|
| 253 |
my @fields = $record->fields(); |
253 |
my @fields = $record->fields(); |
| 254 |
my %witness |
254 |
my %witness |
| 255 |
; #---- stores the list of subfields used at least once, with the "meaning" of the code |
255 |
; #---- stores the list of subfields used at least once, with the "meaning" of the code |
| 256 |
my @big_array; |
256 |
my @item_subfield_codes; |
|
|
257 |
my @item_loop; |
| 257 |
foreach my $field (@fields) { |
258 |
foreach my $field (@fields) { |
| 258 |
next if ( $field->tag() < 10 ); |
259 |
next if ( $field->tag() < 10 ); |
| 259 |
next if ( ( $field->tag() eq $tag_itemnumber ) && |
260 |
next if ( ( $field->tag() eq $tag_itemnumber ) && |
| 260 |
( any { $field->subfield($subtag_itemnumber) eq $_ } |
261 |
( any { $field->subfield($subtag_itemnumber) eq $_ } |
| 261 |
@items2hide) ); |
262 |
@items2hide) ); |
| 262 |
my @subf = $field->subfields; |
263 |
my @subf = $field->subfields; |
| 263 |
my %this_row; |
264 |
my $item; |
| 264 |
|
265 |
|
| 265 |
# loop through each subfield |
266 |
# loop through each subfield |
| 266 |
for my $i ( 0 .. $#subf ) { |
267 |
for my $i ( 0 .. $#subf ) { |
| 267 |
my $sf_def = $tagslib->{ $field->tag() }->{ $subf[$i][0] }; |
268 |
my $sf_def = $tagslib->{ $field->tag() }->{ $subf[$i][0] }; |
| 268 |
next if ( ($sf_def->{tab}||0) != 10 ); |
269 |
next if ( ($sf_def->{tab}||0) != 10 ); |
| 269 |
next if ( ($sf_def->{hidden}||0) > 0 ); |
270 |
next if ( ($sf_def->{hidden}||0) > 0 ); |
|
|
271 |
push @item_subfield_codes, $subf[$i][0]; |
| 270 |
$witness{ $subf[$i][0] } = $sf_def->{lib}; |
272 |
$witness{ $subf[$i][0] } = $sf_def->{lib}; |
| 271 |
|
273 |
|
| 272 |
if ( $sf_def->{isurl} ) { |
274 |
if ( $sf_def->{isurl} ) { |
| 273 |
$this_row{ $subf[$i][0] } = "<a href=\"$subf[$i][1]\">$subf[$i][1]</a>"; |
275 |
$item->{ $subf[$i][0] } = "<a href=\"$subf[$i][1]\">$subf[$i][1]</a>"; |
| 274 |
} |
276 |
} |
| 275 |
elsif ( $sf_def->{kohafield} eq "biblioitems.isbn" ) { |
277 |
elsif ( $sf_def->{kohafield} eq "biblioitems.isbn" ) { |
| 276 |
$this_row{ $subf[$i][0] } = $subf[$i][1]; |
278 |
$item->{ $subf[$i][0] } = $subf[$i][1]; |
| 277 |
} |
279 |
} |
| 278 |
else { |
280 |
else { |
| 279 |
$this_row{ $subf[$i][0] } = GetAuthorisedValueDesc( $field->tag(), $subf[$i][0], |
281 |
$item->{ $subf[$i][0] } = GetAuthorisedValueDesc( $field->tag(), $subf[$i][0], |
| 280 |
$subf[$i][1], '', $tagslib, '', 'opac' ); |
282 |
$subf[$i][1], '', $tagslib, '', 'opac' ); |
| 281 |
} |
283 |
} |
| 282 |
} |
284 |
} |
| 283 |
if (%this_row) { |
285 |
push @item_loop, $item if $item; |
| 284 |
push( @big_array, \%this_row ); |
|
|
| 285 |
} |
| 286 |
} |
286 |
} |
| 287 |
my ( $holdingbrtagf, $holdingbrtagsubf ) = |
287 |
my ( $holdingbrtagf, $holdingbrtagsubf ) = |
| 288 |
&GetMarcFromKohaField( "items.holdingbranch", $itemtype ); |
288 |
&GetMarcFromKohaField( "items.holdingbranch", $itemtype ); |
| 289 |
@big_array = |
289 |
@item_loop = |
| 290 |
sort { ($a->{$holdingbrtagsubf}||'') cmp ($b->{$holdingbrtagsubf}||'') } @big_array; |
290 |
sort { ($a->{$holdingbrtagsubf}||'') cmp ($b->{$holdingbrtagsubf}||'') } @item_loop; |
| 291 |
|
291 |
|
| 292 |
#fill big_row with missing datas |
292 |
@item_subfield_codes = uniq @item_subfield_codes; |
| 293 |
foreach my $subfield_code ( keys(%witness) ) { |
293 |
# fill item info |
| 294 |
for ( my $i = 0 ; $i <= $#big_array ; $i++ ) { |
294 |
my @item_header_loop; |
| 295 |
$big_array[$i]{$subfield_code} = " " |
295 |
for my $subfield_code ( @item_subfield_codes ) { |
| 296 |
unless ( $big_array[$i]{$subfield_code} ); |
296 |
push @item_header_loop, $witness{$subfield_code}; |
| 297 |
} |
297 |
for my $item_data ( @item_loop ) { |
| 298 |
} |
298 |
$item_data->{$subfield_code} ||= " " |
| 299 |
|
299 |
} |
| 300 |
# now, construct template ! |
|
|
| 301 |
my @item_value_loop; |
| 302 |
my @header_value_loop; |
| 303 |
for ( my $i = 0 ; $i <= $#big_array ; $i++ ) { |
| 304 |
my $items_data; |
| 305 |
foreach my $subfield_code ( keys(%witness) ) { |
| 306 |
$items_data .= "<td>" . $big_array[$i]{$subfield_code} . "</td>"; |
| 307 |
} |
| 308 |
my %row_data; |
| 309 |
$row_data{item_value} = $items_data; |
| 310 |
push( @item_value_loop, \%row_data ); |
| 311 |
} |
| 312 |
|
| 313 |
foreach my $subfield_code ( keys(%witness) ) { |
| 314 |
my %header_value; |
| 315 |
$header_value{header_value} = $witness{$subfield_code}; |
| 316 |
push( @header_value_loop, \%header_value ); |
| 317 |
} |
300 |
} |
| 318 |
|
301 |
|
| 319 |
if(C4::Context->preference("ISBD")) { |
302 |
if(C4::Context->preference("ISBD")) { |
|
Lines 346-354
if (my $search_for_title = C4::Context->preference('OPACSearchForTitleIn')){
Link Here
|
| 346 |
} |
329 |
} |
| 347 |
|
330 |
|
| 348 |
$template->param( |
331 |
$template->param( |
| 349 |
item_loop => \@item_value_loop, |
332 |
item_loop => \@item_loop, |
| 350 |
item_header_loop => \@header_value_loop, |
333 |
item_header_loop => \@item_header_loop, |
| 351 |
biblionumber => $biblionumber, |
334 |
item_subfield_codes => \@item_subfield_codes, |
|
|
335 |
biblionumber => $biblionumber, |
| 352 |
); |
336 |
); |
| 353 |
|
337 |
|
| 354 |
output_html_with_http_headers $query, $cookie, $template->output; |
338 |
output_html_with_http_headers $query, $cookie, $template->output; |
| 355 |
- |
|
|