[Koha-patches] [PATCH 47/78] uncertainprices
paul.poulain at biblibre.com
paul.poulain at biblibre.com
Thu May 28 18:32:57 CEST 2009
From: Paul Poulain <paul.poulain at biblibre.com>
uncertainprice is set on z3950 or staged file import
---
acqui/uncertainprice.pl | 129 ++++++++++++++++++++
.../prog/en/modules/acqui/uncertainprice.tmpl | 118 ++++++++++++++++++
2 files changed, 247 insertions(+), 0 deletions(-)
create mode 100755 acqui/uncertainprice.pl
create mode 100755 koha-tmpl/intranet-tmpl/prog/en/modules/acqui/uncertainprice.tmpl
diff --git a/acqui/uncertainprice.pl b/acqui/uncertainprice.pl
new file mode 100755
index 0000000..e897498
--- /dev/null
+++ b/acqui/uncertainprice.pl
@@ -0,0 +1,129 @@
+#!/usr/bin/perl
+
+#script to show a list of orders with uncertain prices for a bookseller
+#the script also allows to edit the prices and uncheck the uncertainprice property of them
+#written by john.soros at biblibre.com 01/10/2008
+
+# Copyright 2008-2009 BibLibre SARL
+#
+# 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 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., 59 Temple Place,
+# Suite 330, Boston, MA 02111-1307 USA
+
+
+=head1 NAME
+
+uncertainprice.pl
+
+=head1 DESCRIPTION
+
+ This script displays all the orders with uncertain prices for a given bookseller, it also lets the user modify the unitprice and uncertainprice properties of the order
+
+=head1 CGI PARAMETERS
+
+=over 4
+
+=item $booksellerid
+
+The bookseller who we want to display the orders of.
+
+=back
+
+=cut
+
+
+use strict;
+use warnings;
+
+use C4::Input;
+use C4::Auth;
+use C4::Output;
+use CGI;
+
+use C4::Bookseller qw/GetBookSellerFromId/;
+use C4::Acquisition qw/GetPendingOrders GetOrder ModOrder/;
+use C4::Biblio qw/GetBiblioData/;
+
+my $input=new CGI;
+
+my ($template, $loggedinuser, $cookie)
+ = get_template_and_user({template_name => "acqui/uncertainprice.tmpl",
+ query => $input,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { acquisition => 'order_manage' },
+ debug => 1,
+ });
+
+my $booksellerid = $input->param('booksellerid');
+my $op = $input->param('op');
+my $owner = $input->param('owner') || 0 ; # flag to see only "my" orders, or everyone orders
+my $bookseller = &GetBookSellerFromId($booksellerid);
+
+#show all orders that have uncertain price for the bookseller
+my $pendingorders = &GetPendingOrders($booksellerid,0,$owner);
+my @orders;
+
+foreach my $order (@{$pendingorders}) {
+ if ( $order->{'uncertainprice'} ) {
+ my $bibdata = &GetBiblioData($order->{'biblionumber'});
+ $order->{'bibisbn'} = $bibdata->{'isbn'};
+ $order->{'bibpublishercode'} = $bibdata->{'publishercode'};
+ $order->{'bibpublicationyear'} = $bibdata->{'publicationyear'};
+ $order->{'bibtitle'} = $bibdata->{'title'};
+ $order->{'bibauthor'} = $bibdata->{'author'};
+ my $order_as_from_db=GetOrder($order->{ordernumber});
+ $order->{'quantity'} = $order_as_from_db->{'quantity'};
+ $order->{'listprice'} = $order_as_from_db->{'listprice'};
+ push(@orders, $order);
+ }
+}
+if ( $op eq 'validate' ) {
+ $template->param( validate => 1);
+ my $count = scalar(@orders);
+ for (my $i=0; $i < $count; $i++) {
+ my $order = pop(@orders);
+ my $ordernumber = $order->{ordernumber};
+ my $order_as_from_db=GetOrder($order->{ordernumber});
+ $order->{'listprice'} = $input->param('price'.$ordernumber);
+ $order->{'ecost'}= $input->param('price'.$ordernumber) - (($input->param('price'.$ordernumber) /100) * $bookseller->{'discount'});
+ $order->{'rrp'} = $input->param('price'.$ordernumber);
+ $order->{'quantity'}=$input->param('qty'.$ordernumber);
+ $order->{'uncertainprice'}=$input->param('uncertainprice'.$ordernumber);
+ ModOrder($order);
+ }
+}
+
+$template->param( uncertainpriceorders => \@orders,
+ booksellername => "".$bookseller->{'name'},
+ booksellerid => $bookseller->{'id'},
+ booksellerpostal =>$bookseller->{'postal'},
+ bookselleraddress1 => $bookseller->{'address1'},
+ bookselleraddress2 => $bookseller->{'address2'},
+ bookselleraddress3 => $bookseller->{'address3'},
+ bookselleraddress4 => $bookseller->{'address4'},
+ booksellerphone =>$bookseller->{'phone'},
+ booksellerfax => $bookseller->{'fax'},
+ booksellerurl => $bookseller->{'url'},
+ booksellercontact => $bookseller->{'contact'},
+ booksellercontpos => $bookseller->{'contpos'},
+ booksellercontphone => $bookseller->{'contphone'},
+ booksellercontaltphone => $bookseller->{'contaltphone'},
+ booksellercontfax => $bookseller->{'contfax'},
+ booksellercontemail => $bookseller->{'contemail'},
+ booksellercontnotes => $bookseller->{'contnotes'},
+ booksellernotes => $bookseller->{'notes'},
+ owner => $owner,
+ scriptname => "/cgi-bin/koha/acqui/uncertainprice.pl");
+output_html_with_http_headers $input, $cookie, $template->output;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/uncertainprice.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/uncertainprice.tmpl
new file mode 100755
index 0000000..582aba6
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/uncertainprice.tmpl
@@ -0,0 +1,118 @@
+<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
+<title>Koha › Orders with uncertain prices for Vendor <!-- TMPL_VAR name="booksellername" --></title>
+<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
+<script type="text/javascript" src="<!-- TMPL_VAR NAME='themelang' -->/js/acq.js"></script>
+<script type="text/javascript">
+//<![CDATA[
+function check(form) {
+ form.submit();
+}
+//]]>
+</script>
+</head>
+<body>
+<!-- TMPL_INCLUDE NAME="header.inc" -->
+<!-- TMPL_INCLUDE NAME="acquisitions-search.inc" -->
+
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> ›<a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=<!-- TMPL_VAR NAME="booksellerid" -->"><!-- TMPL_VAR NAME="booksellername" --></a> › Uncertain prices for vendor: <!-- TMPL_VAR NAME="booksellername" --></div>
+
+<div id="doc" class="yui-t7">
+ <div id="bd">
+ <div id="yui-main">
+ <!-- TMPL_IF name="validate" -->
+ <META HTTP-EQUIV=Refresh CONTENT="0; URL=<!-- TMPL_VAR name="scriptname" -->?booksellerid=<!-- TMPL_VAR NAME="booksellerid" -->">
+ <!-- TMPL_ELSE -->
+ <h1>Orders with uncertain prices for vendor <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=<!-- TMPL_VAR NAME="booksellerid" -->"><!--TMPL_VAR name="booksellername" --></a> <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=<!-- TMPL_VAR NAME="booksellerid" -->&op=enter">(edit)</a></h1>
+ <!-- TMPL_IF name="owner" -->
+ <a href="/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=<!-- TMPL_VAR NAME="booksellerid" -->">View everyone orders</a>
+ <!-- TMPL_ELSE -->
+ <a href="/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=<!-- TMPL_VAR NAME="booksellerid" -->&owner=1">View only my orders</a>
+ <!-- /TMPL_IF -->
+ <h2>Contact information</h2>
+ <p><strong>Postal address: </strong>
+ <!-- TMPL_VAR name="booksellerpostal" --></p>
+ <!-- TMPL_IF name="bookselleraddress1" -->
+ <p><strong>Address 1: </strong>
+ <!-- TMPL_VAR name="bookselleraddress1" --></p>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF name="bookselleraddress2" -->
+ <p><strong>Address 2: </strong>
+ <!-- TMPL_VAR name="bookselleraddress2" --></p>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF name="bookselleraddress3" -->
+ <p><strong>Address 3: </strong>
+ <!-- TMPL_VAR name="bookselleraddress3" --></p>
+ <!-- /TMPL_IF -->
+ <!-- TMPL_IF name="bookselleraddress4" -->
+ <p><strong>Address 4: </strong>
+ <!-- TMPL_VAR name="bookselleraddress4" --></p>
+ <!-- /TMPL_IF -->
+ <p><strong>Telephone: </strong>
+ <!--TMPL_VAR name="booksellerphone" --></p>
+ <p><strong>Fax: </strong>
+ <!--TMPL_VAR name="booksellerfax" --></p>
+ <p><strong>Web: </strong>
+ <a href="<!--TMPL_VAR name="booksellerurl" -->"><!--TMPL_VAR name="booksellerurl" --></a></p>
+ <p><dl>
+ <dt><strong>Contact: </strong></dt>
+ <dd><strong>Name: </strong><!--TMPL_VAR name="booksellercontact" --></dd>
+ <dd><strong>Position: </strong><!--TMPL_VAR name="booksellercontpos" --></dd>
+ <dd><strong>Telephone: </strong><!--TMPL_VAR name="booksellercontphone" --></dd>
+ <!-- TMPL_IF name="booksellercontaltphone" -->
+ <dd><strong>Alternate phone: </strong><!--TMPL_VAR name="booksellercontaltphone" --></dd>
+ <!-- /TMPL_IF -->
+ <dd><strong>e-mail: </strong><!--TMPL_VAR name="booksellercontemail" --></dd>
+ <!-- TMPL_IF name="booksellercontnotes" -->
+ <dd><strong>notes: </strong><!--TMPL_VAR name="booksellercontnotes" --></dd>
+ <!-- /TMPL_IF -->
+ </dl></p>
+ <!-- TMPL_IF name="booksellernotes" -->
+ <p><strong>Notes: </strong>
+ <!--TMPL_VAR name="booksellernotes" --></p>
+ <!-- /TMPL_IF -->
+ <h2>Orders with uncertain prices</h2>
+ <form action="<!-- TMPL_VAR name="scriptname" -->" method="post" name="uncertainprices">
+ <input type="hidden" name="booksellerid" value="<!-- TMPL_VAR name="booksellerid" -->" />
+ <input type="hidden" name="op" value="validate" />
+ <table>
+ <tr>
+ <th>order information</th>
+ <th>basket name</th>
+ <th>uncertain price</th>
+ <th>price</th>
+ <th>quantity</th>
+ </tr>
+ <!-- TMPL_LOOP name="uncertainpriceorders" -->
+ <tr>
+ <td>
+ <!-- TMPL_VAR name="bibtitle" --> / <!-- TMPL_VAR name="bibauthor" --> <br /> <!-- TMPL_VAR name="bibpublishercode" -->, <!-- TMPL_VAR name="bibpublicationyear" --><br /><!-- TMPL_VAR name="bibisbn" --><br />
+ <a href="neworderempty.pl?ordnum=<!-- TMPL_VAR name="ordernumber" -->&booksellerid=<!-- TMPL_VAR name="booksellerid" -->&basketno=<!-- TMPL_VAR name="basketno" -->">
+ edit
+ </a>
+ </td>
+ <td>
+ <!-- TMPL_VAR name="basketname" -->
+ </td>
+ <td>
+ <input type="checkbox" name="uncertainprice<!-- TMPL_VAR name="ordernumber" -->" value="1" checked>
+ </td>
+ <td>
+ <input type="text" size="10" name="price<!-- TMPL_VAR name="ordernumber"-->" value="<!-- TMPL_VAR name="listprice" -->"
+ onChange="uncheckbox(this.form, <!-- TMPL_VAR name="ordernumber" -->);" />
+ </td>
+ <td>
+
+ <input type="text" size="10" name="qty<!-- TMPL_VAR name="ordernumber"-->" value="<!-- TMPL_VAR name="quantity" -->"
+ onChange="uncheckbox(this.form, <!-- TMPL_VAR name="ordernumber" -->);" />
+ </td>
+ </tr>
+ <!-- /TMPL_LOOP -->
+ </table>
+ <input type="button" value="Save" onclick="check(this.form)" />
+ </form>
+ <!-- /TMPL_IF -->
+</div>
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file
--
1.6.0.4
More information about the Koha-patches
mailing list