Added syspref to updatedatabase.
Updated kohastructure.sql with the limits table.
Signed-off-by: Andrew Moore <andrew.moore@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch also lightly refactors the conditional structure wrapping the
call to AddItem, renaming a couple variables to remove double-negatives and
abstruse logic. If SpecifyDueDate is ON, then the input box is used to pass
GlobalDueDate, allowing modification by circ staff, resulting in a default
'sticky' due date of the global due date in that mode.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Before, if you do not provide a "branchcode" you have an empty csv export.
Now, if you have an empty branchcode you have all overdues listed in csv.
(I made a typo error in code)
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Removed unused $dbh variables, converted to loop_context_var instead of togglecolor.
Prevented double comparison in sort. The rest is whitespace cleanup.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
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>
holdingbranch table not referenced in view_holdsqueue.pl, causing irresolvable ambiguity in
sql query when limited by library (holdingbranch). This was causing DBI errors to be thrown
in test database, and library-limited holdsqueue display was thus empty.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
the stickyduedate input isn't sent on from the question dialogs. This
causes it to un-stick if there is a question.
Also removed month, day, and year as there seems to be no use for them.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch fixes several improperly named variables and includes the home library variable on the pages that were missing it. The category
description was added to the GetMemberDetails function since a couple of the pages using that function required the variable.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Added the zipcode to display along with the patron address when you are viewing a Patron from the intranet.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Had to add itemnumber to the hash of returned item information.
Links to moredetail.pl with itemnumber and #item in the url.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
* added author, ccode, location, and item enumchron
* sorted by collection, locatoin, call number, author, title
As part of this patch, commented out the JavaScript tablesorter,
which could cause the browerer to lock up if the picklist
contains more than a couple hundred items to pull.
Some sort of pagination is clearly required, but since
it is necessary for customers to be able to print out
the picklist, there still needs to be an option to
see the complete list for a branch.
This patch includes the final component of the fix
for bug 2331.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
_Findgroupreserve, which identifies which hold request an
item should fill, is modified to check to see if
that item is targeted to fill a specific hold request.
It first checks for a targeted match with an item-level hold request,
then a targeted match with a title-level request. If no
such targeted match exists, it then checks for the top entries
in the holds queue.
The hold targeting map (i.e., the hold_fill_targets table) is
populated by the build_holds_queue.pl batch job. If that
job is not used, the behavior of _Findgroupreserve
is not changed.
This patch also
* adjusts ModReserveMinusPriority so that it calls
_FixPriority().
* adjusts circ/returns.pl so that it
correctly detects transfers.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Title-level and item-level requests are now more
clearly distinguished in the patron details page
and the patron checkout page.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
fixing a translation problem with borrowers_stats.ptmpl:
xgettext.pl: Warning: borrowers_stats.tmpl: line 28: SGML "closed start tag" notation: <p<!-- TMPL_IF NAME="debug"--> class="debug"<
This adds a variable to the checkout form, debt_confirmed, that is 1 when the de
bt block message has been canceled for this session.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This makes C4::Circulation::AddRenewal update lastreneweddate, then has circulation.pl check today's date against issuedate or lastreneweddate. It also cl
eans up a little parenthesis spacing.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Modified overdue check in circ/circulation.pl to use Date::Manip's Date_Cmp. This would likely be useful other places in the file.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
I changed the interface to overdue_notices.pl at the last moment and forgot to correct one call to it.
This corrects circ/overdue.pl to call misc/cronjobs/overdue_notices.pl with the correct parameters.
Even better would be to move most of the code from overdue_notices.pl to a method somewhere
that both of these programs could call. It's inappropriate to call a cronjob from one of our CGIs.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch adds the misc/cronjobs/overdue_notices.pl script that is intended to replace
overduenotices.pl, overduenotices-30.pl and overduenotices-csv.pl. It adds messages to
the message_queue to be sent later (by process_message_queue.pl). It also marks borrowers
as debarred if their issues become too overdue.
It is intended to be run from cron nightly with usage something like:
0 2 * * * misc/cronjobs/overdue_notices.pl
C4::Members:
- improved documentation on ModMember
- made ModMember return a useful value (the return value of the database call)
- added a DebarMember method
- adding t/lib/KohaTest/Members/DebarMember.pm to test ModMember
misc/cronjobs/overdue_notices.pl
- designed to replace overduenotices.pl, overduenotices-30.pl, and overduenotice-csv
Changes to C4::Letters:
- EnqueueLetter now lets you pass in to_address and from_address which can override defaults
- _send_message_by_email pays attention to these defaults.
- now handles attachments with MIME::Lite
C4::Overdues
- added GetBranchcodesWithOverdueRules
- added t/lib/KohaTest/Overdues/GerBranchcodesWithOverdueRules.pm to test that.
circ/overdue.pl
- replaced call to obsolete overduenotices-csv.pl with call to overdue_notices.pl
KohaTest:
- added three helper methods: random_phone, random_email, random_ip
- these can be used to populate example records
- you can now pass an optional lengh to random_string
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The "transfers to receive" report included
unused code to delete a transfer. Since the
"transfers to receive" report is still useful
to give a library a report of items that it should
expect to receive, I am retaining the report. However,
since the cancel transfer functionality would not
work even if it were uncommented in the template, that
portion is removed.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This hold request and transfer report no longer
works now that hold requests are processed via
checking items in.
This patch removes the report; please consult
the koha-devel message re "RFC - remove circ/transferstodo.pl prior to general release"
for more details.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This resolves all remaining significant parts of the bug.
Note that this may have to be revisited for hourly or partial-day circ functionality
for 3.2.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
If a patron's fine balance is over the limit set by the
noissuecharges syspref, checkouts are blocked. However,
this was not made very clear in the interface.
Improved the display by doing the following:
[1] If the fine balance is over the noissuecharges limit, use the "blocker"
styling (i.e., make all of the text red).
[2] Add wording to explicitly signal whether or not the fine balance is
blocking charges.
Documentation changes: new screenshots of blocked checkouts.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
ysearch.pl returns a list of borrower details for circulation
autocomplete widget. Accented characters wasn't displayed
correctly.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
from circulation dashboard, creates new sysprefs, assigns
the sysprefs to the proper tab in sysprefs (Circulation),
updatedatabase changes to do the previous, and fixing one
redundent limit in the query for build_holds_queue.pl
Note: still need to address item-level holds
* Added authorization check - user must have a valid
session cookie to use this feature; before this change,
anybody could use circ/ysearch.pl to retrieve the entire
patron directory without authorization.
* (bug 1953) now uses SQL placeholders
Note: this does, unfortunately, noticeably slow down automcompletion;
this indicates a need for factoring of C4::Auth to make authentication
for AJAX scripts as fast as possible.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Adding a new routine GetBorrowercategoryList in C4/Member
Displaying categoryname when listing categories in memberentrygen.pl
using categorytype returned with GetMember wherever it is possible.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Adding New Systempreference AddPatronLists
This systempreference allow administrator to choose if patrons are created on categorycode lists or category_type ones.
Overloading GetBorrowerCategory so that if no parameter provided, it returns the list of category records
Changing memberentry.pl in order to use the categorycode when provided.
Bug Fixing Circulation.pl so that doesnot come up with Error 500
with no category selected for GetBorrowerCategory
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Note: I question the use of GROUP_CONCAT(... SEPARATOR '<br/>'),
because that puts knowledge of the output mechanism (currently HTML)
into the SQL query. However, I am not fixing this right now.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
New billing report has nothing to do with hold requests per se,
so change template variables in order to not confuse customizers.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
* use Date::Calc to perform date arithmetic
* use Date::Calc::Today to consistently format the current date
* format date per syspref in overdue report
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Billing.pl -- new, gives bills that occur in a range, works
pendingreserves.pl -- fixed, works now, with branches also
reserveratios.pl -- indicates distressed reserves
itemslost.pl -- Fix to this to make it more useful and fix bugs
Itmes.pm -- small change to work for itemslost, should not affect
anything else
and all tmpl files.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
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>
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>
Added GetPatronImage function to Members.pm
Added code to circulation.pl, boraccount.pl, readingrec.pl, and moremember.pl to grab patron image and pass it off to the template
Corrected code in circ-menu.inc to properly display patron image.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
* Move CheckItemPreSave to C4::Items (from C4::Biblio)
* Modified C4::Biblio::AddBiblioAndItems to use appropriate
internal routines from C4::Items
* Moved GetItemnumberFromBarcode to C4::Items
* Removed duplicate C4::Biblio::_koha_new_items
* Removed disused C4::Biblio::MARCitemchange
Currently AddBiblioAndItems is a special routine that
uses private subs from both C4::Biblio and C4::Items.
This needs to be refactored.
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>
NOTE: will fail if user manages to enter date
in wrong format. This is not a change from before
this patch, but is pointed out.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
- Member pages now use member toolbar include instead of circ one
- setstatus.pl now uses 3.0's patron renewal function
- Adding missing item-bullet.gif (Bug 1659)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Refactoring to provide single place to get CGI::Session ojbject;
fixes bug for DB storage method other than 'mysql'.
This refactoring is also part of the patch series for
handling large input files for staging and processing
MARC records.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
item-level_itypes still need display changes in both opac and staff.
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>
See attached file. Thanks.
>From 1c3021f31675193ad2e9b91a95191f9ae0caeff2 Mon Sep 17 00:00:00 2001
From: Frederic Demians <f.demians@tamil.fr>
Date: Wed, 24 Oct 2007 11:50:08 +0200
Subject: [PATCH] Borrower name autocompletion improvement
Autocompletion is selected by syspref directly in circ-search.inc.
This way it could be activated elsewhere just by adding CircAutocompl
param into page using circ-search.inc.
Done for example in circ/branchtransfers.pl. Must be done in all other
circ/*.pl pages.
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>
- updating templates to have tmpl_process3.pl running without any errors
- adding a drupal-like css for prog templates (with 3 small images)
- fixing some bugs in circulation & other scripts
- updating french translation
- fixing some typos in templates
Abiding by Name Convention.
Using Members wherever it should be used.
Borrower is only used for borrower Categories.
+ GetBorrowersWhoHaveNeverBorrowed
and lists like that.
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.
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
- the system check if we don't have another reserv for the document returned, we return the document to his homebranch, ......
- improvement of returns, adapt item reservation , loan rules, and transfer rules ....
new infos displayed :
-Waiting position of borrower on document reserve .
-Follow the document he's in transfert .
-more infos of document are displayed in a specific cell ....
N.B : the old display of reserves infos are only commented, will be removed, if new display is ok for everybody ...
This is to allow a person who is associated with many organisations to choose the one he/she is borrowing an item for
No changes to the issuing code, or the issues table, the associated borrower number is stored in the statistics table
branchreserves : to see reserves for one library (with the branchip selection or librarian preferences)
currenttransfers : show all the transfers are waiting in the library
waitingreservetransfers: show all the book the librarian have to transfer to an another library .
"actions" are bugged, will be corrected .
Seems not to break too many things, but i'm probably wrong here.
at least, new features/bugfixes from 2.2.5 are here (tested on some features on my head local copy)
- removing useless directories (koha-html and koha-plucene)
* synch with rel_2_2. Probably the last non manual synch, as rel_2_2 should not be modified deeply.
* code cleaning (cleaning warnings from perl -w) continued
http://bugs.koha.org/cgi-bin/bugzilla/show_bug.cgi?id=858
* added a button to cancel issue
* adding checkbox to cancel reserve on the book (checked by default)
* the cancelation reserve is done on reserves done for a given item or for any item
Nelsonville, pls test & confirm it's OK
This 1st commit reorders deeply the circulation module.
The goal is to :
* have something 100% templated/translatable.
* have something easy to read & modify, to say to customers/users : you can define your circulation rules as you want if you accept to look in C4/Circ/Circ2.pm
The circulation now works :
1=> ask for the borrower barcode (as previously)
2=> ask for the item barcode.
3=> check "canbookbeissued". This new sub returns 2 arrays :
- IMPOSSIBLE : if something is here, then the issue is not possible and is not done.
- TOBECONFIRMED : if something is here, then the issue can be donc if the user confirms it.
4=> if TOBECONFIRMED is set : ask for confirmation, loop. if neither are set or confirmation flag is set (2nd pass of the loop), then issue.
The IMPOSSIBLE & TOBECONFIRMED hashs contains :
* the reason of the line. always in capitals, with words separated by _ : BARCODE_UNKNOWN, DEBTS ... as key of the hash
* more information, as value of the hash ( TOBECONFIRMED{ALREADY_ISSUED} = "previous_borrower_name", for example)
This commit :
* compiles
* works on certain situations, not on other
* does NOT issue (the line is # )
* does not check issuing rules depending of # of books allowed / already issued
The next step is :
- check issuing rule.
- extend issuing rule to have a 3D array : for each branch / itemtype / borrowertype = issuing number and issuing length.
This 1st commit reorders deeply the circulation module.
The goal is to :
* have something 100% templated/translatable.
* have something easy to read & modify, to say to customers/users : you can define your circulation rules as you want if you accept to look in C4/Circ/Circ2.pm
The circulation now works :
1=> ask for the borrower barcode (as previously)
2=> ask for the item barcode.
3=> check "canbookbeissued". This new sub returns 2 arrays :
- IMPOSSIBLE : if something is here, then the issue is not possible and is not done.
- TOBECONFIRMED : if something is here, then the issue can be donc if the user confirms it.
4=> if TOBECONFIRMED is set : ask for confirmation, loop. if neither are set or confirmation flag is set (2nd pass of the loop), then issue.
The IMPOSSIBLE & TOBECONFIRMED hashs contains :
* the reason of the line. always in capitals, with words separated by _ : BARCODE_UNKNOWN, DEBTS ... as key of the hash
* more information, as value of the hash ( TOBECONFIRMED{ALREADY_ISSUED} = "previous_borrower_name", for example)
This commit :
* compiles
* works on certain situations, not on other
* does NOT issue (the line is # )
* does not check issuing rules depending of # of books allowed / already issued
The next step is :
- check issuing rule.
- extend issuing rule to have a 3D array : for each branch / itemtype / borrowertype = issuing number and issuing length.