Commit graph

55 commits

Author SHA1 Message Date
0d24afb92c Bug 8307: QA Followup for finishreceive.pl
Only split the expression a=b on the first = sign.
Tested with the very unlikely z=x=1 :)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
2013-10-31 23:37:04 +00:00
Jonathan Druart
4b36244c73 Bug 8307: Set a value for subfields when receiving
If items are created when ordering, this patch allows to add a value for
some items subfields.

Test plan:
Define status for items.notforloan (mapping 995$o in unimarc), for
example 4:On order, 5:On treatment

Set the Syspref AcqCreateItem on "ordering".

ACQ framework : set default value = 4 for 995$o (in unimarc)

Syspref AcqItemSetSubfieldsWhenReceived : set "o=5|b='foo bar'"

When ordering the item, default status will be 4 ; when receiving the
item, status will be changed from 4 to 5. The subfield b have to contain
'foo bar'

Signed-off-by: Frederic Durand <frederic.durand@unilim.fr>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
2013-10-31 23:36:59 +00:00
Jared Camins-Esakov
480841965e Bug 10403: add ability to change fund on receipt
Right now there is no way to change the budget or fund when receiving an
item, which is annoying, particularly at the end of the fiscal year when
every item not already received has to be switched to the following
year's budget. This patch adds the ability to change the budget and fund
when receiving.

To test:
1) Apply patch.
2) Create an order for a vendor, choosing a fund to use for that order.
3) Receive the order, leaving the fund unchanged. Make sure the fund
   did not change.
4) Create another order for a vendor, choosing a fund to use for that
   order.
5) Receive the order, this time changing the fund. Make sure the fund
   is changed.
6) Run the unit test:
    > prove t/db_dependent/Acquisition.t
7) Sign off.

(Notes: this patch depends on the Acquisitions.t unit test improvements
in bug 10274; the seemingly-unrelated change in SQLHelper quiets an
irritating warning caused by the NewOrder call in ModReceiveOrder)

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-10-22 12:57:25 +00:00
Jonathan Druart
da0337b374 Bug 9987: Remove DB field aqorders.biblioitemnunmber
The DB field aqorders.biblioitemnumber seems to be unused except to get
the itype on the spent.pl page.

This information can be retrieved uising another SQL join.

Test plan:
Try a complete workflow in the acquisition module: create an order,
receive it, play with the syspref AcqCreateItem.
Check that no regression is found and that the data for existing
orders don't change.

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-02 15:18:50 -07:00
Jonathan Druart
ed63c13957 Bug 5343: Link serial and acqui modules
DB changements:
- Adds 2 fields: subscription.reneweddate and aqorders.subscriptionid.
- Removes 2 unused fields: aqorders.serialid and aqorders.subscription.

Main test plan:
1) Create a subscription
2) Create a bookseller and a basket
3) Add a new order 'from a subscription'
4) Search your subscription and check if results are correct
5) Click on the "order" link
6) Check the biblio information are filled in the form
7) Select a budget and fill some price information.
8) retry steps 3 and 4. Verify you cannot order the same subscription.
Message:Outstanding order (only one order per subscription is allowed).
9) click on your subscription (already added) and check you have a new
table "Acquisition details" with your price information in the "Ordered
amount" line.
10) receive this order
11) On your subscription detail page, the "Spent amount" line must be
filled with your price information.
12) Re order the same subscription. Now you are allowed to. Prices
information have to be filled with the previous information.
13) Retry some orders and click on a maximum of links in order to find a
bug :)

Signed-off-by: Leila Arkab <koha.aixmarseille@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Comments on last patch.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 23:54:43 -04:00
Julian Maurice
db79d85237 Bug 8903: Pass invoiceid to ModReceiveOrder
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-10-24 15:17:30 +02:00
Jonathan Druart
d7faf087a3 Bug 5335 - More granular VAT
Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Larry Baerveldt <larry@bywatersolutions.com>
Signed-off-by: Joy Nelson <joy@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-09-20 18:09:53 +02:00
Julian Maurice
bf803c521f Bug 5339: Invoices management improvement
- New pages:
  - invoices.pl: allow to search in invoices on several criteria
  - invoice.pl: permit to view and modify invoice details
    - shipment date
    - billing date
    - shipment cost and budget used for shipment cost

Invoice informations are now stored in their own sql table and aqorders
have a link to it

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-09-18 22:42:15 +02:00
Julian Maurice
d4cda293b4 Bug 7583: Cancel a receipt
In acqui/parcel.pl, there is now the possibility to cancel a receipt.
In "Already received" table, just click on "Cancel receipt" and the
order line will go back to pending orders.
If it was a partial receipt, order line is merged to its 'parent' line.
Attached items are modified so that they become attached to the merged
order line.
If AcqCreateItem is 'receiving', attached items are deleted.
If an order line was first partially received, and then completed. You
must cancel the 'parent' order line before cancelling the 'child'.

Signed-off-by: Marc Veron <veron@veron.ch>

The patch behaves like expected, and the feature is really helpfull.

Just a tiny remark about the following message:

-------------
Cannot cancel receipt. Possible reasons :
You are trying to cancel the receipt of an order line whose parent order line is already received. Cancel this parent order line and retry.
-------------

Maybe it would be good
- to explain a little bit more why it happend and re-word the message for non technical people (not everybody understands 'parent' the same way)

- prevent the situation to happen (e.g. forbid order lines to be deleted if they are already received) - but that would be in the scope of an other bug, I think.

I think such things could be fixed in the future during the ongoing work for Acquisitions module. Signing off.
2012-09-13 18:29:20 +02:00
Julian Maurice
2338d02e9e Bug 7175: Allow to choose which items to receive
If AcqCreateItem=ordering, when you receive an order, you now have a
list of all created items and checkboxes that permit you to choose which
items you want to receive.
A 'Edit' link open additem.pl page in a popup to allow you edit the
items before receiving them (popup is automatically closed after
modification, and items table is automatically updated)
If quantity is set manually in the text box, the appropriate number of
checkbox are checked from top to bottom and a warning shows up if
quantity is greater than order quantity

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-05-21 17:46:07 +02:00
Robin Sheat
4cbeeedbe8 Bug 6296: allow users to be authenticated by SSL client certs
This adds a new syspref: AllowPKIAuth. It can have one of three states:
* None
* Common Name
* emailAddress

If a) this is set to something that's not "None", and b) the webserver
is passing SSL client cert details on to Koha, then the relevant field
in the user's certificate will be matched up against the field in the
database and they will be automatically logged in. This is used as a
secure form of single sign-on in some organisations.

The "Common Name" field is matched up against the userid, while
"emailAddress" is matched against the primary email.

This is an example of what might go in the Apache configuration for the
virtual host:

    #SSLVerifyClient require # only allow PKI authentication
    SSLVerifyClient optional
    SSLVerifyDepth 2
    SSLCACertificateFile /etc/apache2/ssl/test/ca.crt
    SSLOptions +StdEnvVars

The last line ensures that the required details are
passed to Koha.

To test the PKI authentication, use the following curl command:
    curl -k --cert client.crt --key client.key  https://URL/
(look through the output to find the "Welcome," line to indicate that a user
has been authenticated or the "Log in to Your Account" to indicate that a
user has not been authenticated)

To create the certificates needed for the above command, the following series
of commands will work:
    # Create the CA Key and Certificate for signing Client Certs
    openssl genrsa -des3 -out ca.key 4096
    openssl req -new -x509 -days 365 -key ca.key -out ca.crt
    # This is the ca.crt file that the Apache config needs to know about,
    # so put the file at /etc/apache2/ssl/test/ca.crt

    # Create the Server Key, CSR, and Certificate
    openssl genrsa -des3 -out server.key 1024
    openssl req -new -key server.key -out server.csr

    # We're self signing our own server cert here.  This is a no-no in
    # production.
    openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key \
        -set_serial 01 -out server.crt

    # Create the Client Key and CSR
    openssl genrsa -des3 -out client.key 1024
    openssl req -new -key client.key -out client.csr

    # Sign the client certificate with our CA cert. Unlike signing our own
    # server cert, this is what we want to do.
    openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key \
        -set_serial 02 -out client.crt
    openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
    # In theory we can install this client.p12 file in Firefox or Chrome, but
    # the exact steps for doing so are unclear, and outside the scope of this
    # patch

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested with Common Name and E-mail authentication, as well as with PKI
authentication disabled. Regular logins continue to work in all cases when
SSL authentication is set to optional on the server.

Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
QA comment: synchronized updatedatabase.pl version of syspref with sysprefs.sql
version, to avoid divergent databases between new and upgrading users.
2012-03-19 17:02:44 +01:00
7fcff602f5 Bug 7113: Standardize vendor id name in templates and scripts
New revision updates for current master and cleans up new
instances introduced by recent commits.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
2 problems found, fixing those in follo up patches:
- late orders don't allow more than 1 order to be selected
- basketgroups: 'Edit vendor' does the same as 'Manage orders'
2012-02-17 19:04:00 +01:00
Paul Poulain
f961638465 Bug 5473 follow-up : removed warn & replace some tabs by 4 spaces 2012-01-20 16:30:48 +01:00
Srdjan Jankovic
92ca5a13e5 bug_5473: Update items when receiving shipments
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested by recieving multiple items with the AcqCreateItem
preference set to 'placing and order' and 'receiving an item'
In both cases the pricing and vendor is brought over to the
item record so I'm signing off.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-20 15:43:11 +01:00
Lars Wirzenius
5f69c342de Fix FSF address in directory acqui/
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-03-16 20:17:51 -04:00
Paul Poulain
452c0ab719 MT2716: fixing finishreceive.pl Software Error
finishreceive.pl was buggy when AcqCreateItem was set to recieve (wrong API)

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-17 07:49:08 -05:00
Henri-Damien LAURENT
a9ae673ba1 followup finishreceive.pl 2009-11-19 17:34:27 +01:00
Henri-Damien LAURENT
1ec6e3df73 Change in API : ordnum becomes ordernumber 2009-10-30 00:30:47 +01:00
Paul Poulain
9308599dee merge fix : recieving 2009-09-30 11:30:26 +02:00
Paul Poulain
1247509b2a finishreceive
* deal with granular perms
* deal with AddItem syspref
* fix a little bit API & variable names
2009-09-30 11:30:19 +02:00
Joe Atzberger
403e96c69b perltidy finishreceive.pl and two comments added
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-08 12:30:57 -05:00
Paul POULAIN
0f568a8aff fix for #2440 : acquisition recieve & item creation
It has to be reintroduced, as some (most in France) libraries don't create
items on recieve, but after "equipment" step.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-08-08 15:09:22 -05:00
Ryan Higgins
0d7265bd73 Populate items.cn_source in acq receive. However, items.cn_sort is not calculated. See bug 2403.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-27 06:05:22 -05:00
Ryan Higgins
fa28afba18 BUG 2351 : Add duplicate barcode check prior to receiving multiple items. This patch adds a javascript form check for duplicates in-form, and returns an error if there are duplicates in the catalog.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-27 06:05:18 -05:00
Ryan Higgins
0bb91c1624 Bug 2351 : Receive acqui order was not incrementing loop counter when saving multiple items.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-15 09:58:36 -05:00
Paul POULAIN
f0deb12b78 (bugfix, CRI) Permission needed is acquisition, not acquisitionS
+ i've added 'intranet' to reach intranet error page, not OPAC one (which is the default when no type specified)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-13 17:40:26 -05:00
Galen Charlton
c6c8e80a73 start of BIB change -- introduce C4::Items
Introduced C4::Items module to separate items API
from biblio API.  Details on changes will be
put in later commit messages.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-03 16:23:12 -06:00
Ryan Higgins
97b907216b fix for bug 1723. no auth on finishreceive.pl
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-01 20:11:49 -06:00
Ryan Higgins
31ddb16fa2 Fix bug in ModReceiveOrder call
had been losing datereceived and replacementprice on modorder.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-01 18:42:48 -06:00
Ryan Higgins
52e1a15e5a Specify datereceived when receiving a new parcel.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-01 18:42:47 -06:00
Ryan Higgins
b2f5cf3ad2 Further updates to acq, merging in dev_week mods.
Splitting orders now on receipt.
Many tmpl updates to pass correct values btwn scripts.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-01 15:07:08 -06:00
tipaul
eba2552086 Code cleaning of Biblio.pm (continued)
All subs have be cleaned :
- removed useless
- merged some
- reordering Biblio.pm completly
- using only naming conventions

Seems to have broken nothing, but it still has to be heavily tested.
Note that Biblio.pm is now much more efficient than previously & probably more reliable as well.
2007-03-29 16:45:53 +00:00
tipaul
a481fad4b7 Code cleaning :
== Biblio.pm cleaning (useless) ==
* some sub declaration dropped
* removed modbiblio sub
* removed moditem sub
* removed newitems. It was used only in finishrecieve. Replaced by a Koha2Marc+AddItem, that is better.
* removed MARCkoha2marcItem
* removed MARCdelsubfield declaration
* removed MARCkoha2marcBiblio

== Biblio.pm cleaning (naming conventions) ==
* MARCgettagslib renamed to GetMarcStructure
* MARCgetitems renamed to GetMarcItem
* MARCfind_frameworkcode renamed to GetFrameworkCode
* MARCmarc2koha renamed to TransformMarcToKoha
* MARChtml2marc renamed to TransformHtmlToMarc
* MARChtml2xml renamed to TranformeHtmlToXml
* zebraop renamed to ModZebra

== MARC=OFF ==
* removing MARC=OFF related scripts (in cataloguing directory)
* removed checkitems (function related to MARC=off feature, that is completly broken in head. If someone want to reintroduce it, hard work coming...)
* removed getitemsbybiblioitem (used only by MARC=OFF scripts, that is removed as well)
2007-03-29 13:30:31 +00:00
tipaul
2ffd5b7228 rel_3_0 moved to HEAD 2007-03-09 14:28:54 +00:00
tgarip1957
3818a8dc38 A new acquisition to handle different tax values to each item, receiving multiple baskets as one parcel, stricter rules for biblio and item creation 2006-09-20 21:44:36 +00:00
toins
0554a91421 Some SQL code moved into Acquisition.pm 2006-08-01 15:04:33 +00:00
toins
7181726db0 Fix some broken links & renamed some function.
FIXME : Where is finishreceive.tmpl ?
2006-08-01 08:33:11 +00:00
sushi
7bd1980eca Merging Katipo changes.
call to receiveorder() now takes $bookfund as arg.
Mason's ACQ fixes from HLT-DEV , work in progress
Added regex to convert & to %26 before redirect to receive.pl.
Now has error alert for blank barcode field, and little tidyup.
finishreceive.pl now updates aqorder table's order record with lastest added biblioitem for that order, so ordersearch() now returns the acq-orders most recently created bibitem info, instead of the initally created biblitem info.
Now redirects back to acquire.pl if barcode exists or newitems() fails.
Now allows user to create a new biblioitem/item using a checkbox.
Adding option so magazines make new biblioitems as well as items - in testing stage
adding in the update for the replacement cost on the item table when editing a received order via
adding a bit to allow hlt to edit received order bit and not fail on duplicate barcode
added elsif to handle dup barcode error.
Fix to handle dup barcodes for newitem(), displays error the goes back to acquire.pl.
Now checks to see if newly created item is currently reserved.
Fix for the receive periodicals bit
Catching any errors when making items
More bugfixing this time a bug not saving volume info
Fix for bug 3529, allow freight to be distributed among the items
Now saves modified fields.
2006-06-07 03:47:50 +00:00
tipaul
92b914b394 fix to calculate item cost (the / was buggy : everywhere else there is the price is the unit price) 2004-09-14 12:32:13 +00:00
tipaul
cfa9223cd1 * updates to make acquisition compatible with suggestions & serials
* changes to use supplierid instead of id, that's easier to read.
2004-08-12 14:35:22 +00:00
tipaul
6376aa4326 catalogue.pm deals only with acquisitions.
so, renaming it...
catalogue management is done in Biblio.pm package
2004-07-13 12:52:13 +00:00
tipaul
323642f5a1 all those fixes are related to translation improvement.
A few minor bugfixes too in perl code.

NOTE TO ENGLISH "TEMPLATORS" : you should look at this commits, as some ideas are really nice.  Thanks to Carole, Wesford School, new Koha user in France :-)
2003-09-18 10:19:28 +00:00
tipaul
05e5034932 bugfixes + adding buttons to switch between normal and MARC view of a record 2003-03-07 16:34:04 +00:00
tipaul
8dd5bb69de bugfixes. seems to work better.
NOTES to 1.2 managers : the 1.2 seems to have problems too :
* when finishrecieve is called, the booksellerid is lost, and you arrive to the "recieve.pl" again, it's with the 1st bookseller from the DB.
* under certain circunstances, the invoice # is lost, and ALL lines from the bookseller are shown. this strange behaviour is fixed too in this commit
2003-03-03 17:35:29 +00:00
tipaul
dc1cf5f163 road to 1.9.2 :
* finishing templating acquisition
* first step to acquisition/cataloguing merging.

show no errors, but seems a little buggy (order counter wrong, problem at end of acquisition process...)
2003-02-27 16:54:10 +00:00
arensb
eff606ba56 Replaced expressions of the form "$x = $x <op> $y" with "$x <op>= $y".
Thus, $x = $x+2 becomes $x += 2, and so forth.
2002-10-13 11:32:14 +00:00
arensb
a9e5b8bb76 Added a FIXME comment. 2002-10-13 06:30:01 +00:00
tipaul
5daa177422 long is the road to 1.4.0
* MARCadditem and MARCmoditem now works
* various bugfixes in MARC management
!!! 1.3.0 should be released very soon now. Be careful !!!
2002-09-20 13:01:50 +00:00
tonnesen
1e67687742 Added copyright statement to all .pl and .pm files 2002-08-14 18:12:50 +00:00
tipaul
528f1b2b80 Long is the road to MARC..
Not related to MARC :
* removed HLT- empty link when no basket for a supplier (should be useful to copy this into rel-1-2 i think)
* fixed some "use of uninitialized value"
related to MARC
* changed use Acquisition to use Catalogue, new package for MARC management

For instance, nothing is done to MARC DB, but structure is modified (see Biblio.pm for details), and everything seems to work : it's still possible to use acqui, and it fills old-DB pretty good.

WARNING : if you work on main trunk, please note Acquisition.pm is NO MORE USED in /acqui/ system. Every sub in Acquisition.pm has been moved to Biblio.pm or Catalogue.pm.
2002-07-04 15:53:02 +00:00