View | Details | Raw Unified | Return to bug 10938
Collapse All | Expand All

(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-MARCdetail.tt (-6 / +6 lines)
Lines 136-150 Link Here
136
                                <table id="items" class="table table-bordered table-condensed table-striped">
136
                                <table id="items" class="table table-bordered table-condensed table-striped">
137
                                    <caption>Holdings</caption>
137
                                    <caption>Holdings</caption>
138
                                        <tr>
138
                                        <tr>
139
                                            [% FOREACH item_header_loo IN item_header_loop %]
139
                                            [% FOREACH header IN item_header_loop %]
140
                                                <th>
140
                                                <th>[% header %]</th>
141
                                                    [% item_header_loo.header_value %]
142
                                                </th>
143
                                            [% END %]
141
                                            [% END %]
144
                                        </tr>
142
                                        </tr>
145
                                        [% FOREACH item_loo IN item_loop %]
143
                                        [% FOREACH item IN item_loop %]
146
                                            <tr>
144
                                            <tr>
147
                                                [% item_loo.item_value %]
145
                                                [% FOREACH sf_code IN item_subfield_codes %]
146
                                                    <td>[% item.$sf_code %]</td>
147
                                                [% END %]
148
                                            </tr>
148
                                            </tr>
149
                                        [% END %]
149
                                        [% END %]
150
                                </table>
150
                                </table>
(-)a/opac/opac-MARCdetail.pl (-41 / +24 lines)
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} = "&nbsp;"
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} ||= "&nbsp;"
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
- 

Return to bug 10938