Bugzilla – Attachment 19211 Details for
Bug 10498
Place a hold at time of ordering
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Place Hold on Order
0001-Bug-10498-Place-Hold-on-Order.patch (text/plain), 10.57 KB, created by
Amit Gupta
on 2013-06-24 12:12:03 UTC
(
hide
)
Description:
Place Hold on Order
Filename:
MIME Type:
Creator:
Amit Gupta
Created:
2013-06-24 12:12:03 UTC
Size:
10.57 KB
patch
obsolete
>From 6cd52173c8e9595bcc116e0851f704bec062828f Mon Sep 17 00:00:00 2001 >From: Amit Gupta <amitddng135@gmail.com> >Date: Sat, 22 Jun 2013 23:18:55 +0530 >Subject: [PATCH] Bug 10498 - Place Hold on Order > >When creating an order, to have the option to place a hold against the ordered >item. > >Test Plan: >1) Choose Systempreference AcqCreateItem to Create an item when placing an order. >2) Create an order. >3) Click on Modify link. >4) Reserve for tab will come enter the patron cardnumber or name and click on >Place hold button. >5) Page will go to the request.pl and it will check the circulation rule. >6) Click on Place hold and return to order page. >7) It will redirect to the neworderempty.pl page. > >Sponsored-by: Staffordshire University/Halton Borough Council/PTFS Europe >--- > acqui/neworderempty.pl | 21 +++++++ > .../prog/en/modules/acqui/neworderempty.tt | 61 +++++++++++++++++++- > .../prog/en/modules/reserve/request.tt | 12 +++- > reserve/placerequest.pl | 8 ++- > reserve/request.pl | 7 ++- > 5 files changed, 104 insertions(+), 5 deletions(-) > >diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl >index ce96ff3..f282a1f 100755 >--- a/acqui/neworderempty.pl >+++ b/acqui/neworderempty.pl >@@ -196,6 +196,15 @@ else { #modify order > my $suggestion; > $suggestion = GetSuggestionInfo($suggestionid) if $suggestionid; > >+my ( undef, $reserves ) = >+ C4::Reserves::GetReservesFromBiblionumber( $biblionumber, 1 ); >+foreach my $res ( @{$reserves} ) { >+ my $reserveborrower = GetMember( borrowernumber => $res->{borrowernumber} ); >+ $res->{cardnumber} = $reserveborrower->{cardnumber}; >+ $res->{firstname} = $reserveborrower->{firstname}; >+ $res->{surname} = $reserveborrower->{surname}; >+} >+ > # get currencies (for change rates calcs if needed) > my $active_currency = GetCurrency(); > my $default_currency; >@@ -357,6 +366,8 @@ my @gst_values = map { > option => $_ > }, split( '\|', C4::Context->preference("gist") ); > >+my $items = get_items_list($ordernumber); >+ > $template->param( > existing => $biblionumber, > ordernumber => $ordernumber, >@@ -400,6 +411,7 @@ $template->param( > ean => $data->{'ean'}, > seriestitle => $data->{'seriestitle'}, > itemtypeloop => \@itemtypes, >+ itemnumber => $items, > quantity => $data->{'quantity'}, > quantityrec => $data->{'quantity'}, > rrp => $data->{'rrp'}, >@@ -414,6 +426,7 @@ $template->param( > barcode_subfield => $barcode_subfield, > import_batch_id => $import_batch_id, > subscriptionid => $subscriptionid, >+ reserveloop => $reserves, > acqcreate => C4::Context->preference("AcqCreateItem") eq "ordering" ? 1 : "", > (uc(C4::Context->preference("marcflavour"))) => 1 > ); >@@ -554,3 +567,11 @@ sub Load_Duplicate { > > output_html_with_http_headers $input, $cookie, $template->output; > } >+ >+sub get_items_list { >+ my $ordernumber = shift; >+ my $list = []; >+ >+ @{$list} = map { GetItem($_) } GetItemnumbersFromOrder($ordernumber); >+ return $list; >+} >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >index 87cfa8a..3e7d307 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >@@ -2,7 +2,6 @@ > [% INCLUDE 'doc-head-open.inc' %] > <title>Koha › Acquisitions › Basket [% basketno %] › [% IF ( ordernumber ) %]Modify order details (line #[% ordernumber %])[% ELSE %]New order[% END %]</title> > [% INCLUDE 'doc-head-close.inc' %] >- > <script type="text/javascript" src="[% themelang %]/js/acq.js"></script> > [% INCLUDE 'additem.js.inc' %] > <script type="text/javascript" src="[% themelang %]/js/additem.js"></script> >@@ -147,6 +146,32 @@ $(document).ready(function() > } > }); > }); >+[% IF (itemnumber) %] >+ $(document).ready(function() { >+ [% UNLESS ( borrowernumber || borrower_list ) %] >+ [% IF ( CircAutocompl ) %] >+ $( "#patron" ).autocomplete({ >+ source: "/cgi-bin/koha/circ/ysearch.pl", >+ minLength: 3, >+ select: function( event, ui ) { >+ $( "#patron" ).val( ui.item.cardnumber ); >+ $( "#holds_patronsearch" ).submit(); >+ return false; >+ } >+ }) >+ .data( "autocomplete" )._renderItem = function( ul, item ) { >+ return $( "<li></li>" ) >+ .data( "item.autocomplete", item ) >+ .append( "<a>" + item.surname + ", " + item.firstname + >+ " (" + item.cardnumber + ") <small>" + item.address + >+ " " + item.city + " " + item.zipcode + " " + >+ item.country + "</small></a>" ) >+ .appendTo( ul ); >+ }; >+ [% END %] >+[% END %] >+ }); >+[% END %] > //]]> > </script> > </head> >@@ -211,7 +236,39 @@ $(document).ready(function() > </fieldset> > </div> > [% END %] >- >+[% IF (itemnumber) %] >+ <fieldset class="brief"> >+ <legend>Reserve for</legend> >+ <form id="holds_patronsearch" action="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]" method="post"> >+ <input type="hidden" name="biblionumber" value="[% biblionumber %]" /> >+ <input type="hidden" name="basketno" value="[% basketno %]" /> >+ <input type="hidden" name="booksellerid" value="[% booksellerid %]" /> >+ <input type="hidden" name="ordernumber" value="[% ordernumber %]" /> >+ <label for="patron">Patron: </label> >+ <div class="hint">Enter patron card number or partial name:</div> >+ <input type="text" size="40" id="patron" class="focus" name="findborrower" /> >+ <input type="submit" value="Place hold" /> >+ </form> >+ [% IF reserveloop %] >+ <table> >+ <tr> >+ <th>Priority</th> >+ <th>Cardnumber</th> >+ <th>Name</th> >+ <th>Reserve date</th> >+ </tr> >+ [% FOREACH reserve IN reserveloop %] >+ <tr> >+ <td>[% reserve.priority %]</td> >+ <td>[% reserve.cardnumber %]</td> >+ <td><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% reserve.borrowernumber%]">[% reserve.firstname %] [% reserve.surname %]</a></td> >+ <td>[% reserve.reservedate | $KohaDates %]</td> >+ </tr> >+ [% END %] >+ </table> >+ [% END %] >+ </fieldset> >+[% END %] > <form action="/cgi-bin/koha/acqui/addorder.pl" method="post" id="Aform" onsubmit="return Check(this);"> > > <fieldset class="rows"> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >index 75eea4d..c2356dd 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >@@ -280,7 +280,9 @@ function checkMultiHold() { > [% ELSE %] > <form action="placerequest.pl" method="post" onsubmit="return checkMultiHold();" name="form"> > [% END %] >- >+ <input type="hidden" size="10" name="basketno" value="[% basketno %]" /> >+ <input type="hidden" size="10" name="booksellerid" value="[% booksellerid %]" /> >+ <input type="hidden" size="10" name="ordernumber" value="[% ordernumber %]" /> > <input type="hidden" size="10" name="borrowernumber" value="[% borrowernumber %]" /> > <input type="hidden" name="type" value="str8" /> > >@@ -360,8 +362,12 @@ function checkMultiHold() { > [% ELSIF ( none_available ) %] > <input type="submit" disabled="disabled" value="Place hold" /> > [% ELSE %] >+ [% IF(basketno) %] >+ <input type="submit" value="Place hold and return to order page" /> >+ [% ELSE %] > <input type="submit" value="Place hold" /> > [% END %] >+ [% END %] > [% END %] > </fieldset> > [% FOREACH bibitemloo IN bibitemloop %] >@@ -548,8 +554,12 @@ function checkMultiHold() { > [% ELSIF ( none_available ) %] > <input type="submit" disabled="disabled" value="Place hold" /> > [% ELSE %] >+ [% IF(basketno) %] >+ <input type="submit" value="Place hold and return to order page" /> >+ [% ELSE %] > <input type="submit" value="Place hold" /> > [% END %] >+ [% END %] > [% END %] > </fieldset> > </form> >diff --git a/reserve/placerequest.pl b/reserve/placerequest.pl >index 3fe459c..27f87ae 100755 >--- a/reserve/placerequest.pl >+++ b/reserve/placerequest.pl >@@ -54,7 +54,9 @@ my $title=$input->param('title'); > my $borrower=GetMember('borrowernumber'=>$borrowernumber); > my $checkitem=$input->param('checkitem'); > my $expirationdate = $input->param('expiration_date'); >- >+my $basketno = $input->param('basketno'); >+my $ordernumber = $input->param('ordernumber'); >+my $booksellerid = $input->param('booksellerid'); > my $multi_hold = $input->param('multi_hold'); > my $biblionumbers = $multi_hold ? $input->param('biblionumbers') : ($biblionumber . '/'); > my $bad_bibs = $input->param('bad_bibs'); >@@ -125,6 +127,10 @@ if ($type eq 'str8' && $borrower){ > } > } > >+ if ($basketno) { >+ print $input->redirect("/cgi-bin/koha/acqui/neworderempty.pl?ordernumber=$ordernumber&booksellerid=$booksellerid&basketno=$basketno"); >+ } >+ > if ($multi_hold) { > if ($bad_bibs) { > $biblionumbers .= $bad_bibs; >diff --git a/reserve/request.pl b/reserve/request.pl >index aea1ff8..7c469af 100755 >--- a/reserve/request.pl >+++ b/reserve/request.pl >@@ -60,7 +60,9 @@ my ( $template, $borrowernumber, $cookie, $flags ) = get_template_and_user( > my $multihold = $input->param('multi_hold'); > $template->param(multi_hold => $multihold); > my $showallitems = $input->param('showallitems'); >- >+my $basketno = $input->param('basketno'); >+my $ordernumber = $input->param('ordernumber'); >+my $booksellerid = $input->param('booksellerid'); > # get Branches and Itemtypes > my $branches = GetBranches(); > my $itemtypes = GetItemTypes(); >@@ -171,6 +173,9 @@ if ($borrowernumber_hold && !$action) { > maxreserves => $maxreserves, > expiry => $expiry, > diffbranch => $diffbranch, >+ basketno => $basketno, >+ ordernumber => $ordernumber, >+ booksellerid => $booksellerid, > messages => $messages, > warnings => $warnings > ); >-- >1.7.9.5 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 10498
:
19211
|
22036