Commit graph

257 commits

Author SHA1 Message Date
Jared Camins-Esakov
f09e2ca27e Bug 5528: Analytic records support
Display links to parent biblios, show linked items in holdings, allow holds on
linked items. This uses MARC to maintain relationships.

Sponsored by the Mississippi Department of Archives and History and RapidRadio
Solution. Originally developed by Savitra Sirohi and Amit Gupta at OSSLabs, with
UNIMARC support added by Zeno Tajoli. Commits squashed and merge conflicts
resolved by Chris Cormack from Catalyst. Respect for NORMARC and some small
framework portability fixes made by Jared Camins-Esakov of C & P Bibliography
Services.

IMPORTANT NOTE: A bug in the 773 coding for MARC21 was corrected from the
original OSS Labs code. The 773s generated by the pre-release code did not have
the first indicator set to '0', which means that they were not supposed to
display. Going forward, the first indicator will be set correctly, but existing
records created with this code will no longer appear (they appeared before only
due to another bug). To correct this, you could globally (or, to make sure you
only modify records created with the Analytics tool, for records with 773$0)
change the first indicator of the 773 from blank to '0'.

== Background ==
An analytic record for an item is a more detailed, monographic biblio for an
item attached to a serial record .  This is often used for special issues of a
journal that are released as books on their own (assigned an ISBN, as well as an
ISSN/volume/issue).  It is important for researchers to be able to search for
these items both as issues of the serial, and as monographs.  It is equally
important for the library to not have duplicate item records for the item in
question to have to keep synchronized.

== Establishing relationships ==
Analytical records are connected to items belonging to parent or host
bibliographic records. This can be accomplished by:
* From an analytical bibliographic record linking to an host item by providing
  the item barcode as input
* From a host item by using option "analyze", this creates a new empty
  bibliographic record with field 773 (MARC21) populated
* Running a new CLI script that establishes a relationship between the
  analytical record and the host item identified by the barcode in the
  analytical record's 773$o (MARC21)

== Connecting Records ==
The relationships are maintained in the MARC records, we have not used database
tables at all.

== MARC Representation ==
In MARC21/NORMARC we have used:
* 773$9 to store the Koha item number of the host item
* 773$0 to store the Koha biblio number of the host bibliographic record

The above fields are used to display the relationships in various screens in the
OPAC and the staff interface. Additionally, when populating field 773 with host
item's details, we have used following MARC 21 mapping:
* 'a' <= 100/110/111 $a (author main)
* 'b' <= 250$a (edition)
* 'd' <= 260$a, 260$b, 260$c (place, publisher, year)
* 'o' <= barcode
* 't' <= 245$a (title)
* 'w' <= (003)001 --> if no 001 is available, we can populate biblionumber
* 'x' <= 022$a (issn)
* 'z' <= 020$a (isbn)

In UNIMARC, this code uses:
* 461$9 to store the Koha item number of the host item
* 461$0 to store the Koha biblio number of the host bibliographic record

When populating field 461 in UNIMARC, the following mapping is used:
* 't' <= 200$a (title)

== Treatment of Holds ==
A key requirement was to allow holds to be placed on host items from the
analytical record. We have accomplished this by allowing holds on specific
copies only. Biblio level holds are not allowed. This ensures that holds are
placed on specific items that are relevant to the analytical record.

== Deleting host items with linked analytical records ==
As we have not used database tables to maintain relationships, we had to use
search to find out if any linked analytical records are present. If 1 or more
analytical are present, we do not allow deletion of items. This is similar to
what we see when we try to delete authority records.

== Importing analytical records ==
Analytical records can be imported using bulkmarcimport or the GUI tools. The
new CLI script can be executed after the import to establish relationships with
host items. The script will establish relationships using the host item's
barcode, the barcode must be present in 773$o of the analytical record.

== What if there are two or more copies of the host item? ==
The current design will require that there be two host (773) fields, one for
each copy.

== What if there is no barcode available for the host item? ==
It is still possible to establish a relationship, by populating 773$9 with the
host's item number. However the CLI script uses barcode in 773$o to establish
relationships so it won't work where barcodes are unavailable. Also from an
analytical record, it is possible to establish a relationship to a host item by
providing the barcode as input, this option will not be available as well.

Commits that added the following features were squashed by Chris Cormack (this
is not a list of every commit):
* Display links to host records from biblio detail screens
* Support for UNIMARC, respecting the system preference 'marcflavor'
* Support holds from the OPAC
* Ability to link to items belong to host records from a analytical record
* Display items belonging to host records in the moredetail page
* Ability to edit items belonging to host records, also ability to delink from
  them
* Move get host items code into a C4 routine, also calling the new routine in
  related perl scripts
* Move host field population to a C4 routine, all changes in pl files to call
  new routine
* Allow only specific copy holds for analytical records plus changes to use new
  C4 routines
* Support for holds on items linked via host records
* Storing bibnumber and itemnumber in subfields 0 and 9, plus other mapping
  changes
* New command line script that establishes relationships between analytical
  records and host items and bibs. The script looks for host field (MARC21 773)
  in records, and based on barcode in subfield 'o' populates host bibnumber in
  subfield '0' and host itemnumber in subfield '9'. The script can be run after
  an import of analytical records, it can also be run in the crontab to maintain
  the relationships
* Ability to create analytical records from items, to view linked analytics, and
  prevent deletion of items that have linked analytics
* New template for catalogue/detail.pl (NOTE: not a new template file, just a
  new way of displaying analytics), template displays linked analytics and
  allows creation of analytical records
* New zebra index for item number in host fields. This index will be used to
  display links to analytical records from host records
* Display title of host record instead of the phrase host record
* Using detail.tmpl for analytics tab instead of a new template file
* Improved qualification info prepration in Prephostmarcfield
* Check for linked analytics before deleting item
* Display link to host record and more meaningful anchor text for edit item link
* Analytical record: Unimarc index in record.abs and help in
  create_analytical_rel.pl
* Adding a sys pref that controls display of options to create analytical
  relationships
* Add host entry in XSLT stylesheet in staff item detail
* Added host record support to OPAC detail XSLT
* Adding 773$0 and 773$9 to all frameworks
* Adding 773 subfields 0 and 9 to default marc framework via updatedatabase.pl
* Display create analytics and used in links in catalog detail
* Fixed problem where analytical records not showing in OPAC search results
  because GetMarcBiblio now needs a flag to add item records
* Fixed problem where analytics count was set to 1 for all records, not just
  those with analytics
* Fixed catalogue detail page not to show analytics counts if count is 0

Conflicts:
	installer/data/mysql/updatedatabase.pl
	koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt
	kohaversion.pl

Co-author: Savitra Sirohi <savitra.sirohi@osslabs.biz>
Co-author: Zeno Tajoli <tajoli@cilea.it>

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-13 10:03:39 +13:00
Srdjan Jankovic
8b65b94636 Bug 6405: added enumchron to reserve copy list
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-09 20:01:24 +13:00
Srdjan Jankovic
d388acd482 bug_6770: removed doubled override increment when using AllowHoldPolicyOverride
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>
2011-10-07 09:21:15 +13:00
Robin Sheat
99056625b6 Bug 6687 - allow people to be moved in the holds queue
This fixes a regression introduced by Bug 6526 that told you someone
already had a reserve if you attempted to move their ordering in the
hold queue.

(note: it also cleans a host of trailing whitespace errors that were in
that file)

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>
2011-09-08 13:46:46 +12:00
Colin Campbell
bb251a484f Bug 6562: Silence runtime error in reserve/request.pl
Not defining action just causes logging of noisy
runtime warnings.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-26 10:34:48 +12:00
Robin Sheat
218a35776e Bug 6526 - make the reserves code use the borrowernumber
Previously it used the cardnumber, which caused numerous issues if your
users don't have card numbers.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-06-26 06:44:14 +12:00
Ian Walls
6059599fac Bug 6259: AllowHoldPolicyOverride causes every hold to need override
Adds a check to make sure that the item is actually unavailable before requiring the override

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-27 16:21:43 +12:00
Chris Cormack
ef8171ba42 Merge remote branch 'kc/new/enh/bug_4449' into kcmaster 2011-04-09 11:40:47 +12:00
Ian Walls
00e019bfd7 Fix for Bug 4449: AllowHoldPolicyOverride cannot over all policies
AllowHoldPolicyOverride should be able to override AllowOnShelfHolds, as well as other possible reasons for blocking a hold. Before, this only
allowed override of branch policies set in Circ Rules.

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-09 11:39:50 +12:00
Jared Camins-Esakov
8b582d863d Bug 6100: request.pl should check maxreserves exists
Adds a check to confirm that the maxreserves syspref actually has a value before
using it. Also fixes an off-by-one error in the maxreserves calculation that
would allow librarians to place maxreserves + 1 holds for patrons.

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-07 14:00:11 +12:00
Ian Walls
48ee1dcb3f Bug 5547: Hide Lost Items dev
Adds a Hide Lost Items option to the staff client, as detailed in the enhancement request
at http://wiki.koha-community.org/wiki/Hidelostitems_option_for_the_staff_client_RFC

Minor edits: Whitespace

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-30 20:20:05 +13:00
7a587112f0 Fix for Bug 4853 - Rights needed to renew a document
Correcting check for circulation permission. Also updating
updateitem.pl (for setting lost and damaged statuses) with
circulate permissions.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-06 08:26:35 +13:00
6709d0e4f7 Follow-up correction for Bug 5462 - Fix variable names for template::toolkit
Previous commit modified checks for the item-level_itypes preference
to look for a different variable name but didn't update where that
variable is set in Auth.pm.

Other scripts perform a direct check of item-level_itypes and must
continue to use the name of the variable in the database.

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-02-08 21:03:28 +13:00
Christopher Hall
f03000f50f Bug 5462: modified intranet scripts to match templates
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
2011-02-03 09:57:24 +00:00
Ian Walls
5e8b078651 Bug 4449: AllowHoldPolicyOverride does not override all hold policies
This patch provides a universal override to any hold policy if the AllowHoldPolicyOverride is set.
Amongst other overrides, this patch allows missing, non-checked out items to be placed on hold even with AllowShelfHolds turned off.

Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-02 08:35:58 +13:00
Colin Campbell
bd93bfdbc4 Bug 5392 Initialize vars used in building url strings
If no failures are to be added to the to the strings for redirect
the corresponding variables are undefined causing warnings
to be logged. Initialize them so that the error log is not
being filled with trivia.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-13 06:46:21 +13:00
Liz Rea
21cabf7666 bug 5237: Testing renewals on patron barcodes with + signs at the end
According to notes in bug, patch was originally by Chris Cormack.

Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-02 11:20:01 +13:00
39c177e3f2 bug 3344: display in-transit status on holds priority list
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-24 07:55:35 -04:00
Nahuel ANGELINETTI
5f0f488596 (bug #4853) change rights needed to renew loans
Use "circulate" right, instead of "borrower".

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-09 09:55:29 -04:00
ede20857ea bug 4816: require authentication for placerequest.pl
Otherwise, it was possible to construct a URL to place
hold requests without authorization.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 23:30:51 -04:00
Lars Wirzenius
eccea7d2be Fix FSF address in directory reserve/
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-03-16 20:17:54 -04:00
e31b7bd9a5 Fix for Bug 2970, Create a permission for modifying holds priority
Adding two new granular permissions under 'reserveforothers,' place_holds
and modify_holds_priority. If a user does not have modify_holds_priority
permission, the option to change the priority of a hold is hidden.
Revised patch includes changes to mandatory data files including
properly translated fr-FR version.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-19 05:12:58 -05:00
21c7f786bf bug 1532: various code cleanup
* export C4::Reserves::CancelExpiredReserves
* rename  misc/cronjobs/cancel_expired_reserves.pl
  to misc/cronjobs/holds/cancel_expired_holds.pl
* added cancel_expired_holds.pl to example crontab
* fix staff crash if AllowHoldDateInFuture is on
* expirationdate is now nullable instead of relying
  on 0000-00-00

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-18 22:49:48 -05:00
Kyle M Hall
3502810346 (bug 1532) Reserves Updates Ported From Dev_Week
This is a much improved re-implementation of the reserves updates from dev_week.
Less new code has been added, and more existing functions are used instead of adding new ones.

The 'Lock Hold' function has been removed due to it not working as intended.

[RM note for documentation: this adds the following features:

* ability to specify an expiration date for a hold request
  when placing it via the staff interface or OPAC
* daily batch job to cancel expired holds
* nice interface to change the priority of hold
  requests for a bib in the staff interface]

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-18 22:49:47 -05:00
Nahuel ANGELINETTI
c0edb3adef (bug #3897) hold policies and circcontrol
This patch fix hold policies way to do, make it using circcontrol syspref to know the branch the rule must be based.
2009-12-20 14:31:33 +01:00
Henri-Damien LAURENT
4271bbb738 Modifying Members : Add Mod and GetMember
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>
2009-09-30 11:29:23 +02:00
Henri-Damien LAURENT
3c741d2376 Smart Rules enhancements
Adding finedays and reservesallowed and renewalsallowed management in smart rules
Adding Clone Rules
Adding CanBookBeReserved and CanItemBeReserved in C4::Reserves
Manage Reservesallowed in opac and staff interface
Manage renewalsallowed in C4/Circulation.pm
Update Database follow

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-30 11:22:20 +02:00
Colin Campbell
4f4b3f1029 Avoid unnecessary warnings in reserve/modrequest.pl
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-15 09:24:33 -04:00
e50bc421c4 Changes to make checkouts/holds display the same on circulation and patron detail screens (Bug 3106)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-06 14:37:10 -04:00
Chris Cormack
634df1c76c Bug 3539, Adding a systempreference to hide borrowers name on the catalogue detail page, and holds page
Squashed commit of the following:

commit e9dd6e1dee03fe3503f7995b57510f9edfe6b333
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date:   Wed Aug 19 08:14:53 2009 +0000

    Version number

commit df3ee5473e79b760a91c62b96d7ce19229e0fd27
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date:   Wed Aug 19 08:08:11 2009 +0000

    French systempref

commit c4b036e4e43947d7d1fb9f2e18e460788cb4e1ec
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date:   Wed Aug 19 00:25:33 2009 +0000

    Code to update the database, and updating the sysprefs.sql

commit f74b942c24d5e9c33a4ec0e5ac706a0e347eb1a7
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date:   Tue Aug 18 02:07:22 2009 +0000

    Now hides the name on the detail screen too

commit 53c80dbef88e360a4bbb78ecff3a6ca6ec401398
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date:   Tue Aug 18 01:35:19 2009 +0000

    Allowing the librarians to choose to hide the borrowers name on holds

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-08-23 13:52:26 -04:00
Michael Hafen
74a4f29236 Allow the reserve date to be set on holds
This adds to the interface and code the ability to set the reserve date when
requesting a hold.

Resubmit.  Sorry, I formatted it from the wrong branch.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-08-11 18:02:26 -04:00
9693cb36a8 bug 2505: cleanup warnings in reserve/request.pl
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-08-01 09:10:28 -04:00
Garry Collum
e997a4a11c Bug 2553: Additional patch for the branch drop-down in Existing Holds.
Improves previous patch through the use of GetBranchesLoop. Also adds highlighting to the Existing holds table.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-08-01 08:42:36 -04:00
Garry Collum
a4068a8176 Bug 2553: Alphabetizes the drop-down lists of libraries in the Existing Holds view of request.pl.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-07-20 21:14:28 -04:00
Paul Poulain
6924e7d6b4 fix for 2997 : superlibrarian's ability to edit item/patron home branch affected if all other privileges are selected
Before this patch, we used to test for flags == 1, which was wrong when patron had all privileges.
This patch just adds a %2 to check that patron has superlibrarian privilege, and maybe something else we don't care.

I think I fixed it everywhere except in acquisition, that will be addressed by BibLibre new acquisition module.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-05-28 17:06:46 -05:00
Galen Charlton
17ab0a7532 bug 3263: Staff Search Results Interface Changes
Coding by Rick Welykochy <rick@praxis.com.au>

[1] Three new system preferences to enable particular
bib record views in the staff interface:

viewMARC
viewLabeledMARC
viewISBD

Implements enhancement 2642.

[2] New button in the regular and cataloging search results
   pages in the staff interface to allow the operator to redo
   the search against Z39.50 targets instead of the Koha database.

[3] Added copyright date and edition to cataloging and Z39.50 search results.
    Implements enhancement 2640.

Feature sponsored by MassCat.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-05-28 06:42:20 -05:00
Stephen Edwards
47690dbcc4 bug 3093: Enhance placing of holds in the staff interface.
This patch allows staff users to request reserves on multiple
items at one time.

Added checkboxes, select-all, clear-all, and place-hold button to
staff search results page.  Place-hold button will only appear if
the user has permission to place holds for others.  Item-level
Place-Hold button will not appear for multiple holds, nor will
the vertical detail menu.

Patron input page now shows multiple items, if applicable.

Hold confirmation page shows results for multiple items, if
applicable.  Those which cannot be reserved are highlighted and
are excluded from the reservation.  The reservation is placed at
the biblio number (i.e. next available) level.

Fixed display of item type.

Removed side menu for multiple items; removed item-oriented button for multiple items.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-24 06:12:06 -05:00
b70cd9f3eb Adding patron address to select patron form.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-01 10:49:27 -05:00
Joshua Ferraro
f823508b9e Adding warnings to request/ files
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-09 14:36:46 -06:00
Galen Charlton
a263230a06 followup to holds policies - fix itype
Overriding items.itype from biblioitems.itemtype
is needed only with item-level_itypes is OFF.

[LL bug 321]

Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-01-16 08:22:52 -06:00
Jesse Weaver
1301705150 Add holds policies
This adds holds policy creation support to smart rules and read support to
C4/Circulation.pm, and the two reservation pages. It also adds a system
preference, AllowHoldPolicyOverride, to control whether the staff can override
these policies.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-01-16 08:21:07 -06:00
Michael Hafen
03d8521cbf Allow renewal limits to be overridden
Originally by Jesse Weaver <jesse.weaver@liblime.com>

This patch creates a new system preference, AllowRenewalLimitOverride,
that, if YES, allows the renewal limit to be manually overridden. It
updates C4::Circulation and reserve/renewscript.pl to obey this.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-10-23 10:34:50 -05:00
Jesse Weaver
7da895cda7 fix for bug 1771: Template errors with remote itemtype image
This adds a new function, getitemtypeimagelocation, that returns the image
unmodified for absolute urls and returns the proper intranet or opac path
otherwise. It also updates all of the relevant files to use that function.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-21 16:50:29 -05:00
Galen Charlton
2450444c76 bug 2502: correctly check patron account expiration
When placing a hold request from the staff interface,
now correctly indicate if the patron account has expired.
Prior to this patch, would warn that the account
had expired even when the expiry date is in the future,
and vice versa.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-18 07:15:31 -05:00
Galen Charlton
26469d87a2 bug 2520: don't change item-level requests to bib-level
Prior to this fix, changing the priority of any hold requests
in the queue of requests for a bib would convert
all item-level requests to title-level requests.

As part of this fix, improved display of the holds queue
so that item-level and bib-level requests can be more
clearly distinguished.

Documentation note: new screenshot of list of requests for
a bib in the staff interface.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-08-18 07:15:28 -05:00
Joe Atzberger
2c9aba48dc Fix to prevent crash on null dateexpiry.
Error was:
    Usage: Date::Calc::Date_to_Days(year, month, day)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-08-08 12:41:30 -05:00
Jesse Weaver
8510d2664d fix for bug 2359: Returning an item from moremember.pl...
Adds a 'forgive fines' checkbox to moremember.pl that defaults to off, and removes the hardcoded $exemptfine = 1 argument to AddReturn in reserves/renewscript.pl. Also, cleans up a little inline CSS.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-18 13:06:20 -05:00
Galen Charlton
784316826c bug 1710 and 1739: availability for item-level holds
Fixed rules for determining whether an item is
available for an item-level hold request.  Create a
new function in C4::Reserves, IsAvailableForItemRequest(),
that checks whether an item is potentially available for
an item-level hold request.

An item is considered available if:

* it is not lost AND,
* it is not marked not for loan AND,
* it is not withdrawn AND,
* it is not damaged (unless the AllowHoldsOnDamagedItems syspref is ON), AND
* it is not on loan (unless the AllowOnShelfHolds syspref is ON)

Preventing a hold request on withdrawn items is bug 1739, as is
the new preference on whether to allow holds on damaged items.

Removing the condition that an item cannot be requested if
it has already been requested by another patron is the topic of bug 1710.

Note that this patch does not change the behavior where if
independent branches is on and the canreservefromotherbranches
syspref is off, a staff operator is prevented from placing
an item-level hold request on an item from a different branch.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 14:14:49 -05:00
Ryan Higgins
e00966e073 Report borrower's home library on reserves library mismatch.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-25 07:20:22 -05:00
Galen Charlton
a9f7993b3e fix errors with using today's date and format_date
This patch should reduce the occurrence of the following
message in the error log:

Illegal Date '2008-3-14' does not match 'iso' format: yyyy-mm-dd

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-15 08:37:21 -05:00
Galen Charlton
8e263f68ec better way of fixing "renew all"
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-15 08:37:07 -05:00
Galen Charlton
09b38e0c24 fixed 'renew all' button on patron details page
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-15 08:36:45 -05:00
Galen Charlton
9222f7a6ca created old_issues and old_reserves tables
The new tables have the same structure and constraints
as the tables they archive with the following exceptions:

* borrowernumber and biblionumber in old_reserves can be
  NULL
* the FK constraints (e.g., for itemnumber) on old_reserves
  set the child column to NULL if the parent row is deleted
  instead of deleting the child row.
* there is no FK constraint on old_issues.branchcode, allowing
  a branch to be deleted without changing archived requests.

Some miscellaneous cleanup was done as part of this patch:

* GetMemberIssuesAndFines (C4::Members) now uses bind variables
* fixed POD for GetMemberIssuesAndFines

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-15 08:36:31 -05:00
Chris Cormack
c3c47af750 Fix for renewals not working at circulation
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-18 21:42:27 -06:00
Henri-Damien LAURENT
02c3fe4c45 ordering branches by branchcodes.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-11 06:10:03 -06:00
Henri-Damien LAURENT
fc0ac9ea1b Adding manual datedue for renewals on moremember pages.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-25 16:52:18 -06:00
Chris Cormack
ef6b767117 Changing CanBookBeRenewed to pass back the reason a renewal cannot proceed
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-08 16:13:20 -06:00
Henri-Damien LAURENT
e7b1232250 Adding feature : multiple returns via moremember page.
Adding Connection for renewScript
Adding javascript functions to moremeber.tmpl
Adding error management for returns.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-08 14:07:03 -06:00
Galen Charlton
8c60e82605 fixed variable masking warnings found by perl -w
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-03 20:23:59 -06:00
Galen Charlton
8e41022b0d item rework: moved various accessor functions
Moved following functions from C4::Biblio to
C4::Items:

    GetItemStatus
    GetItemLocation
    GetLostItems
    GetItemsForInventory
    GetItemsCount
    GetItemInfosOf
    GetItemsByBiblioitemnumber
    GetItemsInfo
    get_itemnumbers_of

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-03 16:25:05 -06:00
Galen Charlton
9e7c94bf96 item rework: moved GetItem
Moved from C4::Biblio to C4::Items.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-03 16:24:04 -06:00
9aadee2f92 Some refinements to statuses and messages. Beginning to standardize call number displays.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-03 01:20:33 -06:00
Chris Cormack
db37744333 Bugfix for 1725 request.pl erroring with a biblio that has no items
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-01 17:43:40 -06:00
Joshua Ferraro
3b7029f4ed modrequest.pl did not previously have auth checking, security bug!
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-25 13:58:01 -06:00
Joshua Ferraro
200e44c1ce WARNING: BIGFIXING 670
670 is primarily about the status of a biblio or item that's got a
hold on it ... specifically the 'in transit' and 'waiting' status.
It applies to the following pages.

* request.pl - tested
* detail.pl - tested
* circulation.pl - tested
* moremember.pl - tested
* opac-user.pl - doesn't show transit status, but only shows waiting
when item has arrived at the pickup library
* opac-detail.pl - doesn't show hold statuses

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-25 11:07:38 -06:00
Joshua Ferraro
a8ba013e1e Synching opac with fixes to reserves adding back dev_week opac reserve cancel feature that was removed Could use some style improvements
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-24 02:01:04 -06:00
Joshua Ferraro
43334b8cec bugfixing request.pl
Major Fix:
Fixing bug where 'expected' label existed for items that
were 'waiting'

Minor Cleanup:
Show correct statuses
Show itemtypes at correct levels depending on
global system preference
Display branch names, not branch codes
Adding in visibility option for 'canreservefromotherbranches' syspref

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-24 00:43:26 -06:00
Joshua Ferraro
61d8942a20 show itemtypes at level specified in syspref for holds
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-24 00:43:14 -06:00
Chris Cormack
5e1921e6af Missed one priority == 0
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-23 20:27:15 -06:00
Chris Cormack
883edf9391 Priority = 0 does not equal reserve found, only found='W' equals reserve found
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-23 20:27:14 -06:00
Joshua Ferraro
1ff189e59b cleanup of admin/ after Dates integration 2007-12-04 19:10:59 -06:00
Joe Atzberger
21a875ce36 reserve and virtualshelves (leftovers) - Dates.pm integration and warnings fixes.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-04 18:21:14 -06:00
Chris Cormack
e30fb761ec Adding a system pref so you can stop users from reserving items that dont belong at their branch
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-13 21:24:23 -06:00
Chris Cormack
653885bdf0 Fix for rank being set to zero if a specific item is selected
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-13 12:46:51 -06:00
Chris Cormack
9123b86bb8 Fix for bug 1402, now if a renewal fails, the librarian is aware of it
Another patch to come

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-07 08:05:13 -06:00
Chris Cormack
606ecb532a Patch from Joe Atzberger to remove $Id$ and $Log$ from scripts
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-18 16:27:04 -05:00
0c454c95b7 Tweaking holds screen, trying to get additional patron information to show up in holds sidebar; Tweaks to serials interface, including overhaul of subscription-add screen
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-11 15:56:51 -05:00
Paul POULAIN
57f8e48039 #1455 (placing reserve from OPAC)
SANOP hadn't ported reserve to OPAC yet. that's why opac reserves were no more working.

I've fixed that, but it need more testing...

Signed-off-by: Chris Cormack <crc@liblime.com>
2007-10-03 14:58:55 -05:00
Paul POULAIN
f4339f536f #1445 checking that there is an expiry date
if there is none, automatically warn the librarian

Signed-off-by: Chris Cormack <crc@liblime.com>
2007-10-03 14:58:03 -05:00
78df55c5a5 More work to toolbars and menus. Adding experimental YUI-based toolbar to detail.tmpl. Adding dashboard-style layout to tools-home.tmpl. Correcting markup in request.tmpl. Adding patron information variables to request.pl for display in holds-menu.inc.
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-10-02 15:40:03 -05:00
401dce8971 Various random noodlings: - Visual changes to circ, detail, request, and member pages. Fixed checkouts/reserves tabs on circulation.tmpl. Moved new form-layout CSS into staff-global.css and generalized it for wider use. Refined patron details sidebar for use on circulation.tmpl
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-27 16:32:52 -05:00
Chris Cormack
1a4fc157bf Applying the fix for bug 1416 from paul
Had to edit the patch as it was corrupt
2007-09-20 17:39:43 -05:00
Paul POULAIN
3206db0692 no need to define a const var just to pass it to a sub
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-20 15:31:23 -05:00
btoumi
9395334e69 add control of 'return date' if it 's a special or repeatable holidays , and return a right return date
(renewal)
2007-07-25 14:09:39 +00:00
tipaul
23427c51b9 some fixes (and only fixes) 2007-06-15 13:44:44 +00:00
tipaul
577a7bf094 some (minor, functionnaly speaking) bugfixes 2007-06-05 08:54:17 +00:00
tipaul
1e2d7c8b5a cleaning duplicate entries in top menus & fixing a bug in "branch" index (zebra) & updated french translation 2007-05-30 09:33:18 +00:00
tipaul
fb143b71ba BIG COMMIT : cleaning of Reserves.pm. See detail on koha-devel 2007-04-24 16:10:36 +00:00
hdl
b642e687d2 Still Code Cleaning.
Abiding by Name Convention.
Using Members wherever it should be used.
Borrower is only used for borrower Categories.
+ GetBorrowersWhoHaveNeverBorrowed
and lists like that.
2007-04-24 15:41:27 +00:00
hdl
100e6a9808 functions that were in C4::Interface::CGI::Output are now in C4::Output.
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.
2007-04-24 13:54:28 +00:00
tipaul
9f42b8ad49 renaming currenttransfers to transferstoreceive 2007-04-23 15:21:17 +00:00
tipaul
3ddec89262 moving Reserves2.pm to Reserves.pm 2007-04-23 14:08:47 +00:00
hdl
0b66bd800d Code Cleaning Members.
- checkaccount and getborraccountno => GetBorrowerAcctRecord

Many changes in names,
some changes in function signature.
Will be detailed in a mail to kohadevel.
2007-04-23 13:10:07 +00:00
tipaul
7bd99ef365 removing all useless %env / $env 2007-04-18 17:00:14 +00:00
tipaul
c596d55374 HUGE COMMIT : code cleaning circulation.
some stuff to do, i'll write a mail on koha-devel NOW !
2007-04-04 16:46:22 +00:00
tipaul
f8e9fb6445 rel_3_0 moved to HEAD (introducing new files) 2007-03-09 15:34:17 +00:00
tipaul
fc1342f73d rel_3_0 moved to HEAD 2007-03-09 15:12:54 +00:00
tgarip1957
5b41a8e262 New XML API 2006-09-11 17:41:54 +00:00
toins
62689dba49 subs renamed 2006-07-21 09:41:55 +00:00
alaurin
193e22714f Add a new system preference 'AutomaticItemReturn' :
if this prefence is switched on: the document returned in another library than homebranch, the system automaticly transfer the document to his homebranch (with notification for librarian in returns.tmpl) .

switch off : the document stay in the holdingbranch ...

correcting bugs :
- comment C4::acquisition (not using in request.pl).
- correcting date in request.pl
-add the new call of function getbranches in request.pl
2006-06-08 15:36:31 +00:00
alaurin
c5f7394fcb change the name of function : "get_return_date_of" to "get_current_date_of" 2006-06-07 13:47:55 +00:00
alaurin
0f00577a9e bug fix : for item reservation, now the system don't keep the reserve if the document is returned, works fine !!!! 2006-06-06 12:26:57 +00:00
alaurin
c0a44fe115 improvement of reserves.pl with item - reservation 2006-05-19 17:05:11 +00:00
plg
68924c5e6b New feature from SAN Ouest Provence: ability to reserve a specific item in
the intranet. The development was made on branch 2.2 by Arnaud Laurin from
Ouest Provence and integrated on HEAD by Pierrick Le Gall from INEO media
system.

New page reserve/request.pl taking a biblionumber as entry point.

New functions:

- C4::Biblio::get_iteminfos_of retrieves item informations for a list of
  itemnumbers

- C4::Biblio::get_biblioiteminfos_of retrieves biblioitem informations for a
  list of biblioitemnumbers

- C4::Biblio::get_itemnumbers_of retrieve the list of itemnumbers related to
  each biblionumber given in argument.

- C4::Circulation::Circ2::get_return_date_of retrieves return date for a
  list of itemnumbers.

- C4::Koha::get_itemtypeinfos_of retrieves the informations related to a
  list of itemtypes.

- C4::Koha::get_branchinfos_of retrieves the informations related to a list
  of branchcodes.

- C4::Koha::get_notforloan_label_of retrives the list of status/label for
  the authorised_values related to notforloan.

- C4::Koha::get_infos_of is the generic function used by all get_*infos_of.

- C4::Reserves2::GetNumberReservesFromBorrower

- C4::Reserves2::GetFirstReserveDateFromItem

Modified functions:

- C4::Reserves2::FindReserves was simplified to be more readable.

The reservation page is reserve/request.pl and is linked from nowhere as
long as zebra is not stable yet on HEAD.
2006-05-17 16:06:23 +00:00
plg
1783cdba7c improvement: id on each fieldset of circulation template.
template guideline compliance: on circulation template, selected status of
each option in date options (day/month/year) is managed by a
TMPL_IF/TMPL_ELSE outside the <option>.

bug fixed: on circulation template, today issues could not be renewed with
new reserve/renewscript.pl items list coming from HTTP request.

bug fixed: on return template, included template to close the <head> was
wrong.

bug fixed: on member/moremember template, renew items comply with new
reserve/renewscript.

simplification: deletion of useless input param look-up table in
reserve/renewscript.pl, direct use of CGI method.
2006-04-03 09:37:59 +00:00
plg
3d988121ed modification: deep circulation template rewrite to make it easier to
read. HTML output uses fieldset, it should be cleaner, feedback welcomed.

improvement: renewscript.pl simplified by using named submit buttons
(renew_all and renew_checked), and by using arrays in HTTP query for items.
2006-03-30 14:52:13 +00:00
tipaul
36db394d23 moving reserves to a reserve directory 2006-01-17 16:46:25 +00:00