Merge branch 'bug_5343' into 3.12-master

This commit is contained in:
Jared Camins-Esakov 2013-03-22 23:57:05 -04:00
commit 3cd9293b6a
20 changed files with 604 additions and 118 deletions

View file

@ -58,7 +58,7 @@ BEGIN {
&SearchOrder &GetHistory &GetRecentAcqui &SearchOrder &GetHistory &GetRecentAcqui
&ModReceiveOrder &CancelReceipt &ModOrderBiblioitemNumber &ModReceiveOrder &CancelReceipt &ModOrderBiblioitemNumber
&GetCancelledOrders &GetCancelledOrders
&GetLastOrderNotReceivedFromSubscriptionid &GetLastOrderReceivedFromSubscriptionid
&NewOrderItem &ModOrderItem &ModItemOrder &NewOrderItem &ModOrderItem &ModItemOrder
&GetParcels &GetParcel &GetParcels &GetParcel
@ -1007,6 +1007,67 @@ sub GetOrder {
return $data; return $data;
} }
=head3 GetLastOrderNotReceivedFromSubscriptionid
$order = &GetLastOrderNotReceivedFromSubscriptionid($subscriptionid);
Returns a reference-to-hash describing the last order not received for a subscription.
=cut
sub GetLastOrderNotReceivedFromSubscriptionid {
my ( $subscriptionid ) = @_;
my $dbh = C4::Context->dbh;
my $query = qq|
SELECT * FROM aqorders
LEFT JOIN subscription
ON ( aqorders.subscriptionid = subscription.subscriptionid )
WHERE aqorders.subscriptionid = ?
AND aqorders.datereceived IS NULL
LIMIT 1
|;
my $sth = $dbh->prepare( $query );
$sth->execute( $subscriptionid );
my $order = $sth->fetchrow_hashref;
return $order;
}
=head3 GetLastOrderReceivedFromSubscriptionid
$order = &GetLastOrderReceivedFromSubscriptionid($subscriptionid);
Returns a reference-to-hash describing the last order received for a subscription.
=cut
sub GetLastOrderReceivedFromSubscriptionid {
my ( $subscriptionid ) = @_;
my $dbh = C4::Context->dbh;
my $query = qq|
SELECT * FROM aqorders
LEFT JOIN subscription
ON ( aqorders.subscriptionid = subscription.subscriptionid )
WHERE aqorders.subscriptionid = ?
AND aqorders.datereceived =
(
SELECT MAX( aqorders.datereceived )
FROM aqorders
LEFT JOIN subscription
ON ( aqorders.subscriptionid = subscription.subscriptionid )
WHERE aqorders.subscriptionid = ?
AND aqorders.datereceived IS NOT NULL
)
ORDER BY ordernumber DESC
LIMIT 1
|;
my $sth = $dbh->prepare( $query );
$sth->execute( $subscriptionid, $subscriptionid );
my $order = $sth->fetchrow_hashref;
return $order;
}
#------------------------------------------------------------# #------------------------------------------------------------#
=head3 NewOrder =head3 NewOrder

View file

@ -41,6 +41,7 @@ BEGIN {
&DelBudget &DelBudget
&GetBudgetSpent &GetBudgetSpent
&GetBudgetOrdered &GetBudgetOrdered
&GetBudgetName
&GetPeriodsCount &GetPeriodsCount
&GetChildBudgetsSpent &GetChildBudgetsSpent
@ -356,6 +357,28 @@ sub GetBudgetOrdered {
return $sum; return $sum;
} }
=head2 GetBudgetName
my $budget_name = &GetBudgetName($budget_id);
get the budget_name for a given budget_id
=cut
sub GetBudgetName {
my ( $budget_id ) = @_;
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare(
qq|
SELECT budget_name
FROM aqbudgets
WHERE budget_id = ?
|);
$sth->execute($budget_id);
return $sth->fetchrow_array;
}
# ------------------------------------------------------------------- # -------------------------------------------------------------------
sub GetBudgetAuthCats { sub GetBudgetAuthCats {
my ($budget_period_id) = shift; my ($budget_period_id) = shift;

View file

@ -58,6 +58,7 @@ BEGIN {
&CountIssues &CountIssues
HasItems HasItems
&GetSubscriptionsFromBorrower &GetSubscriptionsFromBorrower
&subscriptionCurrentlyOnOrder
); );
} }
@ -1542,7 +1543,7 @@ sub ReNewSubscription {
# renew subscription # renew subscription
$query = qq| $query = qq|
UPDATE subscription UPDATE subscription
SET startdate=?,numberlength=?,weeklength=?,monthlength=? SET startdate=?,numberlength=?,weeklength=?,monthlength=?,reneweddate=NOW()
WHERE subscriptionid=? WHERE subscriptionid=?
|; |;
$sth = $dbh->prepare($query); $sth = $dbh->prepare($query);
@ -2730,6 +2731,28 @@ sub ReopenSubscription {
$sth->execute( $subscriptionid ); $sth->execute( $subscriptionid );
} }
=head2 subscriptionCurrentlyOnOrder
$bool = subscriptionCurrentlyOnOrder( $subscriptionid );
Return 1 if subscription is currently on order else 0.
=cut
sub subscriptionCurrentlyOnOrder {
my ( $subscriptionid ) = @_;
my $dbh = C4::Context->dbh;
my $query = qq|
SELECT COUNT(*) FROM aqorders
WHERE subscriptionid = ?
AND datereceived IS NULL
AND datecancellationprinted IS NULL
|;
my $sth = $dbh->prepare( $query );
$sth->execute($subscriptionid);
return $sth->fetchrow_array;
}
1; 1;
__END__ __END__

View file

@ -153,6 +153,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
my $orderinfo = $input->Vars; my $orderinfo = $input->Vars;
$orderinfo->{'list_price'} ||= 0; $orderinfo->{'list_price'} ||= 0;
$orderinfo->{'uncertainprice'} ||= 0; $orderinfo->{'uncertainprice'} ||= 0;
$orderinfo->{subscriptionid} ||= undef;
my $user = $input->remote_user; my $user = $input->remote_user;

View file

@ -52,7 +52,6 @@ my $invoiceno = $invoice->{invoicenumber};
my $datereceived = $invoice->{shipmentdate}; my $datereceived = $invoice->{shipmentdate};
my $booksellerid = $input->param('booksellerid'); my $booksellerid = $input->param('booksellerid');
my $cnt = 0; my $cnt = 0;
my $error_url_str;
my $ecost = $input->param('ecost'); my $ecost = $input->param('ecost');
my $rrp = $input->param('rrp'); my $rrp = $input->param('rrp');
my $note = $input->param("note"); my $note = $input->param("note");

View file

@ -97,7 +97,6 @@ my $budget_id = $input->param('budget_id') || 0;
my $title = $input->param('title'); my $title = $input->param('title');
my $author = $input->param('author'); my $author = $input->param('author');
my $publicationyear = $input->param('publicationyear'); my $publicationyear = $input->param('publicationyear');
my $bookseller = GetBookSellerFromId($booksellerid); # FIXME: else ERROR!
my $ordernumber = $input->param('ordernumber') || ''; my $ordernumber = $input->param('ordernumber') || '';
our $biblionumber = $input->param('biblionumber'); our $biblionumber = $input->param('biblionumber');
our $basketno = $input->param('basketno'); our $basketno = $input->param('basketno');
@ -105,6 +104,7 @@ my $suggestionid = $input->param('suggestionid');
my $close = $input->param('close'); my $close = $input->param('close');
my $uncertainprice = $input->param('uncertainprice'); my $uncertainprice = $input->param('uncertainprice');
my $import_batch_id = $input->param('import_batch_id'); # if this is filled, we come from a staged file, and we will return here after saving the order ! my $import_batch_id = $input->param('import_batch_id'); # if this is filled, we come from a staged file, and we will return here after saving the order !
my $subscriptionid = $input->param('subscriptionid');
my $data; my $data;
my $new = 'no'; my $new = 'no';
@ -129,6 +129,9 @@ if(!$basketno) {
} }
our $basket = GetBasket($basketno); our $basket = GetBasket($basketno);
$booksellerid = $basket->{booksellerid} unless $booksellerid;
my $bookseller = GetBookSellerFromId($booksellerid);
my $contract = &GetContract($basket->{contractnumber}); my $contract = &GetContract($basket->{contractnumber});
#simple parameters reading (all in one :-) #simple parameters reading (all in one :-)
@ -186,10 +189,8 @@ else { #modify order
$biblionumber = $data->{'biblionumber'}; $biblionumber = $data->{'biblionumber'};
$budget_id = $data->{'budget_id'}; $budget_id = $data->{'budget_id'};
#get basketno and supplierno. too! $basket = GetBasket( $data->{'basketno'} );
my $data2 = GetBasket( $data->{'basketno'} ); $basketno = $basket->{'basketno'};
$basketno = $data2->{'basketno'};
$booksellerid = $data2->{'booksellerid'};
} }
my $suggestion; my $suggestion;
@ -321,6 +322,26 @@ if (C4::Context->preference('AcqCreateItem') eq 'ordering' && !$ordernumber) {
my @itemtypes; my @itemtypes;
@itemtypes = C4::ItemType->all unless C4::Context->preference('item-level_itypes'); @itemtypes = C4::ItemType->all unless C4::Context->preference('item-level_itypes');
if ( defined $subscriptionid ) {
my $lastOrderReceived = GetLastOrderReceivedFromSubscriptionid $subscriptionid;
if ( defined $lastOrderReceived ) {
$budget_id = $lastOrderReceived->{budgetid};
$data->{listprice} = $lastOrderReceived->{listprice};
$data->{uncertainprice} = $lastOrderReceived->{uncertainprice};
$data->{gstrate} = $lastOrderReceived->{gstrate};
$data->{discount} = $lastOrderReceived->{discount};
$data->{rrp} = $lastOrderReceived->{rrp};
$data->{ecost} = $lastOrderReceived->{ecost};
$data->{quantity} = $lastOrderReceived->{quantity};
$data->{unitprice} = $lastOrderReceived->{unitprice};
$data->{notes} = $lastOrderReceived->{notes};
$data->{sort1} = $lastOrderReceived->{sort1};
$data->{sort2} = $lastOrderReceived->{sort2};
$basket = GetBasket( $input->param('basketno') );
}
}
# Find the items.barcode subfield for barcode validations # Find the items.barcode subfield for barcode validations
my (undef, $barcode_subfield) = GetMarcFromKohaField('items.barcode', ''); my (undef, $barcode_subfield) = GetMarcFromKohaField('items.barcode', '');
@ -392,6 +413,7 @@ $template->param(
publishercode => $data->{'publishercode'}, publishercode => $data->{'publishercode'},
barcode_subfield => $barcode_subfield, barcode_subfield => $barcode_subfield,
import_batch_id => $import_batch_id, import_batch_id => $import_batch_id,
subscriptionid => $subscriptionid,
(uc(C4::Context->preference("marcflavour"))) => 1 (uc(C4::Context->preference("marcflavour"))) => 1
); );

107
acqui/newordersubscription.pl Executable file
View file

@ -0,0 +1,107 @@
#!/usr/bin/perl
# Copyright 2012 BibLibre
#
# 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.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use Modern::Perl;
use CGI;
use C4::Acquisition;
use C4::Auth;
use C4::Bookseller qw/GetBookSellerFromId/;
use C4::Branch;
use C4::Context;
use C4::Output;
use C4::Serials;
my $query = new CGI;
my $title = $query->param('title_filter');
my $ISSN = $query->param('ISSN_filter');
my $EAN = $query->param('EAN_filter');
my $publisher = $query->param('publisher_filter');
my $supplier = $query->param('supplier_filter');
my $branch = $query->param('branch_filter');
my $routing = $query->param('routing') || C4::Context->preference("RoutingSerials");
my $searched = $query->param('searched');
my $biblionumber = $query->param('biblionumber');
my $basketno = $query->param('basketno');
my $booksellerid = $query->param('booksellerid');
my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
{ template_name => "acqui/newordersubscription.tt",
query => $query,
type => "intranet",
authnotrequired => 0,
flagsrequired => { acquisition => 'order_manage' },
}
);
my $basket = GetBasket($basketno);
$booksellerid = $basket->{booksellerid} unless $booksellerid;
my ($bookseller) = GetBookSellerFromId($booksellerid);
my @subscriptions;
if ($searched) {
@subscriptions = SearchSubscriptions({
title => $title,
issn => $ISSN,
ean => $EAN,
publisher => $publisher,
bookseller => $supplier,
branch => $branch
});
}
foreach my $sub (@subscriptions) {
$sub->{alreadyOnOrder} = subscriptionCurrentlyOnOrder $sub->{subscriptionid};
# to toggle between create or edit routing list options
if ($routing) {
$sub->{routingedit} = check_routing( $sub->{subscriptionid} );
}
}
my $branches = GetBranches();
my @branches_loop;
foreach (sort keys %$branches){
my $selected = 0;
$selected = 1 if defined $branch && $branch eq $_;
push @branches_loop, {
branchcode => $_,
branchname => $branches->{$_}->{branchname},
selected => $selected,
};
}
$template->param(
subs_loop => \@subscriptions,
title_filter => $title,
ISSN_filter => $ISSN,
EAN_filter => $EAN,
publisher_filter => $publisher,
supplier_filter => $supplier,
branch_filter => $branch,
branches_loop => \@branches_loop,
done_searched => $searched,
routing => $routing,
booksellerid => $booksellerid,
basketno => $basket->{basketno},
basketname => $basket->{basketname},
booksellername => $bookseller->{name},
dateformat => C4::Context->preference("dateformat"),
);
output_html_with_http_headers $query, $cookie, $template->output;

View file

@ -199,6 +199,7 @@ $template->param(
biblionumber => $order->{'biblionumber'}, biblionumber => $order->{'biblionumber'},
ordernumber => $order->{'ordernumber'}, ordernumber => $order->{'ordernumber'},
biblioitemnumber => $order->{'biblioitemnumber'}, biblioitemnumber => $order->{'biblioitemnumber'},
subscriptionid => $order->{subscriptionid},
booksellerid => $order->{'booksellerid'}, booksellerid => $order->{'booksellerid'},
freight => $freight, freight => $freight,
name => $bookseller->{'name'}, name => $bookseller->{'name'},

View file

@ -1945,6 +1945,7 @@ CREATE TABLE `subscription` (
`graceperiod` int(11) NOT NULL default '0', `graceperiod` int(11) NOT NULL default '0',
`enddate` date default NULL, `enddate` date default NULL,
`closed` INT(1) NOT NULL DEFAULT 0, `closed` INT(1) NOT NULL DEFAULT 0,
`reneweddate` date default NULL,
PRIMARY KEY (`subscriptionid`), PRIMARY KEY (`subscriptionid`),
CONSTRAINT subscription_ibfk_1 FOREIGN KEY (periodicity) REFERENCES subscription_frequencies (id) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT subscription_ibfk_1 FOREIGN KEY (periodicity) REFERENCES subscription_frequencies (id) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT subscription_ibfk_2 FOREIGN KEY (numberpattern) REFERENCES subscription_numberpatterns (id) ON DELETE SET NULL ON UPDATE CASCADE CONSTRAINT subscription_ibfk_2 FOREIGN KEY (numberpattern) REFERENCES subscription_numberpatterns (id) ON DELETE SET NULL ON UPDATE CASCADE
@ -2811,8 +2812,6 @@ CREATE TABLE `aqorders` ( -- information related to the basket line items
`notes` mediumtext, -- notes related to this order line `notes` mediumtext, -- notes related to this order line
`supplierreference` mediumtext, -- not used? always NULL `supplierreference` mediumtext, -- not used? always NULL
`purchaseordernumber` mediumtext, -- not used? always NULL `purchaseordernumber` mediumtext, -- not used? always NULL
`subscription` tinyint(1) default NULL, -- not used? always NULL
`serialid` varchar(30) default NULL, -- not used? always NULL
`basketno` int(11) default NULL, -- links this order line to a specific basket (aqbasket.basketno) `basketno` int(11) default NULL, -- links this order line to a specific basket (aqbasket.basketno)
`biblioitemnumber` int(11) default NULL, -- links this order line the biblioitems table (biblioitems.biblioitemnumber) `biblioitemnumber` int(11) default NULL, -- links this order line the biblioitems table (biblioitems.biblioitemnumber)
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this order line was last modified `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this order line was last modified
@ -2830,6 +2829,7 @@ CREATE TABLE `aqorders` ( -- information related to the basket line items
`uncertainprice` tinyint(1), -- was this price uncertain (1 for yes, 0 for no) `uncertainprice` tinyint(1), -- was this price uncertain (1 for yes, 0 for no)
`claims_count` int(11) default 0, -- count of claim letters generated `claims_count` int(11) default 0, -- count of claim letters generated
`claimed_date` date default NULL, -- last date a claim was generated `claimed_date` date default NULL, -- last date a claim was generated
`subscriptionid` int(11) default NULL, -- links this order line to a subscription (subscription.subscriptionid)
parent_ordernumber int(11) default NULL, -- ordernumber of parent order line, or same as ordernumber if no parent parent_ordernumber int(11) default NULL, -- ordernumber of parent order line, or same as ordernumber if no parent
PRIMARY KEY (`ordernumber`), PRIMARY KEY (`ordernumber`),
KEY `basketno` (`basketno`), KEY `basketno` (`basketno`),
@ -2837,7 +2837,8 @@ CREATE TABLE `aqorders` ( -- information related to the basket line items
KEY `budget_id` (`budget_id`), KEY `budget_id` (`budget_id`),
CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `aqorders_subscriptionid` FOREIGN KEY (`subscriptionid`) REFERENCES `subscription` (`subscriptionid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

View file

@ -6984,6 +6984,17 @@ if ( CheckVersion($DBversion) ) {
SetVersion ($DBversion); SetVersion ($DBversion);
} }
$DBversion = "3.11.00.116";
if ( CheckVersion($DBversion) ) {
$dbh->do(q{ALTER TABLE aqorders DROP COLUMN serialid;});
$dbh->do(q{ALTER TABLE aqorders DROP COLUMN subscription;});
$dbh->do(q{ALTER TABLE aqorders ADD COLUMN subscriptionid INT(11) DEFAULT NULL;});
$dbh->do(q{ALTER TABLE aqorders ADD CONSTRAINT aqorders_subscriptionid FOREIGN KEY (subscriptionid) REFERENCES subscription (subscriptionid) ON DELETE CASCADE ON UPDATE CASCADE;});
$dbh->do(q{ALTER TABLE subscription ADD COLUMN reneweddate DATE DEFAULT NULL;});
print "Upgrade to $DBversion done (Bug 5343: table aqorders: DROP serialid and subscription fields and ADD subscriptionid, table subscription: ADD reneweddate)\n";
SetVersion ($DBversion);
}
=head1 FUNCTIONS =head1 FUNCTIONS
=head2 TableExists($table) =head2 TableExists($table)

View file

@ -1,17 +1,22 @@
<fieldset id="acqui_basket_add"> <fieldset id="acqui_basket_add">
<legend>Add order to basket</legend> <legend>Add order to basket</legend>
[% IF has_budgets %] [% IF has_budgets %]
<form action="/cgi-bin/koha/acqui/neworderbiblio.pl" method="post"> <ul>
<input type="hidden" name="booksellerid" value="[% booksellerid %]" /> <li>
<input type="hidden" name="basketno" value="[% basketno %]" /> <label for="q">From an existing record: </label>
<ul><li><label for="q">From an existing record: </label><input id="q" type="text" size="25" name="q" /> <form action="/cgi-bin/koha/acqui/neworderbiblio.pl" method="post">
<input type="submit" class="submit" value="Search" /></li> <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
<input type="hidden" name="basketno" value="[% basketno %]" />
<input id="q" type="text" size="25" name="q" />
<input type="submit" class="submit" value="Search" />
</form>
</li>
<li><a href="/cgi-bin/koha/acqui/newordersuggestion.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">From a suggestion</a></li> <li><a href="/cgi-bin/koha/acqui/newordersuggestion.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">From a suggestion</a></li>
<li><a href="/cgi-bin/koha/acqui/newordersubscription.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">From a subscription</a></li>
<li><a href="/cgi-bin/koha/acqui/neworderempty.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">From a new (empty) record</a></li> <li><a href="/cgi-bin/koha/acqui/neworderempty.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">From a new (empty) record</a></li>
<li><a href="/cgi-bin/koha/acqui/z3950_search.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">From an external source</a></li> <li><a href="/cgi-bin/koha/acqui/z3950_search.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">From an external source</a></li>
<li><a href="/cgi-bin/koha/acqui/addorderiso2709.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]"> From a staged file</a></li> <li><a href="/cgi-bin/koha/acqui/addorderiso2709.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]"> From a staged file</a></li>
</ul> </ul>
</form>
[% ELSE %] [% ELSE %]
You can't create any orders unless you first <a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">define a budget and a fund</a>. You can't create any orders unless you first <a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">define a budget and a fund</a>.
[% END %] [% END %]

View file

@ -0,0 +1,54 @@
<div id="advsearch">
<form action="" method="get">
<fieldset class="brief">
<a id="unfold_advsearch" style="cursor:pointer" onclick="$('#advsearch_form').slideToggle(400);">Advanced search</a>
<div id="advsearch_form" style="display:none">
<ol>
<li>
<label for="issn">ISSN:</label>
<input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter %]" />
</li>
<li>
<label for="title">Title:</label>
<input type="text" id="title" name="title_filter" value="[% title_filter %]" />
</li>
<li>
<label for="ean">EAN:</label>
<input type="text" id="ean" name="EAN_filter" value="[% EAN_filter %]" />
</li>
<li>
<label for="publisher">Publisher:</label>
<input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter %]" />
</li>
<li>
<label for="supplier">Supplier:</label>
<input type="text" id="supplier" name="supplier_filter" value="[% supplier_filter %]" />
</li>
<li>
<label for="branch">Branch:</label>
<select id="branch" name="branch_filter">
<option value="">All</option>
[% FOREACH branch IN branches_loop %]
[% IF (branch.selected) %]
<option selected="branch.selected" value="[% branch.branchcode %]">[% branch.branchname %]</option>
[% ELSE %]
<option value="[% branch.branchcode %]">[% branch.branchname %]</option>
[% END %]
[% END %]
</select>
</li>
</ol>
<input type="hidden" name="searched" value="1" />
[% IF (booksellerid) %]
<input type="hidden" name="booksellerid" value="[% booksellerid %]" />
[% END %]
[% IF (basketno) %]
<input type="hidden" name="basketno" value="[% basketno %]" />
[% END %]
<fieldset class="action">
<input type="submit" value="Search" />
</fieldset>
</div>
</fieldset>
</form>
</div>

View file

@ -361,46 +361,48 @@ $(document).ready(function()
</fieldset> </fieldset>
[% END %] [% END %]
[% IF (AcqCreateItemOrdering) %] [% UNLESS subscriptionid %][% # it is a suggestion, we have not items %]
[% IF (AcqCreateItemOrdering) %]
<div id="items_list" style="display:none"> <div id="items_list" style="display:none">
<p><b>Items list</b></p> <p><b>Items list</b></p>
<div style="width:100%;overflow:auto;"> <div style="width:100%;overflow:auto;">
<table> <table>
<thead> <thead>
<tr> <tr>
<th>&nbsp;</th> <th>&nbsp;</th>
<th>&nbsp;</th> <th>&nbsp;</th>
<th>Barcode</th> <th>Barcode</th>
<th>Home library</th> <th>Home library</th>
<th>Holding library</th> <th>Holding library</th>
<th>Not for loan</th> <th>Not for loan</th>
<th>Restricted</th> <th>Restricted</th>
<th>Location</th> <th>Location</th>
<th>Call number</th> <th>Call number</th>
<th>Copy number</th> <th>Copy number</th>
<th>Stock number</th> <th>Stock number</th>
<th>Collection code</th> <th>Collection code</th>
<th>Item type</th> <th>Item type</th>
<th>Materials</th> <th>Materials</th>
<th>Notes</th> <th>Notes</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>
<fieldset class="rows" id="itemfieldset"> <fieldset class="rows" id="itemfieldset">
<legend>Item</legend> <legend>Item</legend>
[% IF ( NoACQframework ) %] [% IF ( NoACQframework ) %]
<div class="dialog message">No ACQ framework, using default. You should create a framework with code ACQ, the items framework would be used</div> <div class="dialog message">No ACQ framework, using default. You should create a framework with code ACQ, the items framework would be used</div>
[% END %] [% END %]
<div id="outeritemblock"></div> <div id="outeritemblock"></div>
</fieldset> </fieldset>
[% END %][%# UNLESS subscriptionid %]
[% END %][%# IF (AcqCreateItemOrdering) %] [% END %][%# IF (AcqCreateItemOrdering) %]
<fieldset class="rows"> <fieldset class="rows">
<legend>Accounting Details</legend> <legend>Accounting Details</legend>
@ -412,9 +414,17 @@ $(document).ready(function()
[% ELSE %] [% ELSE %]
<label class="required" for="quantity">Quantity: </label> <label class="required" for="quantity">Quantity: </label>
[% IF (AcqCreateItemOrdering) %] [% IF (AcqCreateItemOrdering) %]
<input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="0" /> [% IF subscriptionid %]
<input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="1" />
[% ELSE %]
<input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="0" />
[% END %]
[% ELSE %] [% ELSE %]
<input type="text" size="20" id="quantity" name="quantity" value="[% quantityrec %]" onchange="updateCosts();" /> [% IF subscriptionid %]
<input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="1" />
[% ELSE %]
<input type="text" size="20" id="quantity" name="quantity" value="[% quantityrec %]" onchange="updateCosts();" />
[% END %]
[% END %] [% END %]
[% END %] [% END %]
<!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, usefull when receiveing an order --> <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, usefull when receiveing an order -->
@ -586,14 +596,19 @@ $(document).ready(function()
[% END %] [% END %]
</span> </span>
</li> </li>
</ol> </ol>
</fieldset> </fieldset>
<fieldset class="action"> <fieldset class="action">
<input type="hidden" name="subscriptionid" value="[% subscriptionid %]" />
<input type="submit" value="Save" /> <input type="submit" value="Save" />
[% IF (suggestionid) %] [% IF (suggestionid) %]
<a class="cancel" href="/cgi-bin/koha/acqui/newordersuggestion.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Cancel</a> <a class="cancel" href="/cgi-bin/koha/acqui/newordersuggestion.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Cancel</a>
[% ELSE %] [% ELSE %]
<a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Cancel</a> [% IF subscriptionid %]
<a class="cancel" href="/cgi-bin/koha/acqui/newordersubscription.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Cancel</a>
[% ELSE %]
<a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Cancel</a>
[% END %]
[% END %] [% END %]
</fieldset> </fieldset>
</form> </form>

View file

@ -0,0 +1,120 @@
[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Serials [% biblionumber %]</title>
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
[% INCLUDE 'datatables-strings.inc' %]
<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
<script type="text/javascript">
//<![CDATA[
function updateRowsVisibility(show_only_renewed) {
if ( show_only_renewed ) {
$("#srlt [data-reneweddate='']").hide();
} else {
$("#srlt > tbody > tr").show();
}
}
[% IF (dateformat == 'metric') %]
dt_add_type_uk_date();
[% END %]
$(document).ready(function() {
$("#srlt").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
[% IF (dateformat == 'metric') %]
{ "aTargets": [ -2 ], "sType": "uk_date" },
[% END %]
],
} ) )
$("#show_only_renewed").click(function(){
updateRowsVisibility($(this+":checked").val());
});
$("#show_only_renewed").attr('checked', false);
updateRowsVisibility(false);
$("#advsearch_form").show();
});
//]]>
</script>
</head>
<body>
[% INCLUDE 'header.inc' %]
[% INCLUDE 'acquisitions-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% supplierid %]">[% booksellername %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Shopping Basket [% basketno %]</a> &rsaquo; Add order from a subscription</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<h2>Serials subscriptions</h2>
[% IF (done_searched) %]
<label for="show_only_renewed">
<input type="checkbox" style="vertical-align: middle;" id="show_only_renewed" />
Show only renewed
</label>
[% IF (subs_loop) %]
<table id="srlt">
<thead>
<tr>
<th>ISSN</th>
<th>Title</th>
<th> Notes </th>
<th>Library</th>
<th>Call number</th>
<th>Expiration date</th>
<th></th>
</tr>
</thead>
<tbody>
[% FOREACH sub IN subs_loop %]
<tr data-reneweddate="[% sub.reneweddate %]" >
<td>[% sub.issn %]</td>
<td><a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% sub.subscriptionid %]" class="button" title="subscription detail">[% IF (sub.title) %][% sub.title |html %][% ELSE %]
---
[% END %][% IF (sub.unititle) %], [% sub.unititle %][% END %]</a>
</td>
<td>[% notes %]
[% IF (sub.internalnotes) %]([% sub.internalnotes %])[% END %]
</td>
<td>
[% IF (sub.branchcode) %][% sub.branchcode %][% END %]
</td>
<td>
[% IF (sub.callnumber) %][% sub.callnumber %][% END %]
</td>
<td>
[% IF (sub.enddate) %][% sub.enddate | $KohaDates %][% END %]
</td>
<td>
[% IF (sub.alreadyOnOrder) %]
Outstanding order (only one order per subscription is allowed)
[% ELSIF not sub.aqbooksellerid || booksellerid == sub.aqbooksellerid%]
<a href="/cgi-bin/koha/acqui/neworderempty.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]&amp;biblionumber=[% sub.biblionumber %]&amp;subscriptionid=[% sub.subscriptionid %]" title="Order this one">
Order
</a>
[% ELSE %]
<a title="This subscription depends on another supplier" style="cursor:help">Cannot be ordered</a>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% ELSE %]
<p>Sorry, there is no result for your search.</p>
[% END %]
[% ELSE %]
<p>Use the search form on the left to find subscriptions.</p>
[% END %]
</div>
</div>
<div class="yui-b">
[% INCLUDE 'subscriptions-search.inc' %]
[% INCLUDE 'acquisitions-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]

View file

@ -122,7 +122,7 @@ function IEEventHandler_KeyDown() {
$(document).ready(function() { $(document).ready(function() {
[% IF (AcqCreateItemReceiving) %] [% IF (AcqCreateItemReceiving) %]
cloneItemBlock(0, '[% UniqueItemFields %]'); cloneItemBlock(0, '[% UniqueItemFields %]');
[% ELSIF (AcqCreateItem == 'ordering') %] [% ELSIF (AcqCreateItem == 'ordering') && not subscriptionid %]
$("input[name='items_to_receive']").change(function() { $("input[name='items_to_receive']").change(function() {
CalcQtyToReceive(); CalcQtyToReceive();
}); });
@ -218,17 +218,19 @@ function IEEventHandler_KeyDown() {
</div> </div>
</div> </div>
<fieldset class="rows" id="itemfieldset"> [% UNLESS subscriptionid %]
<legend>Item</legend> <fieldset class="rows" id="itemfieldset">
[% IF ( NoACQframework ) %] <legend>Item</legend>
<p class="required"> [% IF ( NoACQframework ) %]
No ACQ framework, using default. You should create a <p class="required">
framework with code ACQ, the items framework would be No ACQ framework, using default. You should create a
used framework with code ACQ, the items framework would be
</p> used
[% END %] </p>
<div id="outeritemblock"></div> [% END %]
</fieldset> <div id="outeritemblock"></div>
</fieldset>
[% END %]
[% ELSIF (AcqCreateItem == 'ordering') %] [% ELSIF (AcqCreateItem == 'ordering') %]
[% IF (items.size) %] [% IF (items.size) %]
<h5>Items</h5> <h5>Items</h5>
@ -294,35 +296,39 @@ function IEEventHandler_KeyDown() {
<li><label for="bookfund">Budget: </label><span> [% bookfund %] </span></li> <li><label for="bookfund">Budget: </label><span> [% bookfund %] </span></li>
<li><label for="creator">Created by: </label><span> [% IF ( memberfirstname and membersurname ) %][% IF ( memberfirstname ) %][% memberfirstname %][% END %] [% membersurname %][% ELSE %]No name[% END %]</span></li> <li><label for="creator">Created by: </label><span> [% IF ( memberfirstname and membersurname ) %][% IF ( memberfirstname ) %][% memberfirstname %][% END %] [% membersurname %][% ELSE %]No name[% END %]</span></li>
<li><label for="quantity_to_receive">Quantity to receive: </label><span class="label"> <li><label for="quantity_to_receive">Quantity to receive: </label><span class="label">
[% IF ( edit ) %] [% IF ( edit and not subscriptionid) %]
<input type="text" id="quantity_to_receive" name="quantity" value="[% quantity %]" /> <input type="text" id="quantity_to_receive" name="quantity" value="[% quantity %]" />
[% ELSE %] [% ELSE%]
<input type="text" readonly="readonly" id="quantity_to_receive" name="quantity" value="[% quantity %]" /> <input type="text" readonly="readonly" id="quantity_to_receive" name="quantity" value="[% quantity %]" />
[% END %] [% END %]
</span></li> </span></li>
<li><label for="quantity">Quantity received: </label> <li><label for="quantity">Quantity received: </label>
[% IF (AcqCreateItemReceiving) %] [% IF (AcqCreateItemReceiving) %]
<input readonly="readonly" type="text" size="20" name="quantityrec" id="quantity" value="0" /> [% IF ( subscriptionid ) %]
<input readonly="readonly" type="text" size="20" name="quantityrec" id="quantity" value="1" />
[% ELSE %]
<input readonly="readonly" type="text" size="20" name="quantityrec" id="quantity" value="0" />
[% END %]
[% ELSE %] [% ELSE %]
[% IF ( quantityreceived ) %] [% IF ( quantityreceived ) %]
[% IF ( edit ) %] [% IF ( edit ) %]
<input type="text" size="20" name="quantityrec" id="quantity" value="[% quantityreceived %]" /> <input type="text" size="20" name="quantityrec" id="quantity" value="[% quantityreceived %]" />
<input id="origquantityrec" READONLY type="hidden" name="origquantityrec" value="[% quantityreceived %]" /> <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="[% quantityreceived %]" />
[% ELSE %] [% ELSE %]
[% IF ( items ) %] [% IF ( items ) %]
<input READONLY type="text" size="20" name="quantityrec" id="quantity" value="[% quantityreceivedplus1 %]" /> <input readonly="readonly" type="text" size="20" name="quantityrec" id="quantity" value="[% quantityreceivedplus1 %]" />
[% ELSE %] [% ELSE %]
<input type="text" size="20" name="quantityrec" id="quantity" value="[% quantityreceivedplus1 %]" /> <input type="text" size="20" name="quantityrec" id="quantity" value="[% quantityreceivedplus1 %]" />
[% END %] [% END %]
<input id="origquantityrec" READONLY type="hidden" name="origquantityrec" value="[% quantityreceived %]" /> <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="[% quantityreceived %]" />
[% END %] [% END %]
[% ELSE %] [% ELSE %]
[% IF ( items ) %] [% IF ( subscriptionid ) %]
<input type="text" id="quantity" size="20" name="quantityrec" value="1" /> <input type="text" readonly="readonly" id="quantity" size="20" name="quantityrec" value="1" />
[% ELSE %] [% ELSE %]
<input type="text" size="20" id="quantity" name="quantityrec" value="1" /> <input type="text" id="quantity" size="20" name="quantityrec" value="1" />
[% END %] [% END %]
<input id="origquantityrec" READONLY type="hidden" name="origquantityrec" value="0" /> <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="0" />
[% END %] [% END %]
<div id="qtyrecerror" style="display:none"> <div id="qtyrecerror" style="display:none">
<p class="error">Warning, you have entered more items than expected. <p class="error">Warning, you have entered more items than expected.

View file

@ -17,6 +17,7 @@
</div> </div>
</div> </div>
<div class="yui-b"> <div class="yui-b">
[% INCLUDE 'subscriptions-search.inc' %]
[% INCLUDE 'serials-menu.inc' %] [% INCLUDE 'serials-menu.inc' %]
</div> </div>
</div> </div>

View file

@ -129,7 +129,7 @@ $(document).ready(function() {
<h2>Acquisition details</h2> <h2>Acquisition details</h2>
<table> <table>
<thead> <thead>
<tr><th></th><th>Price exc. taxes</th><th>Price inc. taxes</th><th>fund</th><th></th></tr> <tr><th></th><th>Price exc. taxes</th><th>Price inc. taxes</th><th>Fund</th><th></th></tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
@ -139,7 +139,7 @@ $(document).ready(function() {
<td>[% budget_name_ordered %]</td> <td>[% budget_name_ordered %]</td>
<td> <td>
[% IF ( ordered_exists ) %] [% IF ( ordered_exists ) %]
<a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">See basket informations</a> <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">See basket information</a>
[% END %] [% END %]
</td> </td>
</tr> </tr>
@ -150,7 +150,7 @@ $(document).ready(function() {
<td>[% budget_name_spent %]</td> <td>[% budget_name_spent %]</td>
<td> <td>
[% IF ( spent_exists ) %] [% IF ( spent_exists ) %]
<a href="/cgi-bin/koha/acqui/invoice.pl?invoicenumber=[% invoicenumber %]">See invoice informations</a> <a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% invoiceid %]">See invoice information</a>
[% END %] [% END %]
</td> </td>
</tr> </tr>

View file

@ -16,7 +16,7 @@ the kohaversion is divided in 4 parts :
use strict; use strict;
sub kohaversion { sub kohaversion {
our $VERSION = '3.11.00.115'; our $VERSION = '3.11.00.116';
# version needs to be set this way # version needs to be set this way
# so that it can be picked up by Makefile.PL # so that it can be picked up by Makefile.PL
# during install # during install

View file

@ -106,7 +106,7 @@ my $branches = GetBranches();
my @branches_loop; my @branches_loop;
foreach (sort keys %$branches){ foreach (sort keys %$branches){
my $selected = 0; my $selected = 0;
$selected = 1 if( $branch eq $_ ); $selected = 1 if( defined $branch and $branch eq $_ );
push @branches_loop, { push @branches_loop, {
branchcode => $_, branchcode => $_,
branchname => $branches->{$_}->{'branchname'}, branchname => $branches->{$_}->{'branchname'},

View file

@ -15,10 +15,12 @@
# with Koha; if not, write to the Free Software Foundation, Inc., # with Koha; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use strict; use Modern::Perl;
use warnings;
use CGI; use CGI;
use C4::Acquisition;
use C4::Auth; use C4::Auth;
use C4::Bookseller qw/GetBookSellerFromId/;
use C4::Budgets;
use C4::Koha; use C4::Koha;
use C4::Dates qw/format_date/; use C4::Dates qw/format_date/;
use C4::Serials; use C4::Serials;
@ -122,34 +124,33 @@ my $numberpattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($su
my $default_bib_view = get_default_view(); my $default_bib_view = get_default_view();
my ( $order, $bookseller, $tmpl_infos ); my ( $order, $bookseller, $tmpl_infos );
# FIXME = see http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5335#c52 if ( defined $subscriptionid ) {
#if ( defined $subscriptionid ) { my $lastOrderNotReceived = GetLastOrderNotReceivedFromSubscriptionid $subscriptionid;
# my $lastOrderNotReceived = GetLastOrderNotReceivedFromSubscriptionid $subscriptionid; my $lastOrderReceived = GetLastOrderReceivedFromSubscriptionid $subscriptionid;
# my $lastOrderReceived = GetLastOrderReceivedFromSubscriptionid $subscriptionid; if ( defined $lastOrderNotReceived ) {
# if ( defined $lastOrderNotReceived ) { my $basket = GetBasket $lastOrderNotReceived->{basketno};
# my $basket = GetBasket $lastOrderNotReceived->{basketno}; my $bookseller = GetBookSellerFromId $basket->{booksellerid};
# my $bookseller = GetBookSellerFromId $basket->{booksellerid}; ( $tmpl_infos->{valuegsti_ordered}, $tmpl_infos->{valuegste_ordered} ) = get_value_with_gst_params ( $lastOrderNotReceived->{ecost}, $lastOrderNotReceived->{gstrate}, $bookseller );
# ( $tmpl_infos->{valuegsti_ordered}, $tmpl_infos->{valuegste_ordered} ) = get_value_with_gst_params ( $lastOrderNotReceived->{ecost}, $lastOrderNotReceived->{gstrate}, $bookseller ); $tmpl_infos->{valuegsti_ordered} = sprintf( "%.2f", $tmpl_infos->{valuegsti_ordered} );
# $tmpl_infos->{valuegsti_ordered} = sprintf( "%.2f", $tmpl_infos->{valuegsti_ordered} ); $tmpl_infos->{valuegste_ordered} = sprintf( "%.2f", $tmpl_infos->{valuegste_ordered} );
# $tmpl_infos->{valuegste_ordered} = sprintf( "%.2f", $tmpl_infos->{valuegste_ordered} ); $tmpl_infos->{budget_name_ordered} = GetBudgetName $lastOrderNotReceived->{budget_id};
# $tmpl_infos->{budget_name_ordered} = GetBudgetName $lastOrderNotReceived->{budget_id}; $tmpl_infos->{basketno} = $lastOrderNotReceived->{basketno};
# $tmpl_infos->{basketno} = $lastOrderNotReceived->{basketno}; $tmpl_infos->{ordered_exists} = 1;
# $tmpl_infos->{ordered_exists} = 1; }
# } if ( defined $lastOrderReceived ) {
# if ( defined $lastOrderReceived ) { my $basket = GetBasket $lastOrderReceived->{basketno};
# my $basket = GetBasket $lastOrderReceived->{basketno}; my $bookseller = GetBookSellerFromId $basket->{booksellerid};
# my $bookseller = GetBookSellerFromId $basket->{booksellerid}; ( $tmpl_infos->{valuegsti_spent}, $tmpl_infos->{valuegste_spent} ) = get_value_with_gst_params ( $lastOrderReceived->{unitprice}, $lastOrderReceived->{gstrate}, $bookseller );
# ( $tmpl_infos->{valuegsti_spent}, $tmpl_infos->{valuegste_spent} ) = get_value_with_gst_params ( $lastOrderReceived->{unitprice}, $lastOrderReceived->{gstrate}, $bookseller ); $tmpl_infos->{valuegsti_spent} = sprintf( "%.2f", $tmpl_infos->{valuegsti_spent} );
# $tmpl_infos->{valuegsti_spent} = sprintf( "%.2f", $tmpl_infos->{valuegsti_spent} ); $tmpl_infos->{valuegste_spent} = sprintf( "%.2f", $tmpl_infos->{valuegste_spent} );
# $tmpl_infos->{valuegste_spent} = sprintf( "%.2f", $tmpl_infos->{valuegste_spent} ); $tmpl_infos->{budget_name_spent} = GetBudgetName $lastOrderReceived->{budget_id};
# $tmpl_infos->{budget_name_spent} = GetBudgetName $lastOrderReceived->{budget_id}; $tmpl_infos->{invoiceid} = $lastOrderReceived->{invoiceid};
# $tmpl_infos->{invoicenumber} = $lastOrderReceived->{booksellerinvoicenumber}; $tmpl_infos->{spent_exists} = 1;
# $tmpl_infos->{spent_exists} = 1; }
# } }
#}
$template->param( $template->param(
subscriptionid => $subscriptionid, subscriptionid => $subscriptionid,
serialslist => \@serialslist, serialslist => \@serialslist,
hasRouting => $hasRouting, hasRouting => $hasRouting,
routing => C4::Context->preference("RoutingSerials"), routing => C4::Context->preference("RoutingSerials"),
@ -171,7 +172,9 @@ $template->param(
default_bib_view => $default_bib_view, default_bib_view => $default_bib_view,
(uc(C4::Context->preference("marcflavour"))) => 1, (uc(C4::Context->preference("marcflavour"))) => 1,
show_acquisition_details => defined $tmpl_infos->{ordered_exists} || defined $tmpl_infos->{spent_exists} ? 1 : 0, show_acquisition_details => defined $tmpl_infos->{ordered_exists} || defined $tmpl_infos->{spent_exists} ? 1 : 0,
); basketno => $order->{basketno},
%$tmpl_infos,
);
output_html_with_http_headers $query, $cookie, $template->output; output_html_with_http_headers $query, $cookie, $template->output;
@ -189,3 +192,36 @@ sub get_default_view {
} }
return 'detail'; return 'detail';
} }
sub get_value_with_gst_params {
my $value = shift;
my $gstrate = shift;
my $bookseller = shift;
if ( $bookseller->{listincgst} ) {
return ( $value, $value / ( 1 + $gstrate ) );
} else {
return ( $value * ( 1 + $gstrate ), $value );
}
}
sub get_gste {
my $value = shift;
my $gstrate = shift;
my $bookseller = shift;
if ( $bookseller->{invoiceincgst} ) {
return $value / ( 1 + $gstrate );
} else {
return $value;
}
}
sub get_gst {
my $value = shift;
my $gstrate = shift;
my $bookseller = shift;
if ( $bookseller->{invoiceincgst} ) {
return $value / ( 1 + $gstrate ) * $gstrate;
} else {
return $value * ( 1 + $gstrate ) - $value;
}
}