use Memoize because Memcache::Memoize is slow for me
[koha.git] / acqui / orderreceive.pl
index bcf6f74..98ba544 100755 (executable)
 # 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., 59 Temple Place,
-# Suite 330, Boston, MA  02111-1307 USA
+# 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.
 
 =head1 NAME
 
 orderreceive.pl
 
 =head1 DESCRIPTION
+
 This script shows all order already receive and all pendings orders.
 It permit to write a new order as 'received'.
 
@@ -34,16 +35,19 @@ It permit to write a new order as 'received'.
 =over 4
 
 =item supplierid
+
 to know on what supplier this script has to display receive order.
 
 =item receive
 
 =item invoice
+
 the number of this invoice.
 
 =item freight
 
 =item biblio
+
 The biblionumber of this order.
 
 =item datereceived
@@ -57,7 +61,7 @@ The biblionumber of this order.
 =cut
 
 use strict;
-# use warnings;  # FIXME
+#use warnings; FIXME - Bug 2505
 use CGI;
 use C4::Context;
 use C4::Koha;   # GetKohaAuthorisedValues GetItemTypes
@@ -65,7 +69,7 @@ use C4::Acquisition;
 use C4::Auth;
 use C4::Output;
 use C4::Dates qw/format_date/;
-use C4::Bookseller;
+use C4::Bookseller qw/ GetBookSellerFromId /;
 use C4::Members;
 use C4::Branch;    # GetBranches
 use C4::Items;
@@ -86,7 +90,8 @@ my $datereceived = $input->param('datereceived');
 $datereceived = $datereceived ? C4::Dates->new($datereceived, 'iso') : C4::Dates->new();
 
 my $bookseller = GetBookSellerFromId($supplierid);
-my $gst= $input->param('gst') || $bookseller->{gstrate} || C4::Context->preference("gist") || 0;
+my $input_gst = ($input->param('gst') eq '' ? undef : $input->param('gst'));
+my $gst= $input_gst // $bookseller->{gstrate} // C4::Context->preference("gist") // 0;
 my $results = SearchOrder($ordernumber,$search);
 
 
@@ -111,7 +116,11 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 if ( $count == 1 ) {
     if (C4::Context->preference('AcqCreateItem') eq 'receiving') {
         # prepare empty item form
-        my $cell = PrepareItemrecordDisplay();
+        my $cell = PrepareItemrecordDisplay('','','','ACQ');
+        unless ($cell) {
+            $cell = PrepareItemrecordDisplay('','','','');
+            $template->param('NoACQframework' => 1);
+        }
         my @itemloop;
         push @itemloop,$cell;