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

(-)a/catalogue/MARCdetail.pl (-34 / +20 lines)
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} = "&nbsp;"
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} ||= "&nbsp;"
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'),
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/MARCdetail.tt (-7 / +6 lines)
Lines 167-181 function Changefwk(FwkList) { Link Here
167
    <div id="tab10XX">
167
    <div id="tab10XX">
168
        <table>
168
        <table>
169
                <tr>
169
                <tr>
170
                    [% FOREACH item_header_loo IN item_header_loop %]
170
                    [% FOREACH header IN item_header_loop %]
171
                        <th>
171
                        <th>[% header %]</th>
172
                            [% item_header_loo.header_value %]
173
                        </th>
174
                    [% END %]
172
                    [% END %]
175
                </tr>
173
                </tr>
176
                [% FOREACH item_loo IN item_loop %]
174
                [% FOREACH item IN item_loop %]
177
                    <tr>
175
                    <tr>
178
                        [% item_loo.item_value %]
176
                        [% FOREACH sf_code IN item_subfield_codes %]
177
                            <td>[% item.$sf_code %]</td>
178
                        [% END %]
179
                    </tr>
179
                    </tr>
180
                [% END %]
180
                [% END %]
181
        </table>
181
        </table>
182
- 

Return to bug 10938