|
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'), |