Bugzilla – Attachment 22534 Details for
Bug 4456
Enable addition of PO Number to order
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug-4456-Enable addition of PO Number to order
Bug-4456-Enable-addition-of-PO-Number-to-order.patch (text/plain), 7.65 KB, created by
Chris Cormack
on 2013-10-30 07:21:22 UTC
(
hide
)
Description:
Bug-4456-Enable addition of PO Number to order
Filename:
MIME Type:
Creator:
Chris Cormack
Created:
2013-10-30 07:21:22 UTC
Size:
7.65 KB
patch
obsolete
>From eb1486df737d7942bdab092dc0806cd953f42b7e Mon Sep 17 00:00:00 2001 >From: Amit Gupta <amitddng135@gmail.com> >Date: Thu, 17 Oct 2013 21:48:47 +0530 >Subject: [PATCH] Bug-4456-Enable addition of PO Number to order > >The ability to have a running purchase order sequence > >Test Plan: >1) Set systempreference EnablePONumber to Enable for auto generating purchase order number. >2) Select prefix for ex: Direct to requestor (Create PONUMPREFIX in authorized value and insert values). >3) Create an basket. >4) Create an order. >5) Select prefix value for ex: Direct to requestor. >6) Purchase order number will come in purchase order section for ex: DIR0000001. >7) Click on save button. >--- > C4/Acquisition.pm | 2 +- > acqui/neworderempty.pl | 4 ++ > acqui/poseqnextvalue.pl | 45 ++++++++++++++++++++++ > .../prog/en/modules/acqui/neworderempty.tt | 44 +++++++++++++++++++++ > .../en/modules/admin/preferences/acquisitions.pref | 6 +++ > 5 files changed, 100 insertions(+), 1 deletion(-) > create mode 100755 acqui/poseqnextvalue.pl > >diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm >index 8c40dcd..53a8982 100644 >--- a/C4/Acquisition.pm >+++ b/C4/Acquisition.pm >@@ -1165,7 +1165,7 @@ sub ModOrder { > #See report 10110 and guided_reports.pl > my $query = "UPDATE aqorders SET "; > >- foreach my $orderinfokey (grep(!/ordernumber/, keys %$orderinfo)){ >+ foreach my $orderinfokey (keys %$orderinfo){ > # ... and skip hash entries that are not in the aqorders table > # FIXME : probably not the best way to do it (would be better to have a correct hash) > next unless grep(/^$orderinfokey$/, @$colnames); >diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl >index 9c9eed3..157761f 100755 >--- a/acqui/neworderempty.pl >+++ b/acqui/neworderempty.pl >@@ -357,11 +357,15 @@ my @gst_values = map { > option => $_ > }, split( '\|', C4::Context->preference("gist") ); > >+ > $template->param( > existing => $biblionumber, > ordernumber => $ordernumber, > # basket informations > basketno => $basketno, >+ purchaseordernumber => $data->{purchaseordernumber}, >+ prefix => GetAuthorisedValues('PONUMPREFIX'), >+ enableponumber => C4::Context->preference('EnablePONumber'), > basketname => $basket->{'basketname'}, > basketnote => $basket->{'note'}, > booksellerid => $basket->{'booksellerid'}, >diff --git a/acqui/poseqnextvalue.pl b/acqui/poseqnextvalue.pl >new file mode 100755 >index 0000000..81b6183 >--- /dev/null >+++ b/acqui/poseqnextvalue.pl >@@ -0,0 +1,45 @@ >+#!/usr/bin/perl >+ >+# This file is part of Koha. >+# >+# Copyright (C) Amit Gupta (amitddng135@gmail.com) >+# >+# 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. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use strict; >+use warnings; >+use CGI; >+use C4::Auth; >+use C4::Output; >+use JSON; >+ >+my $input = new CGI; >+ >+my $generateno = sprintf( "%0*d", "7", getnext() ); >+ >+print $input->header('application/json'); >+my $json = { generateno => $generateno, }; >+my $json_text = to_json( $json, { utf8 => 1 } ); >+print $json_text; >+ >+sub getnext { >+ my $dbh = C4::Context->dbh; >+ # next two lines should be wrapped in a transaction >+ $dbh->do( >+q{UPDATE po_sequence set seq_value = seq_value + 1 where seqid = 'POSEQ'} >+ ); >+ my @row = $dbh->selectrow_array( >+ q{SELECT seq_value from po_sequence where seqid = 'POSEQ'}); >+ return $row[0]; >+} >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 c261530..08d548e 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt >@@ -144,6 +144,24 @@ $(document).ready(function() > }); > //]]> > </script> >+<script language="Javascript" type="text/javascript"> >+ $(document).ready(function(){ >+ $('#ponumber').change(function() { >+ $.ajax({url:"/cgi-bin/koha/acqui/poseqnextvalue.pl", >+ type: "get", >+ async: false, >+ dataType: 'json', >+ success:function(generateno) { >+ var len = document.getElementsByName("purchaseordernumber").length - 1; >+ var t1 = document.getElementById('ponumber').value; >+ var t2 = generateno.generateno; >+ if (t1.length > 0 && t2.length > 0) { >+ document.getElementsByName("purchaseordernumber")[len].value = t1+t2; >+ } >+ }}); >+ }); >+}); >+</script> > </head> > <body id="acq_neworderempty" class="acq"> > >@@ -538,6 +556,32 @@ $(document).ready(function() > <label for="notes">Notes: </label> > <textarea id="notes" cols="30" rows="3" name="notes" >[% IF ( notes ) %][% notes %][% END %]</textarea> > </li> >+ [% IF enableponumber %] >+ [% IF ( ordernumber ) %] >+ <li> >+ <label for="purchaseordernumber">Purchase order: </label> >+ <input type="text" id="purchaseordernumber" size="20" name="purchaseordernumber" value="[% purchaseordernumber %]"/> >+ </li> >+ [% ELSE %] >+ <li><p>Select ordernumber prefix for auto-generated purchase order number.</p></li> >+ <li> >+ <label for="prefix">Prefix:</label> >+ [% IF prefix %] >+ <select id="ponumber" onchange="Calculatepurorderno(this.value)"> >+ <option value="">Select</option> >+ [% FOREACH d IN prefix %] >+ <option value="[% d.authorised_value %]">[% d.lib %]</option> >+ [% END %] >+ </select> >+ [% ELSE %] >+ <span id="pordernumber">No prefix authorized values found! Please create one or more authorized values with the category PONUMPREFIX.</span> >+ [% END %] >+ </li> >+ <label for="purchaseordernumber">Purchase order: </label> >+ <input type="text" id="purchaseordernumber" size="20" name="purchaseordernumber" value="[% purchaseordernumber %]"/> >+ </li> >+ [% END %] >+ [% END %] > <li><div class="hint">The 2 following fields are available for your own usage. They can be useful for statistical purposes</div> > <label for="sort1">Statistic 1: </label> > <span id="sort1_zone"> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/acquisitions.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/acquisitions.pref >index f74f991..4a1a6c2 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/acquisitions.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/acquisitions.pref >@@ -42,6 +42,12 @@ Acquisitions: > yes: Warn > no: "Do not warn" > - when the librarian tries to create an invoice with a duplicate number. >+ - >+ - pref: EnablePONumber >+ choices: >+ yes: Enable >+ no: Disable >+ - Enable purchase order number. > > Printing: > - >-- >1.8.4.rc3
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 4456
:
20283
|
22031
|
22032
| 22534 |
22535