Bug 10181: Make string translatable
[koha.git] / acqui / addorder.pl
index 26bd6ae..f58e58d 100755 (executable)
@@ -7,18 +7,18 @@
 #
 # This file is part of Koha.
 #
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
 #
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 
 =head1 NAME
@@ -121,11 +121,11 @@ if it is an order from an existing suggestion : the id of this suggestion.
 
 use strict;
 use warnings;
-use CGI;
-use C4::Auth;                  # get_template_and_user
-use C4::Acquisition;    # DelOrder ModOrder
-use C4::Suggestions;   # ModStatus
-use C4::Biblio;                        # AddBiblio TransformKohaToMarc
+use CGI qw ( -utf8 );
+use C4::Auth;           # get_template_and_user
+use C4::Acquisition;    # ModOrder
+use C4::Suggestions;    # ModStatus
+use C4::Biblio;         # AddBiblio TransformKohaToMarc
 use C4::Budgets;
 use C4::Items;
 use C4::Output;
@@ -230,14 +230,12 @@ $orderinfo->{subscriptionid} ||= undef;
 my $user = $input->remote_user;
 
 # create, modify or delete biblio
-# create if $quantity>=0 and $existing='no'
-# modify if $quantity>=0 and $existing='yes'
-# delete if $quantity has been set to 0 by the librarian
-# delete biblio if delbiblio has been set to 1 by the librarian
+# create if $quantity>0 and $existing='no'
+# modify if $quantity>0 and $existing='yes'
 if ( $orderinfo->{quantity} ne '0' ) {
     #TODO:check to see if biblio exists
     unless ( $$orderinfo{biblionumber} ) {
-        #if it doesnt create it
+        #if it doesn't create it
         my $record = TransformKohaToMarc(
             {
                 "biblio.title"                => "$$orderinfo{title}",
@@ -250,15 +248,10 @@ if ( $orderinfo->{quantity} ne '0' ) {
                 "biblio.copyrightdate"        => $$orderinfo{publicationyear} ? $$orderinfo{publicationyear}: "",
                 "biblioitems.itemtype"        => $$orderinfo{itemtype} ? $$orderinfo{itemtype} : "",
                 "biblioitems.editionstatement"=> $$orderinfo{editionstatement} ? $$orderinfo{editionstatement} : "",
-                "aqorders.branchcode"         => $$orderinfo{branchcode} ? $$orderinfo{branchcode} : "",
-                "aqorders.quantity"           => $$orderinfo{quantity} ? $$orderinfo{quantity} : "",
-                "aqorders.listprice"          => $$orderinfo{listprice} ? $$orderinfo{listprice} : "",
-                "aqorders.uncertainprice"     => $$orderinfo{uncertainprice} ? $$orderinfo{uncertainprice} : "",
-                "aqorders.rrp"                => $$orderinfo{rrp} ? $$orderinfo{rrp} : "",
-                "aqorders.ecost"              => $$orderinfo{ecost} ? $$orderinfo{ecost} : "",
-                "aqorders.discount"           => $$orderinfo{discount} ? $$orderinfo{discount} : "",
             });
 
+        C4::Acquisition::FillWithDefaultValues( $record );
+
         # create the record in catalogue, with framework ''
         my ($biblionumber,$bibitemnum) = AddBiblio($record,'');
         # change suggestion status if applicable
@@ -272,8 +265,12 @@ if ( $orderinfo->{quantity} ne '0' ) {
 
     # if we already have $ordernumber, then it's an ordermodif
     my $order = Koha::Acquisition::Order->new($orderinfo);
-    if ($$orderinfo{ordernumber}) {
-        ModOrder( $orderinfo);
+    if ( $orderinfo->{ordernumber} ) {
+        ModOrder($orderinfo);
+        my $order_users_ids = $input->param('users_ids');
+        my @order_users = split( /:/, $order_users_ids );
+
+        ModOrderUsers( $orderinfo->{ordernumber}, @order_users );
     }
     else { # else, it's a new line
         $order->insert;
@@ -310,8 +307,8 @@ if ( $orderinfo->{quantity} ne '0' ) {
             my $xml = TransformHtmlToXml( $itemhash{$item}->{'tags'},
                                     $itemhash{$item}->{'subfields'},
                                     $itemhash{$item}->{'field_values'},
-                                    $itemhash{$item}->{'ind_tag'},
                                     $itemhash{$item}->{'indicator'},
+                                    $itemhash{$item}->{'ind_tag'},
                                     'ITEM');
             my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
             my ($biblionumber,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$$orderinfo{biblionumber});
@@ -321,13 +318,6 @@ if ( $orderinfo->{quantity} ne '0' ) {
 
 }
 
-else { # qty=0, delete the line
-    my $biblionumber = $input->param('biblionumber');
-    DelOrder( $biblionumber, $$orderinfo{ordernumber} );
-    if ($orderinfo->{delbiblio} == 1){
-     DelBiblio($biblionumber);
-    }
-}
 my $basketno=$$orderinfo{basketno};
 my $booksellerid=$$orderinfo{booksellerid};
 if (my $import_batch_id=$$orderinfo{import_batch_id}) {