Bug 21552: Use raw filter for displaying RoutingListNote
[koha.git] / serials / subscription-add.pl
index ce7f168..bb9e8cf 100755 (executable)
@@ -15,8 +15,7 @@
 # You should have received a copy of the GNU General Public License
 # along with Koha; if not, see <http://www.gnu.org/licenses>.
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use CGI qw ( -utf8 );
 use Date::Calc qw(Today Day_of_Year Week_of_Year Add_Delta_Days Add_Delta_YM);
@@ -31,6 +30,7 @@ use C4::Serials::Frequency;
 use C4::Serials::Numberpattern;
 use C4::Letters;
 use Koha::AdditionalField;
+use Koha::Biblios;
 use Koha::DateUtils;
 use Koha::ItemTypes;
 use Carp;
@@ -45,7 +45,8 @@ my $sub_length;
 
 # Permission needed if it is a modification : edit_subscription
 # Permission needed otherwise (nothing or dup) : create_subscription
-my $permission = ($op eq "modify") ? "edit_subscription" : "create_subscription";
+my $permission =
+  ( $op eq 'modify' || $op eq 'modsubscription' ) ? "edit_subscription" : "create_subscription";
 
 my ($template, $loggedinuser, $cookie)
 = get_template_and_user({template_name => "serials/subscription-add.tt",
@@ -182,10 +183,10 @@ if ($op eq 'addsubscription') {
 
     my $new_biblionumber = $query->param('biblionumber_for_new_subscription');
     if (defined $new_biblionumber) {
-        my $bib = GetBiblioData($new_biblionumber);
-        if (defined $bib) {
+        my $biblio = Koha::Biblios->find( $new_biblionumber );
+        if (defined $biblio) {
             $template->param(bibnum      => $new_biblionumber);
-            $template->param(bibliotitle => $bib->{title});
+            $template->param(bibliotitle => $biblio->title);
         }
     }
 
@@ -342,7 +343,7 @@ sub redirect_add_subscription {
         join(";",@irregularity), $numberpattern, $locale, $callnumber,
         $manualhistory, $internalnotes, $serialsadditems,
         $staffdisplaycount, $opacdisplaycount, $graceperiod, $location, $enddate,
-        $skip_serialseq
+        $skip_serialseq, $itemtype, $previousitemtype
     );
 
     my $additional_fields = Koha::AdditionalField->all( { tablename => 'subscription' } );
@@ -438,7 +439,9 @@ sub redirect_mod_subscription {
 
 sub insert_additional_fields {
     my ( $additional_fields, $biblionumber, $subscriptionid ) = @_;
-    my $record = GetMarcBiblio( $biblionumber, 1 );
+    my $record = GetMarcBiblio({
+        biblionumber => $biblionumber,
+        embed_items  => 1 });
     for my $field ( @$additional_fields ) {
         my $af = Koha::AdditionalField->new({ id => $field->{id} })->fetch;
         if ( $af->{marcfield} ) {