- List of booksellers changed to a drop-down list
- Baskets columns renamed and reordered to make them consistent with
acqui/parcels.pl
- warning in log removed
- changed a '&' to '&' to pass W3 validator
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
- Replace vendor table by a div (avoid table in a table)
- Add two columns in basket tables: biblio count and expected (not
received) items)
- Replace tablesorter by datatables
- Add a list of all returned bookseller names in top of the page (easier
to find a bookseller in a large list of results)
Removes use of C4::Dates in acqui/ordered.pl and acqui/spent.pl
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
When you are on parcel.pl or basket.pl you can now add or edit a note
for each order.
To test:
Create orders with and without note.
Edit/Add the note on basket.pl page
Close the basket.
Check you can add/edit the order note on parcel.pl page
+ From Owen:
Correcting markup issues with modordernotes.pl:
- Adding "rows" and "cols" attributes to <textarea> (required)
- Converting cancel button to link to stay consistent with
other pages
- Changing page layout to fixed & centered (not sidebar needed)
- Expanding information in breadcrumbs to match information
on basket.pl
Changing markup around note add and edit links: Moving output
of order note to the end of the table cell, putting it in its
own paragraph, and adding a "Note:" label
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
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.
Changes permissions on these pages so that one acquisition permission
will make it possible to access the pages. Currently pages are only
accessible for users with full (all checkboxes checked) acquisition
permissions.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Tested with only one acquisitions permission (various choices) and
patron can access the ordered and spent pages.
If a vendor/bookseller has no basket/subscription link, it can now
be deleted (after a JS confirmation).
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Verified that I can only delete vendors without linked orders or
subscriptions.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Branches can have their own version of notices - added branchcode to
letter table.
Support html notices - added is_html to letter table.
Support for borrower attributes in templates.
GetPreparedletter() is the interface for compiling letters (notices).
Sysprefs for notice and slips stylesheets
Added TRANSFERSLIP to the letters
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Squashed patch incorporating all previous patches (there is no functional
change compared to the previous version of this patch, this patch merely
squashes the original patch and follow-up, and rebases on latest master).
=== TL;DR VERSION ===
*** Installation ***
1. Run installer/data/mysql/atomicupdate/bug_7284_authority_linking_pt1
and installer/data/mysql/atomicupdate/bug_7284_authority_linking_pt2
2. Make sure you copy the following files from kohaclone to koha-dev:
etc/zeradb/authorities/etc/bib1.att,
etc/zebradb/marc_defs/marc21/authorities/authority-koha-indexdefs.xml,
etc/zebradb/marc_defs/marc21/authorities/authority-zebra-indexdefs.xsl,
etc/zebradb/marc_defs/marc21/authorities/koha-indexdefs-to-zebra.xsl, and
etc/zebradb/marc_defs/unimarc/authorities/record.abs
3. Run misc/migration_tools/rebuild_zebra.pl -a -r
*** New sysprefs ***
* AutoCreateAuthorities
* CatalogModuleRelink
* LinkerModule
* LinkerOptions
* LinkerRelink
* LinkerKeepStale
*** Important notes ***
You must have rebuild_zebra processing the zebraqueue for bibs when testing this
patch.
=== DESCRIPTION ===
*** Cataloging module ***
* Added an additional box to the authority finder plugin for "Heading match,"
which consults not just the main entry but also See-from and See-also-from
headings.
* With this patch, the automatic authority linking will actually work properly
in the cataloging module. As Owen pointed out while testing the patch,
though, longtime users of Koha will not be expecting that. In keeping with
the principles of least surprise and maximum configurability, a new syspref,
CatalogModuleRelink makes it possible to disable authority relinking in the
cataloging module only (i.e. leaving it enabled for future runs of
link_bibs_to_authorities.pl). Note that though the default behavior matches
the current behavior of Koha, it does not match the intended behavior.
Libraries that want the intended behavior rather than the current behavior
will need to adjust the CatalogModuleRelink syspref.
*** misc/link_bibs_to_authorities.pl ***
Added the following options to the misc/link_bibs_to_authorities.pl script:
--auth-limit Only process those headings that match the authorities
matching the user-specified WHERE clause.
--bib-limit Only process those bib records that match the
user-specified WHERE clause.
--commit Commit the results to the database after every N records
are processed.
--link-report Display a report of all the headings that were processed.
Converted misc/link_bibs_to_authorities.pl to use POD.
Added a detailed report of headings that linked, did not link, and linked
in a "fuzzy" fashion (the exact semantics of fuzzy are up to the individual
linker modules) during the run.
*** C4::Linker ***
Implemented new C4::Linker functionality to make it possible to easily add
custom authority linker algorithms. Currently available linker options are:
* Default: retains the current behavior of only creating links when there is
an exact match to one and only one authority record; if the 'broader_headings'
option is enabled, it will try to link to headings to authority records for
broader headings by removing subfields from the end of the heading (NOTE:
test the results before enabling broader_headings in a production system
because its usefulness is very much dependent on individual sites' authority
files)
* First Match: based on Default, creates a link to the *first* authority
record that matches a given heading, even if there is more than one
authority record that matches
* Last Match: based on Default, creates a link to the *last* authority
record that matches a given heading, even if there is more than one record
that matches
The API for linker modules is very simple. All modules should implement the
following two functions:
<get_link ($field)> - return the authid for the authority that should be
linked to the provided MARC::Field object, and a boolean to indicate whether
the match is "fuzzy" (the semantics of "fuzzy" are up to the individual plugin).
In order to handle authority limits, get_link should always end with:
return $self->SUPER::_handle_auth_limit($authid), $fuzzy;
<flip_heading ($field)> - return a MARC::Field object with the heading flipped
to the preferred form. At present this routine is not used, and can be a stub.
Made the linking functionality use the SearchAuthorities in C4::AuthoritiesMarc
rather than SimpleSearch in C4::Search. Once C4::Search has been refactored,
SearchAuthorities should be rewritten to simply call into C4::Search. However,
at this time C4::Search cannot handle authority searching. Also fixed numerous
performance issues in SearchAuthorities and the Linker script:
* Correctly destroy ZOOM recordsets in SearchAuthorities when finished. If left
undestroyed, efficiency appears to approach O(log n^n)
* Add an optional $skipmetadata flag to SearchAuthorities that can be used to
avoid additional calls into Zebra when all that is wanted are authority
records and not statistics about their use
*** New sysprefs ***
* AutoCreateAuthorities - When this and BiblioAddsAuthorities are both turned
on, automatically create authority records for headings that don't have
any authority link when cataloging. When BiblioAddsAuthorities is on and
AutoCreateAuthorities is turned off, do not automatically generate authority
records, but allow the user to enter headings that don't match an existing
authority. When BiblioAddsAuthorities is off, this has no effect.
* CatalogModuleRelink - when turned on, the automatic linker will relink
headings when a record is saved in the cataloging module when LinkerRelink
is turned on, even if the headings were manually linked to a different
authority by the cataloger. When turned off (the default), the automatic
linker will not relink any headings that have already been linked when a
record is saved.
* LinkerModule - Chooses which linker module to use for matching headings
(current options are as described above in the section on linker options:
"Default," "FirstMatch," and "LastMatch")
* LinkerOptions - A pipe-separated list of options to set for the authority
linker (at the moment, the only option available is "broader_headings," which
is described below)
* LinkerRelink - When turned on, the linker will confirm the links for headings
that have previously been linked to an authority record when it runs. When
turned off, any heading with an existing link will be ignored.
* LinkerKeepStale - When turned on, the linker will never *delete* a link to an
authority record, though, depending on the value of LinkerRelink, it may
change the link.
*** Other changes ***
* Cleaned up authorities code by removing unused functions and adding
unimplemented functions and added some unit tests.
* This patch also modifies the authority indexing to remove trailing punctuation
from Match indexes.
* Replace the old BiblioAddAuthorities subroutines with calls into the new
C4::Linker routines.
* Add a simple implementation for C4::Heading::UNIMARC. (With thanks to F.
Demians, 2011.01.09) Correct C4::Heading::UNIMARC class loading. Create
biblio tag to authority types data structure at initialization rather than
querying DB.
* Ran perltidy on all changed code.
*** Linker Options ***
Enter "broader_headings" in LinkerOptions. With this option, the linker will
try to match the following heading as follows:
=600 10$aCamins-Esakov, Jared$xCoin collections$vCatalogs$vEarly works to
1800.
First: Camins-Esakov, Jared--Coin collections--Catalogs--Early works to 1800
Next: Camins-Esakov, Jared--Coin collections--Catalogs
Next: Camins-Esakov, Jared--Coin collections
Next: Camins-Esakov, Jared (matches! if a previous attempt had matched, it
would not have tried this)
This is probably relevant only to MARC21 and LCSH, but could potentially be of
great use to libraries that make heavy use of floating subdivisions.
=== TESTING PLAN ===
Note: all of these tests require that you have some authority records,
preferably for headings that actually appear in your bibliographic data. At
least one authority record must contain a "see from" reference (remember which
one contains this, as you'll need it for some of the tests). The number shown
in the "Used in" column in the authority module is populated using Zebra
searches of the bibliographic database, so you *must* have
rebuild_zebra.pl -b -z [-x] running in cron, or manually run it after running
the linker.
*** Testing the Heading match in the cataloging plugin ***
1. Create a new record, and open the cataloging plugin for an
authority-controlled field.
2. Search for an authority by entering the "see from" term in the Heading Match
box
3. Confirm that the appropriate heading shows up
4. Search for an authority by entering the preferred heading into the Main
entry or Main entry ($a only) box (i.e., repeat the procedure you usually
use for cataloging, whatever that may be)
5. Confirm that the appropriate heading shows up
*** Testing the cataloging interface ***
6. Turn off BiblioAddsAuthorities
7. Confirm that you cannot enter text directly in an authority-controlled field
8. Confirm that if you search for a heading using the authority control plugin
the heading is inserted (note, however, that this patch does not AND IS NOT
INTENDED TO fix the bugs in the authority plugin with duplicate subfields;
those are wholly out of scope- this check is for regressions)
9. Turn on BiblioAddsAuthorities and AutoCreateAuthorities
10. Confirm that you can enter text directly into an authority-controlled field,
and if you enter a heading that doesn't currently have an authority record,
an authority record stub is automatically created, and the heading you
entered linked
11. Confirm that if you enter a heading with only a subfield $a that fully
*matches* an existing heading (i.e. the existing heading has only
subfield $a populated), the authid for that heading is inserted into
subfield $9
12. Confirm that if you enter a heading with multiple subfields that *matches*
an existing heading, the authid for that heading is inserted into
subfield $9
13. Turn on BiblioAddsAuthorities and turn off AutoCreateAuthorities
14. Confirm that you can enter text directly into an authority-controlled field,
and if you enter a heading that doesn't currently have an authority record,
an authority record stub is *not* created
15. Confirm that if you enter a heading with only a subfield $a that *matches*
an existing heading, the authid for that heading is inserted into
subfield $9
16. Confirm that if you enter a heading with multiple subfields that *matches*
an existing heading, the authid for that heading is inserted into
subfield $9
17. Create a record and link an authority record to an authorized field using
the authority plugin.
18. Save the record. Ensure that the heading is linked to the appropriate
authority.
19. Open the record. Change the heading manually to something else, leaving
the link. Save the record.
20. Ensure that the heading remains linked to that same authority.
21. Change CatalogModuleRelink to "on."
22. Open the record. Use the authority plugin to link that heading to the
same authority record you did earlier.
23. Save the record. Ensure that the heading is linked to the appropriate
authority.
24. Open the record. Change the heading manually to something else, leaving
the link. Save the record.
25. Ensure that the heading is no longer linked to the old authority record.
*** Testing link_bibs_to_authorities.pl ***
26. Set LinkerModule to "Default," turn on LinkerRelink and
BiblioAddsAuthorities, and turn AutoCreateAuthorities and
LinkerKeepStale off
27. Edit one bib record so that an authority controlled field that has already
been linked (i.e. has data in $9) has a heading that does not match any
authority record in your database
28. Run misc/link_bibs_to_authorities.pl --link-report --verbose --test (you may
want to pipe the output into less or a file, as the result is quite a lot of
information)
29. Look over the report to see if the headings that you have authority records
for report being matched, that the heading you modified in step 2 is
reported as "unlinked," and confirm that no changes were actually made to
the database (to check this, look at the bib record you edited earlier, and
check that the authid in the field you edited hasn't changed)
30. Run misc/link_bibs_to_authorities.pl --link-report --verbose (you may want
to pipe the output into less or a file, as the result is quite a lot of
information)
31. Check that the heading you modified has been unlinked
32. Change the modified heading back to whatever it was, but don't use the
authority control plugin to populate $9
33. Run misc/link_bibs_to_authorities.pl --link-report --verbose
--bib-limit="biblionumber=${BIB}" (replacing ${BIB} with the biblionumber
of the record you've been editing)
34. Confirm that the heading has been linked to the correct authority record
35. Turn LinkerKeepStale on
36. Change that heading to something else
37. Run misc/link_bibs_to_authorities.pl --link-report --verbose
--bib-limit="biblionumber=${BIB}" (replacing ${BIB} with the biblionumber
of the record you've been editing)
38. Confirm that the $9 has not changed
39. Turn LinkerKeepStale off
40. Create two authorities with the same heading
41. Run misc/migration_tools/rebuild_zebra.pl -a -z
42. Enter that heading into the bibliographic record you are working with
43. Run misc/link_bibs_to_authorities.pl --link-report --verbose
--bib-limit="biblionumber=${BIB}" (replacing ${BIB} with the biblionumber
of the record you've been editing)
44. Confirm that the heading has not been linked
45. Change LinkerModule to "FirstMatch"
46. Run misc/link_bibs_to_authorities.pl --link-report --verbose
--bib-limit="biblionumber=${BIB}" (replacing ${BIB} with the biblionumber
of the record you've been editing)
47. Confirm that the heading has been linked to the first authority record it
matches
48. Change LinkerModule to "LastMatch"
49. Run misc/link_bibs_to_authorities.pl --link-report --verbose
--bib-limit="biblionumber=${BIB}" (replacing ${BIB} with the biblionumber
of the record you've been editing)
50. Confirm that the heading has been linked to the second authority record it
matches
51. Run misc/link_bibs_to_authorities.pl --link-report --verbose
--auth-limit="authid=${AUTH}" (replacing ${AUTH} with an authid)
52. Confirm that only that heading is displayed in the report, and only those
bibs with that heading have been changed
If all those things worked, good news! You're ready to sign off on the patch
for bug 7284.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Rebased on latest master and squashed follow-up, 16 February 2012
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Rebased on latest master, 21 February 2012
Signed-off-by: schuster <dschust1@gmail.com>
To test:
Before patch:
- editing a new vendor will create a new vendor
After patch:
- editing a vendor saves changes correctly, no new vendor is created
Also:
- after saving or cancelling an edit page redirects correctly
- adding new vendors works correctly
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Followed test plan and all tests pass.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This is a follow-up for 7113
C4::Biblio is used in many many places. The goal of this cleaning is to do from C4::Biblio a package with as many dependancies as possible.
* C4::Heading is called only in 1 place, highly rarely used (only in 1 misc/link_bibs_to_authorities.pl), moving to require
* PrepareItemrecordDisplay is a sub that is more related to Items, moving it here. It means some scripts that used this sub must be checked against use C4::Items
* C4::Items is needed in EmbedItemsInMarcBiblio, moving it only in this sub, and switching to require
* 2 subs are totally useless z3950_extended_services and set_service_options, removing them
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
No test plan included, but tested some opac and cataloging functions.
Code looks good. Marked as Passed QA.
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'
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested:
Database update
- existing mapping
- no pre existing mapping
Frameworks
PROBLEM: some languages are still missing, I think only untranslated
frameworks are included in this patch.
Acquisition
- created a new order with edition filled out
- checked edition was saved to the correct field in cataloguing
- modified edition and checked display in acquisition
- edition also displays on basket summary page
http://bugs.koha-community.org/show_bug.cgi?id=7280
Display suggestion info in acquisition module:
basket.pl
neworderempty.pl
orderreceive.pl
parcel.pl
To Test:
Create a suggestion and accept it.
Create a new order from this suggestion
Receive this order
For each step, check if suggestion info are visible.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Test provides more unit tests, all complete successfully.
perl t/db_dependent/Suggestions.t
Note: test case should be cleaned up after running tests.
Display changes are consistent and information about the suggestion
is shown on every important screen now.
I created an order from a suggestion and one from an existing record.
No problems found.
Single line fix. Changes permissions required for histsearch.pl
from requiring * for acquisitions to only requiring
group_manage, order_manage, and order_receive
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Aleksa Vujicic <aleksa@catalyst.net.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended to replace some copy-and-paste comments only with consent of MJR.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
- Copying over error handling for timeout(10007) and refused(10000)
- Copying over error handling for submission with no targets chosen
- Correcting "cancel" link in the template which was not modified
when it was copied from cataloging's popup window template.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested. Comments have been incorporated. Marked as Passed QA.
http://bugs.koha-community.org/show_bug.cgi?id=7342
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
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>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This bookseller has no email shows up correctly, when vendor has
no email address.
Small change made: Changed bookseller to vendor.
This patch fixes some minor problems found in late order management:
1) Silences 2 warns in Letters.p
After patch is applied no more warns should show up in the logs.
2) Fixes check/uncheck al
When limiting on one vendor the checkbox in the last header column
was doing nothing. I changed the checkbox to 2 links 'check all' and
'uncheck all' as it's done in other templates.
3) Email has been sent
The message was hardcoded into the lateorders.pl file and not
translatable.
I moved it to the template and changed the wording slightly.
Note: The error message 'The bookseller has no email' comes from
Letters.pm. I didn't change that, because I was not sure where it is
used. The error message as is can not be translated and should be
moved into the templates too.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch adds 2 columns in the aqorders table :
- claims_count : number of claims for an orders
- claimed_date : date of the lastest claim
In the lateorders.pl table, you can not select orders from different
supplier because there is just one letter sent after clicking the "Claim
order" button. So, it's logic that you want to select only orders from
this supplier.
Modification in C4/Letters.pm:
refactoring code for claimacquisition and claimissues letter type.
Now, fields for theses letters check the table name. It's not possible
to chooce aqorders.title, this field doesn't exist !
Furthermore, you can add a <order> tag around your item fields, like
this :
-- Begin example
<<LibrarianFirstname>>
<<LibrarianSurname>>
<<aqbooksellers.contact>>
<<aqbooksellers.address1>>
<<aqbooksellers.phone>>
<<aqbasket.basketno>>
<<aqbooksellers.phone>>
<order>Library : <<items.homebranch>>
In your possesssion : <<biblio.author>>. <<biblio.title>>.
<<biblioitems.publishercode>>, <<biblioitems.publicationyear>>.
Callnumber : <<items.itemcallnumber>>. doc type : <<items.itype>>
Barcode : <<items.barcode>>
Date for the return : <<items.onloan>>.</order>
<<LibrarianSurname>>
-- End example
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This patch introduces a Filter (KohaDates) for use in templates
[% USE KohaDates %]
[% somevariable | $KohaDates %]
This will format the date in the format specified by the systempreference
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Reimplementing 3.0.x patch from
Nahuel ANGELINETTI <nahuel.angelinetti@biblibre.com>
To test:
1) Create basket
2) Order something, note your fund
3) Receive title
> Verify your name and selected fund display correctly
Additional tests:
1) Set borrowernumber in aqbasket.authorisedby to a nonexistant borrowernumber (like something really big)
> Created by should show "No name"
2) Set borrowernumber to NULL / empty
> Created by should show "No name"
Signed-off-by: Duncan Tyler <duncan@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
A suggestion added through addorder.pl now changes
to the ORDERED status as initially intended (but so
far it stayed as ACCEPTED).
This fixes the list of potential suggestions to order,
the ORDERED ones don't appear anymore.
Bug 6893 : Follow-up: Disabled WHERE clause excluding ORDERED status
In SearchSuggestions, a WHERE clause was excluding the ORDERED
suggestions from the results. Now replaced with 1=1.
(before 6893 correction, the WHERE clause was excluding the
STATUS='CLAIMED' suggestions, but this status cannot be found anywhere
else in the code... so I changed to STATUS='ORDERED' which
seemed more accurate, but it had impacts on OPAC and some Admin tabs)
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Both patches applied cleanly, sqashed them together after testing.
Tested:
1) Creating new suggestions
- from OPAC, shows up in patron account as 'requested', pending in staff
- from staff, shows up in list of pending suggestions
Status in database is ASKED
Note: suggestions made from staff for the same patron have suggestedby = 0
in the database, so are not showing up in the patron account. Is this by
intention? (if not, I think this is a separate bug)
2) Accepting suggestions
- from list
- from edit page
Status in database is ACCEPTED
Patron account shows 'Accepted by the library (Bestseller)'
Note: after changing the status from the list, bug 4068 kicks in and
some tabs and even suggestions are hidden. Going back to the acq start
page and going back to the suggestions page from there helps.
3) Rejecting suggestions
- from list
- from edit page
Status in database is REJECTED
Patron account in OPAC shows 'Suggestion declined'
Note: bug 4068 again.
4) Ordering from suggestions
- new basket
- ordered 2 accepted suggestions
SUCCESS! Great improvement:
- Status in database is now ORDERED
- Already ordered suggestions no longer show up on list of
suggestions to order from.
- Patron account shows 'Ordered by the library (Bestseller)'
- Suggestion management page shows a new tab 'Ordered'
- For the suggestion with a valid 'suggestedby' borrowernumber,
a mail was generated. (bug 7094)
5) Receive ordered suggestions
- received my ordered suggestions
This is is not in the scope of this bug, but for documentation:
- No message was generated to inform the patron
- Status stays ORDERED
- Patron account still shows item as ordered, no change to 4)
Looking at the suggestion.tt I think there should be another status
AVAILABLE.
216 [% ELSIF (suggestion.suggestiontypelabel == "Available") %]Available
Signing off, fixes bug reported. Danke!
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch makes it possible to add the account number to the
vendor information. The used field aqbookseller.accountnumber was
already existent in the database.
To test:
1) Add a new vendor with accountnumber
> Verify form has a field for accountnumber
> Verify accountnumber does show up on vendor summary page
2) Edit this vendor, change accountnumber
> Verify change was correctly saved and new number is displayed on
vendor summary page
3) Delete accountnumber
Signed-off-by: Liz Rea <lrea@nekls.org>
Tested 1-3, no troubles found.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Currently when creating a new vendor in acquisitions the alphabetical first
currency will be preselected. For better usability and less mistakes the
active curency should be preselected.
To test:
Check your currency settings in administration.
Your active currency should not be the first in the list.
1) Create a new vendor
Verify the active currency is selected for list and invoice prices.
2) Check vendor summary page
Verify the correct currencies from the vendor record are shown here.
3) Edit vendor
Verify the correct currencies from the vendor record are shown here.
Signed-off-by: Liz Rea <lrea@nekls.org>
Verified with tests 1, 2, and 3.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
PDF print of basket groups is broken.
To test:
1) Make sure OrderPdfFormat is set to pdfformat::layout2pages or pdfformat::layout3pages
2) Create a basket with orders
3) Close the basket and create a basket group checking the checkbox
4) Print the basket group as PDF
Before patch the file is broken and when opened in an editor contains an error message.
After the patch the PDF should be generated correctly again.
Thx to Chris for helping me to fix the problem.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
aqbasket.authorisedby is not foreign key constrainted to borrowers.borrowernumber,
so if it's anything other than that, vendor search breaks by using an undefined value
(GetMember() on an invalid borrowernumber) as a HASH ref.
This patch sets the branchcode (the desired value from GetMember) to a blank value, then only
changes it if GetMember is defined. In the case where the authorisedby librarian has been deleted,
or the value is otherwise invalid, and AcqViewBaskets is set to 'branch', the basket will not appear
except to superlibrarians
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Invalid borrowernumber in aqbasket.authorisedby no longer breaks search.
When ordering from an existing record the 'no budgets and funds defined' error
message was shown below the result list.
To test:
A) No budgets defined for this user and library
Basket summary page shows a warning instead of the link for creation
of orders.
B) Budgets and funds are properly defined for this user and library
Basket summary page shows links for order creation.
Before patch: A search for an existing record had the alert at the bottom
of the search result list.
After patch: The links for creation of orders are shown instead.
Signed-off-by: Liz Rea <lrea@nekls.org>
Verified A and B.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Instead of using the 'p' subfield directly, use the subfield letter
associated with the items.barcode column.
http://bugs.koha-community.org/show_bug.cgi?id=6963
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Test cases tested:
- 1 item, barcode empty
- 2 items, barcodes both empty
- 1 item, existing barcode
- 1 item, new barcode
- 2 items, one barcode empty, one existing
All test cases worked nicely and gave correct error messages.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
If the AcqCreateItem preference is set to "ordering" and the barcode for
the new item is already in use, no error is returned, but an invalid
itemnumber is saved in the aqorders_items table and the item is never
created.
This patch adds a duplicate barcode verification in neworderempty.pl
_koha_add_item is also modified so it won't return an invalid ID when
an item can't be added.
http://bugs.koha-community.org/show_bug.cgi?id=6963
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Test plan on second patch.
http://bugs.koha-community.org/show_bug.cgi?id=6414
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed off with a note: this doesn't fix everything mentioned in the bug.
It also might clash with bug 4831 and should be tested with that patch.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The same scope than in basket.pl
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Detailed information about possible deletion of orders on parcel page.
1) Delete order for record with 1 other item and item level hold
OK. Record, item and hold remain, only on order item is deleted.
2) Delete order for ordered record with 1 item and title level hold
OK. Deletion is not possible, before hold is cancelled.
3) Delete order for new record with only items connected to this order
OK. Cancelling the order deletes record and item or only order,
depending on link used.
4) Delete order for record with subscription.
OK. Subscription remains untouched, item is deleted.
Also checked:
AcqCreateItem = on receive / in cataloging
Links show and it's possible to delete the order or only the record
using different links.
Comments:
There is a table sorter option for the last column with the delete links.
I am not sure it is useful here, but it does work.
Before patch is applied, the links use 'cancel' instead of 'delete'.
I am not sure which is better and if it should be different on
basket summary and order receive or the same on both.
QA Comment:
Made a small change to template language; blocking deletion because of items referred to
holds instead. Changed text to refer to items.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- all items attached to the order are deleted
- if there is no more items, and if the biblio is not in other orders and no subscriptions and no holds then the biblio is proposed to deletion
Now whe have 2 links : "delete order" and "delete order and catalog record", the second one appears only if the deletion is possible.
Note that if an hold is related to the item or if the item is unique for the biblio the link "Delete order" is canceled due to hold remaining.
On mouse over explanations are shown with count.
More lines of warnings with count are shown depending of the case.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Configuration:
AcqCreateItem = on order
Test cases and results:
1) Order new record with 2 items
a) From basket
- delete order: only deletes items, OK!
- delete order and catalog record: deletes record and items, OK
b) From shipment/receive
- delete order: only deletes items, OK!
2) Order 1 additional item for existing record with 1 item
a) From basket:
- delete order: works, existing item and record remain, OK
- Can't delete order and catalog record, 1 item left, OK!
3) Order new record with 1 item, title level hold on record
a) From basket:
- delete order: not possible, OK!
- delete orer and catalog record: not possible, OK!
b) From shipment/receive page
- Cancel: Deletes order, record and hold silently.
NO WARNING. NOT OK. See note below.
4) Order 1 additional item for existing record with 1 item,
item level hold on existing item
a) From basket:
- delete order: works, hold and existing item remain, OK!
- delete order and catalog record: not possible, OK!
b) From shipment/receive page
- Cancel: on order item is deleted, other item and hold remain.
5) Order new serial record, create subscription
a) From basket:
- delete order: works, record and subscription remain, OK!
- delete order and catalog record: not possible, OK!
b) From shipment/receive page:
- Cancel: Subscription and record are silently deleted. NOT OK.
6) Order additional item for existing record with other on order items
a) From basket:
- delete order: works, existing on order items remain, OK!
- delete order and catalog record: not possible, OK!
b) From shipment:
- Cancel: deletes order and ordered item. OK.
Changes made:
I changed the wording of the error messages a bit in the template.
I changed the message 'Can't delete order and catalog record' to not be
shown as a link, as the link does nothing. Tooltip still appears.
I attached a screenshot to the bug showing some of my changes.
Hope that's ok.
Necessary enhancements:
Cancelling orders when receiving items should work the same as from the
basket summary page. We need the same checks and messages there before
deleting records and items automatically.
I am signing off on this, but to go into Koha it needs a follow-up for the
order receive page.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Code written by Edgar Fuß <ef@math.uni-bonn.de>,
Mathematisches Institut der Uniersität Bonn
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
- rebased on current master, fixed a conflict in booksellers.pl
- reworked permission checks to account for general acq permissions and
superlibrarian permission
- rephrased text of system preference (Thx to Jared Camins-Esakov)
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Code written by Edgar Fuß <ef@math.uni-bonn.de>,
Mathematisches Institut der Uniersität Bonn
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
- rebased on current master, fixed a conflict in booksellers.pl
- reworked permission checks to account for general acq permissions and
superlibrarian permission
- rephrased text of system preference (Thx to Jared Camins-Esakov)
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The total_est_gste or gsti is computed on the total_rrp_gste or gsti.
But in the budget this amount is the summ of discounts computed for each line.
Due to the rounding to 2 decimal places this produces a difference in Funds view with Total sublevels spent.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
when marcxml is wrong the PDF is not generated. There is a Perl error
because
the biblio can't be retrieved.
This can be workarounded with a eval when decoding the marc
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Lines issued from a staged file have a flag that can be set when the order has
been added in a basket. It's set when a staged file is imported into the
catalogue, it should be set also when a record is inserted through aquisition.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
- Add order from staged file to a new basket
- Add single order from one item
- Import rest using the bulk feature
- Staged file will no longer be shown after all titles
have been ordered and import_status in import_batches
is correctly set to 'imported'
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Previously you couldn't view baskets that you hadn't created, unless you
were superlibrarian due to a bug. Now people with the right permissions
can see the baskets.
Applies to both 3.04.04 and master.
Signed-off-by: Brendan <info@bywatersolutions.com>
Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Scripts in admin & acqui subdirectores weren't passing t/00-testcritic.t. This
patch add admin & acqui scripts to test case and fix various errors related to
Perl::Critic compliancy.
- Fixing a style error to pass Perl::Critic, plus silencing a warn
- More style errors, plus fixing a security issue
- Explicitly using Carp
Contrary to common belief, subroutine prototypes do not enable
compile-time checks for proper arguments. Don't use them.
Defining a named sub within another sub, does not prevent that
subroutine being global
Signed-off-by: Frédéric Demians <frederic@tamil.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This allows a basket to be searched for by name or invoice number from
anywhere in the acquisitions system. It is accessible by clicking on
"orders search", clicking the '[+]' and filling in the basket or invoice
no. fields.
Author: Srdjan Jankovic <srdjan@catalyst.net.nz>
Author: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
As noted on bug 766 more cases of usage of
CGI::scrolling_list were imported into C4::Budgets
Even if we were not trying to remove usage of this
the C4 modules are not the place to generate markup
Most of these routines are noise as they are not used in
any current code but cause confusion and increase
maintenance overhead. They are removed
The sort dropboxes on order create are the only
references in current templates to these routines
they have been replaced by a select list generated
by the markup.
They can probably be removed too but their existence
although the option that causes them to be displayed
seems unlikely to be set. I've left them pending
resolution of some of the inconsistencies and
confusions surrounding Budgts
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
On the basket editing screen, the links to add orders to a basket are
hidden unless a valid fund is available.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch adds a new pref BasketConfirmations. This adds the option to skip
confirmations on closing and reopening a basket. If you skip the confirmation,
you do not create a new basket group.
The confusing line Create a purchase order (when closing a basket) is replaced
by Attach basket to a new basket group with the same name.
A warning for a null value on basketgroupid is fixed.
Rebased April 11.
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
For libraries with item-level_itype, the itemtype is in the item.
For others, it's in the biblio and should be added with the title/author when it's ordered
This patch adds the list when applicable,and build the biblio record accordingly
(BibLibre MT5189)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Replaces previous patch. Also fixes ordering from existing records.
While it was possible to go back to vendor and basket page when ordering
from a new suggestion the other odering options missed those 'crumbs'.
This patch makes the breadcrumbs for all orderings options consistent and
makes it possible to navigate back to the vendor or basket from all
pages.
- from existing record
- from staged record
- from external source
- from empty record
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
creating a form order to import all records from a staged file at once.
All lines of the choosen staged file will be created with the same budget
and item (if applicable depending on AcqCreateItem syspref)
BibLibre bug #4007
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Bug 5961: follow-up : use matchingrules selected in manage-stage-import instead of FindDuplicate
Now, bulk importing the iso2709 result in adding biblio or connecting to an existing one
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
BZ5961: follow-up, save currency
Cait noticed that currency was not saved properly in the aqorders table.
note a surprise, as the 3.2 had no currency feature and 5961 had been written against 3.2
anyway, this patch fixes the problem
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Remove some unnecessary checks when check of error is
sufficient. Make the order in some cases more logical
Should remove some possibilities of runtime warning noise.
Although some calls belong to the 'Nothing could
ever go wrong' school have added some warnings
Signed-off-by: Christophe Croullebois <christophe.croullebois@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
In large libraries, some librarian may have permission only
to recieve shipments This patch fixes some permission :
* booksellers page = accessible to anyone that has at least 1 acq permission
* parcels = accessible to anyone with order_recieve
* supplier detail = accessible to anyone that has at least 1 acq permission,
but modifying accessible only if vendor_manage
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Removes obsolete columns from aqbooksellers and aqbudgets if needed.
aqbooksellers: deliverydays followupdays followupscancel invoicedisc nocalc
specialty
aqbudgets: budget_description
These columns should not exist in a fresh install from kohastructure.sql, but
originate from older 3.0 versions.
One line in acqui/updatesupplier.pl referring to one of these columns is
removed too.
This patch therefore does not change functionality, but only keeps your db in
shape.
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Rebased April 6.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
When editing a basket group, user can choose a library for delivery
place, or enter address of his choice in a text field.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Will send a follow-up for missing change in kohastructure.sql
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
(MT #4717) Add the capability to have a filter by active budget
the sub GetBudgetHierarchy return aqbudgetperiods.budget_period_active to have acces to a new filtering way,
more the neworderempty.pl page have a check box "shox all".
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Bug 5963: Modify GetBudgetsHierarchy to returns all funds
GetBudgetHierarchy now returns all funds, not only those that are part
of an active budget.
Fixed a layout problem.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
In receipt summary the quantity did'nt appear in already received table, this patch fixes the omission
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch tested on current master. Works like advertised.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Previous patch for this bug was ignoring vendor currency on
new orders. In most cases should be the default
Changed variable name from cur to active_currency
Clarity is a virtue!
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
loops were slightly illogical and db accesss was excessive
and repetitive. caused it not to scale well on large datasets
Routines in Acquisition.pm seem to have inconsistent views
of the data.
rework logic to utilize db and processing better
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Merge unfao changes to C4::Bookseller
Enable warnings in Bookseller.pm
Some cleanups in Bookseller code
Do not export everything by default
Display vendors more rationally
Was displaying by id make it name as the searchstring is for all
embedded substrings
Have removed "if mysql" logic as we want to deal with this by
abstracting the DB interaction and it makes cleaner code until then
Sponsered by UN FAO, Rome
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Enhancement for Acquisitions/ordering from external source.
Koha already checked for duplicates, but this patch warns the user. Offers the choice to use existing record, use new record or return without making an order.
The new template is added for this interaction with the user.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Also add a couple FIXMEs
Marcel: Signed and updated for current master
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This allows the tax rate for a vendor to be set to zero. Previously, a
zero meant that the system default was used. Now, zero means no tax, and
to have it be the default the field should simply be left empty.
Additionally:
* this will now show on the vendor display if the tax value is from the
system default
* this includes a database update that changes all the existing 0.00 tax
settings to be NULL, which preserves existing behaviour.
* this now saves the tax value supplied for new vendors
Note: this patch applies against master
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Adds control number as search option to z39.50 search in acquisitions.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- Removing 'suggestions waiting' link from left-hand menu. A plain
'suggestions' link is still shown if suggestions are enabled.
- Putting back the 'pending suggestions' box that used to appear
on the Acquisitions home page. This will show, with a count
of pending suggestions, only if suggestions are turned on and
there are pending suggestions.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
working through the master branch to eliminate all
podchecker warnings/errors
Actual improvement to the quality of the POD will
come later (hopefully with assistance of others)
Signed-off-by: Andrew Elwell <Andrew.Elwell@gmail.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- Adding inline preview/import menu to match cataloging z39.50 search
- Improving behavior of inline menu on both pages
- Adding white space to ISBN/ISSN output on both pages to allow
line breaks, improving table width and horizontal scrolling.
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
- make publication year save for MARC21
- make ISBN save
- fix small template issue with label for vendor note
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The PDF templates for purchase orders now live in the
directory koha-tmpl/intranet-tmpl/prog/pdf to separate
them from code. As no automatic translation system for
PDF files is currently implemented, I'm keeping them out
of the language subdirectories for now.
At present, there are two choices of templates for printing
purchase orders (AKA basket groups), controlled by setting
the OrderPdfFormat syspref:
pdfformat::layout2pages (two-page layout)
pdfformat::layout3pages (three-page layout)
To customize a template or to add a new one requires two steps:
* modifying the PDF; note that OpenOffice source files
are included as a way of generating the PDF
* modifying the code in acqui/pdfformat/layout*.pm to
position the order text onto the template
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Since new acquisition module workflow and specifications is not
documented, this fix is more an hypothesis than a patch.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch unifies the search in neworder so that the same biblios should be sent back when searching from catalogue search or from box.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Perl generates depreciation warnings on compilation
caused by use of ambiguous syntax. Seemed that an
underlying confusion as to row's type
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
basket.pl calculates variables i, odd and count which are
no longer used in the template
removing them allows some simplification of the main loop
and cuts out on an extra db call
Loop through basketgroups also made more readable
Try to dimish the number of undef warnings filling the logs
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
We've checked the return for definedness and
assigned an empty string to it ao we don't want
to make it undef again
This is a good argument that cascading if-elses expecially with
long unstructured elses are a bad idea
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Script was written as though it had an array rather than
a single supplier. Replaced the excess punctuation with a single
supplier variable
replaced the C-style currency loop with a simpler perl-style one
we only need 1 loop not multiples
Changed variable name $GST to $tax_rate it's not magical and not a constant
and we all know what tax is
Fetch Contract data once rather than twice from two different modules
Correct size of discount data on display
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
when closing a basket without creating a basketgroup, the group is still created => corrected
+ replace "create a basketgroup?" by "create a purchase order now?" in confirmation step.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Basket.pl: withdrawal of the "can not close the basket"button. only Uncerain
prices button is displayed. And removing the "??" in the price columns,
replaced by "uncertain" in rrp column
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
* 'bug2505_patches' of git://git.catalyst.net.nz/koha: (24 commits)
Bug 2505 - use strict and warnings in sax_parser_test
Bug 2505 - enable warnings for link_bibs_to_authorities
Bug 2505 - add strict and warnings to perlmodule_ls
Bug 2505 - add strict and warnings to check_sysprefs
Bug 2505 - Add commented use warnings where missing in *.t
Bug 2505 - Add commented use warnings where missing in *.pm
Bug 2505 - Add commented use warnings where missing in the cataloguing/ directory
Bug 2505 - Add commented use warnings where missing in the misc/ directory
Bug 2505 - Add commented use warnings where missing in the tools/ directory
Bug 2505 - Add commented use warnings where missing in the installer/ directory
Bug 2505 - Add commented use warnings where missing in the rotating_collections/ directory
Bug 2505 - Add commented use warnings where missing in the C4/ directory
Bug 2505 - Add commented use warnings where missing in the serials/ directory
Bug 2505 - Add commented use warnings where missing in the catalogue/ directory
Bug 2505 - Add commented use warnings where missing in the sms/ directory
Bug 2505 - Add commented use warnings where missing in the opac/ directory
Bug 2505 - Add commented use warnings where missing in the virtualshelves/ directory
Bug 2505 - Add commented use warnings where missing in the suggestion/ directory
Bug 2505 - Add commented use warnings where missing in the admin/ directory
Bug 2505 - Add commented use warnings where missing in the circ/ directory
...
Conflicts:
C4/Auth_with_cas.pm
acqui/supplier.pl
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
on a new order, the branch limits for the budgets where not managed properly
if a budget had a limit on branch, it was not respected : the list displayed all budgets, including other branches than mine
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Previously, if the tax rate for a particular seller was '0.000' it
couldn't be edited. Now, the tax information always is shown if there
is a default system one, or one for that seller.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Fixes generation of empty index page when total_parcels is a multiple of pagesize
Remove some calculations whose results were not used
Make variable names meaningful (results and count arnt)
Fix errors in pod syntax
Make what code does clearer to readers who are not computers
Use a subroutine
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Remove unnecessary db calls and processing from acqui-home.pl
Do not duplicate processing of fields
Declare variables closer to use
Remove unnecessary holding vars
Replace some anonymous var names by something more meaningful
Do not generate a toggle variable use Template's LOOP vars
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
- moving some links to the left part of koha (currencies and suggestions)
- removed currency table
- changing supplier display
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Before formatting and doing arithmetic with them we should
ensure undefined numeric elements are numbers
(This should be enforced in the db)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
New way, correct way to use GetMember is
GetMember(field => fieldvalue[, field2 => field2value ...]);
e.g.,
GetMember(borrowernumber => $borrowernumber);
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Fixed two calls where new interface was not used
Arguably new syntax allows more options than we require but it was not catching
error cases (when 0 or undef is passed). It also can now be called in ways
which would validly return multiple hits but explicitly does not
(nor does calling code expect this)
This patch should quieten the flood of errors
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
New version of patch to apply against 3.2alpha
Also remove related FIXME message that was displaying to the user
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch fixes three bugs:
Bug 3965: gist sys pref not taken into account
changed it so that GST does not show on basket if gist pref set to 0
changed it so that GST fields don't appear on vendor record if gist pref=0
Bug 3979: gst options not lining up
fixed layout on vendor add/edit form so GST radio buttons line up right
Bug 3981: GST confusing in en-US
there is no GST in the US and so GST changed to 'Tax' in templates
Also, a small spacing fix was made to the path on the basket grouping
template.
Renamed pdfformat to OrderPdfFormat and created OrderPdfTemplate to stock the PDF in the database.
Added a new type of syspref nammed "Upload".
Rewritte, translation and cleaning of the PDF template.
Librarian are now able to select a different delivery place for each basketgroup. They can choose one from the branch list or manualy using a textarea.
Database schema and PDF generation have been modified to reflect these changes.
neworderempty : problems with data updates
booksellers.tmpl : TMPL_VAR not in comments
list_price becomes listprice in neworderempty script as in acq.js
- reindenting Suggestions.pm
- removing useless code in acqui-home.pl & fixing # of pending suggestion display
- add suggestion to order : displaying for selection suggestions accepted by the librarian (and reindenting)
- XHTMLing acqui-home (& removed useless parts)
NOTE ABOUT XHTML (could be useful) : <tfoot> must be BEFORE <tbody> in a <table>, even if, of course, it is displayed after.
- basket.pl: updating display, formatting dates,
- neworderempty: updating display, removing useless code, using ACQ framework if it exist. The ACQ framework will be used for creating items record during acquisitions. If it does not exist, default is used instead (which has many more informations, lot of them being irrelevant during acquisition, like the barcode)
- new order from imported batch: rewrite of the workflow. Now uses neworderempty and changing status of import_record to 'imported'
- s/copyrightdate/publicationyear/ as it's what libraries uses when ordering
- fixing some warnings
-
- removing useless fields from aqbooksellers table: specialty, deliverydays,followupdays,followupscancel,nocalc, invoicedisc They were in the DB schema, but unused for years
- reworked bookseller and contract gui
- no warning thrown
NOTE : updatedatabase not done for field removal in aqbooksellers table. Should have:
ALTER TABLE `aqbooksellers`
DROP `deliverydays`,
DROP `followupdays`,
DROP `followupscancel`,
DROP `specialty`,
DROP `nocalc`;
- I user has basket grouping permissions, don't display javascript popup for confirmation
- if user has basket grouping permissions, after closing the basket redirect him to a page which asks which basketgroup to affect the basket to (with possibility to create a new basketgroup)
- when done with this, redirect him to basketgrouping.pl to be able to print the basketgroup at once
- factor out basket closing code from booksellers.pl (what was it doing there anyways?)
* fix a bug for new orders budget : the Asort1 was displayed by default. Now, it's the sortN_authcat of the 1st budget (the one selected by default)
* change in GetBudgetAuthCats : returns all auth values used by at least one budget (not Asort* categories, as previously)
* code cleaning in GetAuthvalueDropbox (and select aqbudgets.* instead of *, to avoid data corruption due to duplicate column name)
* there can be more than 1 active period. This has been added to deal with temporary budgets (like "10000€ to spent in the next 3 months")
* all active budgets are retrieved
* budget available for everyone now displayed correctly
also :
* fixing some hardcoded values
* removing a warn
* the .odt contains the pages 1 & 2. Pages 3 to X contains the basket, and are generated on the fly. Page 1 contains a general header, and page 2 contains the list of baskets (with totals)
* the .pdf contains the pdf generated from the .odt
* the .pm contains the sub to generate the PDF from the .pdf file
* deal with import from staged file
* deal with z3950 import
* deal with granular permissions
* deal with uncertain price
* deal with create item if SysPref set to create items on ordering
lot of new things:
* basket now explicitely created
* they can have a name, a bookseller note, a private (library) note, a contract attached
* deal with granular permissions
* feature to delete a basket
* feature to close/reopen a basket
in template, add link to fill a basket from a z3950 search or from a staged file
Enhancing C4::SearchSuggestion
And changing its API
Changing C4::Suggestions API taking a hashref for NewSuggestion and ModSuggestion
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This update the way Member is added and editing so that import and Edition
could be best automatized
GetMember evolves and allow ppl to serach on a hash of data
Adding SQLHelper A new package to deal with INSERT UPDATE and SELECT
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Fixes several xhtml in parcels.tmpl and enables highlighting within its data table. Removes unnecessary variable from parcels.pl.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Fixes alphabetization of library dropdown in New Order, and the shelf location, item type, and collection code in the Receive Items pages. This patch takes care of Joann's original purpose of creating the bug enhancement.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Removed unused toggle and line(even) variables from booksellers.pl. Added highlighting to the two display tables in booksellers.tmpl.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This has bearing on bugs 2905, 2665, 2514 and other "wide character" crashes
related to diacritics and Unicode. This should help open the door for reliable
input of diacriticals via acquisitions.
MARC21_utf8_flag_fix.pl diagnoses and fixes existing problems with MARC data
affected by the bug.
Adding SetMarcUnicodeFlag to TransformKohaToMarc prevents the bug from corrupting
further data.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
It looks like a lot of change, but it isn't much:
perltidy, removed unused "toggle" code, and corrected comments.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Convert to GetBranchesLoop, remove unused variables.
Pull out params that are assigned the same value in each loop and just assign them once.
Pull out params that are assigned the same value in each half of the conditional, and just assign them unconditionally.
Remove useless call of $template->param($count).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The javascript is malformed and therefore fails the onsubmit check if
gist does not receive a value. This patch allows failover to default 0.
Also removed an unused dbh.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
I've duplicated the "Add to Order" block on the search results page to display after a user has searched for an existing record to add to an order. This block is displayed whether or not results were found on the assumption that a non-empty result set may not contain the desired result. Changes to neworderbiblio.pl allow supplier name to appear in breadcrumb nav.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Most Perl scripts (as opposed to modules) do
not need to require Exporter.
No user-visible or documentation changes.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
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>
If a new order was created and no fund selected, a db error was thrown due to the
'bookfundid' field being set to NULL. This patch sets the first fund retrieved from
available funds as the default selection in the scrolling list.
A further enhancement might be to allow the library to choose which fund is the
default fund.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
&NewOrder did not save the branchcode posted with a new order. This patch adds that param.
Added code to select the branch the order is for in the branch dropdown list on
acqui/orderreceive.pl
Updating POD and tests
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Added error catching for bad user input on number of days. I.E., if you
try to filter by "bAd", you now get an error message prompting for valid
digits. Also I updated highlighting to use loop_context_vars.
Fixed filtering to work on either days, vendor or both. Previously, if
you selected a number of days, you had to select a vendor or else got
empty results. DOCUMENTATION NOTE: this supplies the expected behavior,
so specifying vendor is no longer required.
Changed filters form to GET method.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
yesterday, the C4::Output::pagination_bar had a bug in it that I was crudely working around.
atz fixed that bug this morning. This patch removes the workaround. Thanks, atz!
I'm sending along atz's patch again with my signoff. It needs to be applied before this, as does the
other 1980 patch. I have sent that along (again), too, with a modified subject line. That makes a total of 3 patches for 1980.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
C4::Search::SimpleSearch was alredy patched to let you pass in the number of results you want back.
These instances were not using the new API. This patch makes all calls to SimpleSearch specify a limit.
I improved the documentation of SimpleSearch a bit to include the third returned value.
I believe there's a bug in C4::Output::pagination_bar, in that it doesn't deal well with URLs
with only one pair of parameter=value passed to it. I'm getting around this by passing in a second
pair that does nothing.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
+ 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>
GetSupplier was split into two functions.
Using GetSupplierFromId
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
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>
had been losing datereceived and replacementprice on modorder.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
bug fixes to display and save publishercode and purchase order numbers.
use invoice number in place of parcel code
fix template apparently allowing user to modify biblio details on add/mod order
removing CGI scrolling_list
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Also cleaning up some missing params and language.
Add another js library: greyox (jquery derivative iiuc).
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
(otherwise, it will be empty, and a constraint will fail, making the input fail as well)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
the 3 parameters :
intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
IntranetNav => C4::Context->preference("IntranetNav"),
are filled by Auth.pm automatically, removing them in templates
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Rule :
- always format_date() before sending date to template
- always format_date_in_iso immediatly after reading a date coming from a parameter
- deal internally only with dates in iso
Note that :
- I could not test things related to issues stats due to the my DB -issues.issuedate not filled, see commit about 3.00.00.006
- acquisitions_stats does not work when you filter on date
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
So this implies quite a change for files.
Sorry about conflicts which will be caused.
directory Interface::CGI should now be dropped.
I noticed that many scripts (reports ones, but also some circ/stats.pl or opac-topissues) still use Date::Manip.
- checkaccount and getborraccountno => GetBorrowerAcctRecord
Many changes in names,
some changes in function signature.
Will be detailed in a mail to kohadevel.
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.
== 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)