X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=serials%2Fsubscription-add.pl;h=a3306ea14b079376273487f1f8b49e3f1b9a91d9;hb=882f4146441f8d0a447a63e4faecf755e33e6c90;hp=9acee7b56bebe337a99b972d458444be814268a7;hpb=8ae5719d1681ffb5bf3dc803de5b80a39b6f3a68;p=koha_fer diff --git a/serials/subscription-add.pl b/serials/subscription-add.pl index 9acee7b56b..a3306ea14b 100755 --- a/serials/subscription-add.pl +++ b/serials/subscription-add.pl @@ -34,7 +34,7 @@ use Carp; #use Smart::Comments; -my $query = CGI->new; +our $query = CGI->new; my $op = $query->param('op') || ''; my $dbh = C4::Context->dbh; my $sub_length; @@ -64,7 +64,6 @@ my @sub_type_data; my $subs; my $firstissuedate; -my $nextexpected; if ($op eq 'modify' || $op eq 'dup' || $op eq 'modsubscription') { @@ -89,7 +88,7 @@ if ($op eq 'modify' || $op eq 'dup' || $op eq 'modsubscription') { $subs->{letter}= q{}; } letter_loop($subs->{'letter'}, $template); - $nextexpected = GetNextExpected($subscriptionid); + my $nextexpected = GetNextExpected($subscriptionid); $nextexpected->{'isfirstissue'} = $nextexpected->{planneddate}->output('iso') eq $firstissuedate ; $subs->{nextacquidate} = $nextexpected->{planneddate}->output() if($op eq 'modify'); unless($op eq 'modsubscription') { @@ -113,6 +112,12 @@ if ($op eq 'modify' || $op eq 'dup' || $op eq 'modsubscription') { firstacquiyear => substr($firstissuedate,0,4), ); } + + if ( $op eq 'dup' ) { + my $dont_copy_fields = C4::Context->preference('SubscriptionDuplicateDroppedInput'); + my @fields_id = map { fieldid => $_ }, split '\|', $dont_copy_fields; + $template->param( dont_export_field_loop => \@fields_id ); + } } my $onlymine=C4::Context->preference('IndependantBranches') && @@ -170,6 +175,7 @@ if ($op eq 'addsubscription') { $template->param(bibliotitle => $bib->{title}); } } + $template->param((uc(C4::Context->preference("marcflavour"))) => 1); output_html_with_http_headers $query, $cookie, $template->output; } @@ -326,6 +332,7 @@ sub redirect_mod_subscription { my $opacdisplaycount = $query->param('opacdisplaycount'); my $graceperiod = $query->param('graceperiod') || 0; my $location = $query->param('location'); + my $nextexpected = GetNextExpected($subscriptionid); # If it's a mod, we need to check the current 'expected' issue, and mod it in the serials table if necessary. if ( $nextacquidate ne $nextexpected->{planneddate}->output('iso') ) { ModNextExpected($subscriptionid,C4::Dates->new($nextacquidate,'iso'));