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

(-)a/C4/Serials.pm (-1 / +11 lines)
Lines 28-33 use C4::Log; # logaction Link Here
28
use C4::Debug;
28
use C4::Debug;
29
use C4::Serials::Frequency;
29
use C4::Serials::Frequency;
30
use C4::Serials::Numberpattern;
30
use C4::Serials::Numberpattern;
31
use Koha::AdditionalField;
31
32
32
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
33
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
33
34
Lines 364-370 sub GetSubscription { Link Here
364
    $debug and warn "query : $query\nsubsid :$subscriptionid";
365
    $debug and warn "query : $query\nsubsid :$subscriptionid";
365
    my $sth = $dbh->prepare($query);
366
    my $sth = $dbh->prepare($query);
366
    $sth->execute($subscriptionid);
367
    $sth->execute($subscriptionid);
367
    return $sth->fetchrow_hashref;
368
    my $subscription = $sth->fetchrow_hashref;
369
370
    # Add additional fields to the subscription into a new key "additional_fields"
371
    my $additional_field_values = Koha::AdditionalField->fetch_all_values({
372
            tablename => 'subscription',
373
            record_id => $subscriptionid,
374
    });
375
    my %sub = ( %$subscription, additional_fields => $additional_field_values->{$subscriptionid} );
376
377
    return \%sub
368
}
378
}
369
379
370
=head2 GetFullSubscription
380
=head2 GetFullSubscription
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt (+34 lines)
Lines 833-838 $(document).ready(function() { Link Here
833
                                    </div>
833
                                    </div>
834
                                </ol>
834
                                </ol>
835
                            </fieldset>
835
                            </fieldset>
836
837
                            [% IF additional_fields_for_subscription %]
838
                              <div id="subscription_additional_fields">
839
                                <fieldset class="rows">
840
                                  <legend>Additional fields</legend>
841
                                  <ol>
842
                                    [% FOR field IN additional_fields_for_subscription %]
843
                                      <li>
844
                                        <label for="additional_fields_[% field.name %]"> [% field.name %]: </label>
845
                                        [% IF field.authorised_value_choices %]
846
                                          <select name="additional_fields_[% field.name %]">
847
                                            [% FOREACH av IN field.authorised_value_choices %]
848
                                              [% IF av.authorised_value == additional_fields.${field.name} %]
849
                                                <option value="[% av.authorised_value %]" selected="selected">[% av.lib %]</option>
850
                                              [% ELSE %]
851
                                                <option value="[% av.authorised_value %]">[% av.lib %]</option>
852
                                              [% END %]
853
                                            [% END %]
854
                                          </select> (Authorised values for [% field.authorised_value_category %])
855
                                        [% ELSE %]
856
                                          [% IF field.marcfield %]
857
                                            <input type="text" value="[% additional_fields.${field.name} %]" name="additional_fields_[% field.name %]" readonly="readonly" />
858
                                            This value will be filled with the [% field.marcfield %] subfield of the selected biblio.
859
                                          [% ELSE %]
860
                                            <input type="text" value="[% additional_fields.${field.name} %]" name="additional_fields_[% field.name %]" />
861
                                          [% END %]
862
                                        [% END %]
863
                                      </li>
864
                                    [% END %]
865
                                  </ol>
866
                                </fieldset>
867
                              </div>
868
                            [% END %]
869
836
                            <fieldset class="action">
870
                            <fieldset class="action">
837
                                <input type="button" value="<< Previous" onclick="show_page_1();" style="float:left;"/>
871
                                <input type="button" value="<< Previous" onclick="show_page_1();" style="float:left;"/>
838
                                <input id="testpatternbutton" type="button" value="Test prediction pattern" onclick="testPredictionPattern();" />
872
                                <input id="testpatternbutton" type="button" value="Test prediction pattern" onclick="testPredictionPattern();" />
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt (-1 / +24 lines)
Lines 1-4 Link Here
1
[% USE KohaBranchName %]
1
[% USE KohaBranchName %]
2
[% USE KohaAuthorisedValues %]
2
[% INCLUDE 'doc-head-open.inc' %]
3
[% INCLUDE 'doc-head-open.inc' %]
3
<title>Koha &rsaquo; Serials &rsaquo; Details for subscription #[% subscriptionid %]</title>
4
<title>Koha &rsaquo; Serials &rsaquo; Details for subscription #[% subscriptionid %]</title>
4
[% INCLUDE 'doc-head-close.inc' %]
5
[% INCLUDE 'doc-head-close.inc' %]
Lines 122-128 $(document).ready(function() { Link Here
122
     </ol>
123
     </ol>
123
     </div>
124
     </div>
124
     </div>
125
     </div>
125
</div>
126
     </div>
127
128
     [% IF additional_fields_for_subscription %]
129
    <div class="yui-g">
130
      <div class="yui-u first">
131
        <div class="rows">
132
          <legend>Additional fields:</legend>
133
          <ol>
134
            [% FOR field IN additional_fields_for_subscription %]
135
              <li>
136
                <span class="label">[% field.name %]:</span>
137
                [% IF field.authorised_value_category %]
138
                  [% KohaAuthorisedValues.GetByCode( field.authorised_value_category, additional_fields.${field.name} ) %]
139
                [% ELSE %]
140
                  [% additional_fields.${field.name} %]
141
                [% END %]
142
              </li>
143
            [% END %]
144
          </ol>
145
        </div>
146
      </div>
147
      </div>
148
     [% END %]
126
</div>
149
</div>
127
150
128
    <div id="subscription_planning">
151
    <div id="subscription_planning">
(-)a/serials/subscription-add.pl (+41 lines)
Lines 32-37 use C4::Serials; Link Here
32
use C4::Serials::Frequency;
32
use C4::Serials::Frequency;
33
use C4::Serials::Numberpattern;
33
use C4::Serials::Numberpattern;
34
use C4::Letters;
34
use C4::Letters;
35
use Koha::AdditionalField;
35
use Carp;
36
use Carp;
36
37
37
#use Smart::Comments;
38
#use Smart::Comments;
Lines 145-150 my $locations_loop = GetAuthorisedValues("LOC",$subs->{'location'}); Link Here
145
$template->param(branchloop => $branchloop,
146
$template->param(branchloop => $branchloop,
146
    locations_loop=>$locations_loop,
147
    locations_loop=>$locations_loop,
147
);
148
);
149
150
151
my $additional_fields = Koha::AdditionalField->all( { table => 'subscription' } );
152
for my $field ( @$additional_fields ) {
153
    if ( $field->{authorised_value_category} ) {
154
        $field->{authorised_value_choices} = GetAuthorisedValues( $field->{authorised_value_category} );
155
    }
156
}
157
$template->param( additional_fields_for_subscription => $additional_fields );
158
148
# prepare template variables common to all $op conditions:
159
# prepare template variables common to all $op conditions:
149
if ($op!~/^mod/) {
160
if ($op!~/^mod/) {
150
    letter_loop(q{}, $template);
161
    letter_loop(q{}, $template);
Lines 331-336 sub redirect_add_subscription { Link Here
331
        $skip_serialseq
342
        $skip_serialseq
332
    );
343
    );
333
344
345
    my $additional_fields = Koha::AdditionalField->all( { table => 'subscription' } );
346
    my @additional_field_values;
347
    for my $field ( @$additional_fields ) {
348
        my $af = Koha::AdditionalField->new({ id => $field->{id} });
349
        $af->{values} = {
350
            $subscriptionid => $query->param('additional_fields_' . $field->{name})
351
        };
352
        $af->insert_values;
353
    }
354
334
    print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid");
355
    print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid");
335
    return;
356
    return;
336
}
357
}
Lines 406-411 sub redirect_mod_subscription { Link Here
406
        $skip_serialseq
427
        $skip_serialseq
407
    );
428
    );
408
429
430
    my $additional_fields = Koha::AdditionalField->all( { table => 'subscription' } );
431
    my @additional_field_values;
432
    for my $field ( @$additional_fields ) {
433
        my $af = Koha::AdditionalField->new({ id => $field->{id} })->fetch;
434
        if ( $af->{marcfield} ) {
435
            my $record = GetMarcBiblio( $biblionumber, 1 );
436
            my ( $field, $subfield ) = split /\$/, $af->{marcfield};
437
            next unless $field and $subfield;
438
            my $value = $record->subfield( $field, $subfield );
439
            $af->{values} = {
440
                $subscriptionid => $value
441
            };
442
        } else {
443
            $af->{values} = {
444
                $subscriptionid => $query->param('additional_fields_' . $field->{name})
445
            };
446
        }
447
        $af->insert_values;
448
    }
449
409
    print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid");
450
    print $query->redirect("/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=$subscriptionid");
410
    return;
451
    return;
411
}
452
}
(-)a/serials/subscription-detail.pl (-1 / +8 lines)
Lines 149-154 if ( defined $subscriptionid ) { Link Here
149
    }
149
    }
150
}
150
}
151
151
152
my $additional_fields = Koha::AdditionalField->all( { tablename => 'subscription' } );
153
for my $field ( @$additional_fields ) {
154
    if ( $field->{authorised_value_category} ) {
155
        $field->{authorised_value_choices} = GetAuthorisedValues( $field->{authorised_value_category} );
156
    }
157
}
158
$template->param( additional_fields_for_subscription => $additional_fields );
159
152
$template->param(
160
$template->param(
153
    subscriptionid => $subscriptionid,
161
    subscriptionid => $subscriptionid,
154
    serialslist => \@serialslist,
162
    serialslist => \@serialslist,
155
- 

Return to bug 10855