* '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>
While the idea of showing the number of late serials against the
vendor name was nice it does not scale and on large sites selecting claims
was just timing out. Improved the speed of the initial query but have removed
the big query for each user just to get a count.
Check for 0000-00-00 dates so that C4::Dates does not log error
Removed a variable that was never set and the bit of template used
if the impossible happened
Ensured returns were documented
Fixed some language issues
Removed the host of podchecker warnings about missing lists
added a couple of explicit returns when subroutines
'fell off the end' to remove any ambiguity
Change obvious warning generators:
( use of string comparisons in numeric comparison)
( declaration of variable in comnditional )
also some errors caused by undefined values:
abouttoexpire was not checking for undef values
Pass a valid planneddate in generation of next expected
(undef here causes odd results)
Add a basic test script
test is minimal but I fell over a bug this would have caught
Removed some useless counts from serials-edit / Serials interfaces
Removed old commented out code. Unrequired variables
Reformatted some code so that improving logic can be done
more easily
Also cleaned the interface to the claims related functions
in C4::Serials so they do not return an extra count variable
moved generation of dropdown to template instead of inline code
This is a quick fix to XSLTParse4Display to make ampersands display
correctly in OPAC search results.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The ReadingHistory sytem preference is no longer used, and possibly
was used by only one library anyway. Removed references to it; note
that had it been turned on, a patron viewing checkout history would have
seen old loans showing up twice.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch fix some perl ugly code to be more readable and lesser complex.
And it allow in intranet to order by issues.timestamp.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Change timestamp routine to do the right thing when passed an iso date
Otherwise was generating an epoch date of 0
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Using Flag EXPIRED to notice whether Patron CAN or CANNOT checkout a book
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Remove any carriage returns in text data as they will be
interpreted as end of message by clients and cause communication failure
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
[MT2306_2271] ILS-DI Message codes consistence
The services now returns ILSDI error codes in a <code> tag, plus details in a <message> tag.
Exemple:
<LookupPatron>
<code>MissingParameter</code>
<message>The required parameter patron_id is missing.</message>
</LookupPatron>
[MT2306_2271] Minor changes in HTML
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Added new HTML template variable, using_https, for use
of OPAC or staff-side templates that may need to know
whether to use http:// or https:// links to off-site
content.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
* 'Bug3482' of git://github.com/ptfs/Koha-PTFS:
Bug 3482: Updated DB version
Bug 3482 changed name of notices file
Bug 3482 Allow hold notices to be sent in print form
Add expiration date, today to hold notices
Modified to use dirspec only
Bug 3482 Print Notices via HTML
This is done by saving the notices in the message_queue table with
type 'print'. The notices are generated from a notice named
HOLD_PRINT. At the end of the day, they are dumped to an HTML file and
marked as sent by a new cronjob.
This setup is intended to be temporary; modules/batch/ shouldn't be around
forever.
Mandatory SQL:
INSERT INTO message_transport_types (message_transport_type) values ('print');
This fixes the opac results - non xsl transformed - and the intranet result lists.
Also fixes opac-detail which was showing all items 'on hold' if there was a bib level request, whether items were on the hold shelf or not.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Fixes the opac results (opac-search.pl), if using xsl to transform data. I have no way to test UNIMARC results, if someone could test it for me.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Reverting this commit to resolve bug 4016. This revert has the
same effect as a patch submitted by Garry Collum on 20 February 2010.
This reverts commit 2345dc7c27.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
[cherry-picked from 3.0.x]
This add a new letter in database, and each time a new hold is placed, a new mail is enqueued.
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
* 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>
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>
Tweak the regular expression in strip_limit to work.
Tweak execute_query to use the user limit if it's lower than the hard coded one.
Also total is calculated somewhere else now.
This helps most with the csv export of a report so the user can set their own
limit instead of having the hard coded limit of 9999.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
return undef or empty array in error cases
hopefully if we're consistent someone may start checking it
removed unnecessary ()s
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch fixes the SELECT so that title is available when it is used
later on, which will prevent 'Use of uninitialized value' errors.
It also uses JOIN properly, which the original query and my initial
patches for this did not.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Adds the ability to customize CSV exports through the use of a YAML file.
The following customizations are available :
- Preprocessing
- Postprocessing
- Field-by-field processing
The YAML field should be stored in the tools/csv-profiles/ directory and
named after the id of the CSV profile you want to customize.
An example file is provided in that directory.
(cherry picked from commit 76655b5b94)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Note: overdue_notices.pl really needs to be completely re-written.
The script does not process all fields advertised in tools/letter.pl
This patch adds code to process all fields advertised as well as any
from the items table.
It also adds two additional tags for use in the letter templates:
<item></item> which should enclose all fields from the biblio, biblioitems,
and items tables.
<fine></fine> which should be enclosed by the item tag and should
enclose a currency identifier per ISO 4217. If this tag is present with
a proper identifier, the fine for that item will be displayed in the
proper currency format. Note: ISO 4217 changes from time to time therefore
all currencies may not be supported. If you find one that is not
supported, please file a bug with the Locale::Currency::Format author
Tan D Nguyen <tnguyen at cpan doe org>.
An example of the implimentation of these two tags in a notice template
might be like:
The following item(s) is/are currently overdue:
<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>
Which, assuming two items were overdue, would result in a notice like:
The following item(s) is/are currently overdue:
"A Short History of Western Civilization" by Harrison, John B, 909.09821 H2451, Barcode: 08030003 Fine: £3.50
"History of Western Civilization" by Hayes, Carlton Joseph Huntley, 909.09821 H3261 v.1, Barcode: 08030004 Fine: £3.50
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch adds XSLTDetailsDisplay and XSLTResultsDisplay variables
for the staff client, OPACXSLTDetailsDisplay and OPACXSLTResultsDisplay
variables to the OPAC. Note that the XSLTResultsDisplay doesn't actually
do anything because no one has added an XSLT version of search results
to the staff client.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch filters all non itemrelated fields in the marcrecord before making update
AddItemhad the same problem as ModItem
They would try and take fields which would not be item fields
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Pagination code was commented out during development causing the
spill over page one to be wrapped back onto page one. This patch
fixes that problem.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Fixed obvious warnings generators in scripts
with mismatched comparisons or undefined variables
removed temporary variable selected while ensuring the
comparison it represented was between two defined variables
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
While the comment correctly notes that the order of variable length
fields is not fixed some units expect mandatory fields to
follow the sequence in the protocol definition and fail
parsing otherwise. Moved institution id to its expected
place in the patron information response.
Indented the first half of the if (patron_valid) so its clearer
that two cases are handled here.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
If an invalid item barcode is passed to checkin
the sip2 connection dies. This is because although
no item object is created its mehods are called in Checkin
To maintain the connection properly catch the condition
and return the correct response to the unit
(should also fix Bug #3696 )
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The return from Mail::Sendmail should always be checked
Output the error message if it fails so we have some
indication of where to start looking if it fails
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch fixes two bugs:
1. Correcting the text alignment alogrithms for center and right alignment
2. Changes a reference to layout to a copy of the layout to avoid performing
operations on the layout.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
quantityreceived drives other parts of acq noticeably budget balances
ensure that a number (usually 0) is set in NewOrder
give field a valid default and set as not null
reinterpret exsting nulls in table as zero
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Although the due date of an on loan item was being retrieved
the appropriate field in the Item object was not set
causing the due date not to be returned in the item
information response
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
- Add two syspref:
- OPACXSLTResultsDisplay
- OPACXSLDetailsDispay
- Add them to .pref files and dispatch them beetween OPAC and Search
tab.
- Upgrade DB version to 3.2 .113
- Fix something wrong in UNIMARCslim2intranetDetail.xsl
- Display OPAC result and detail pages using those syspref.
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>
This reverts commit 708b4797e3.
Had introduced following error:
Global symbol "$value" requires explicit package name at C4/Biblio.pm line 2381.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch does the following:
* Fixes the typos in updatedatabase.pl ( updates colBranchcode to varchar(10)
* Adds the rotating_collections template files that somehow were not committed
* Adds a missing sub from RotatingCollections.pm that must been deleted by accident
* Adds the neccessary hooks in returns.pl to warn that and item needs to be returned
to the branch that currently holds the collection.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This bug was introduced by commit d51332698b
which removed the inability to do a search on anything contianing a colon (:).
This patch expands the regexp to only normalize true limit operators and leave
all other colons (:) intact.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch put in SIPconfig.xml SIP2 server logging parameters. This is
way it's possible to modify where SIP2 logs are sent. And fix
OpenSolaris bug.
WARNING: After an upgrade, installation using a custom SIP2 server
config file will need to copy default SIPconfig.xml added section:
<!--
Set Net::Server::PreFork runtime parameters
syslog_ident will identify SIP2 Koha server entries in syslog
For OpenSolaris, add: syslog_logsock=stream
-->
<server-params
min_servers='1'
min_spare_servers='0'
log_file='Sys::Syslog'
syslog_ident='koha_sip'
syslog_facility='local6'
/>
serial management in koha_add_biblio is only relying on presence of
$biblio->{seriestitle} It is not correct, $biblio->{serial} definition
should prevail over this test
this patch add the possibility to have an end date of enrolment, instead of a period. Like for a user category, all this category can have the same expiry date.
The librarian can configure one of both, but not both.
This doesn't define borrowernumber = 0 if a borrower is NOT logged.
We know borrowernumber 0 is mysqluser... So in virtualshelves, a non logged user have all permissions.
When using XSLT Display, and UNIMARC,
since marcFlavour is not used in encoding data, when data is true utf8, as_xml
fails on some subfields.
Moreover, because transformMARCXMLForXSLT edits some values in the marc record
and the PERL UTF8 is not handled by MARC::File::USMARC, it endsup in double
encoding the data.
Sending a patch to fix both issues.
This patch adds
- two functions in C4/Charset.pm
NormalizeString (uses Unicode::Normalize)
SetUTF8Flag (This function in my opinion belongs to MARC::Record, or at least MARC::File::USMARC)
- edits C4::XSLT in order to cope with the correct marcflavour
- edits C4::Search searchResults to use setUTF8Flag
This patch C4::Search::buildQuery to detect ccl queries, and let zebra to parse them.
And set a default index "kw" if not specified.
This improve the detection of ccl queries, and do not duplicate the "ccl=" value.
Adding = as an index sign
Followup to 3037ff9e81
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
added runtime parameters for guided reports. Online help:
Can I have run-time defined parameters?
Yes, you can: there is a specific syntax that Koha will understand as 'ask for values when running the report'. The syntax is <<Question to ask|authorised_value>>.
The << and >> are just delimiters. You must put << at the beginning and >> at the end of your parameter
The Question to ask will be displayed on the left of the string to enter.
The authorised_value can be omitted if not applicable. If it contains an authorised value category, or <strong>branches</strong> or <strong>itemtype</strong> or <strong>categorycode</strong>, a list with the Koha authorised values will be displayed instead of a free field
Note that you can have more than one parameter in a given SQL
Note that entering nothing at run time won't probably work as you expect. It will be considered as "value empty" not as "ignore this parameter". For example entering nothing for : "title=<<Enter title>>" will display results with title='' (no title). If you want to have to have something not mandatory, use "title like <<Enter title>>" and enter a % at run time instead of nothing
Sample :
SELECT surname,firstname FROM borrowers WHERE branchcode=<<Enter patrons library|branches>> AND surname like <<Enter filter for patron surname (% if none)>>
Auto_truncation is used even though exact search selected.
This patch removes this side effect
Conflicts solved:
C4/Search.pm
Cherry-picked from 3.0.x :
3287252c0
The inventory tool was using itemcallnumber, title to sort; modified
Items.pm to use cn_sort, itemcallnumber, title so that call numbers
sorted on the padded sort field instead.
In the current OPAC, there is no easy way to search a particular library.
By default, a user searches all libraries, or with SearcMyLibraryFirst turn on,
the user's home library. In dev_week, a library pulldown menu existed in the search masthead.
This commit adds the option to bring that pulldown menu back
by turning on the system preference OpacAddMastheadLibraryPulldown
This feature is designed to manage collections of items that move
from library to library periodically. Koha can already track who *has*
and item, and who *owns* and item, but not who *should have* an item.
That is the issue this feature addresses.
It allows a persion to create a collection, and add any number of items
to that collection. The collection can then be transferred from library
to library. If an item shows up at a library that does not currently
'hold' that collection, Koha will ask you to transfer it to the library
that does currently 'hold it. In that way, one can even transfer
collections where some of the items are currently checked out. As soon
as they make it back to a library, they will get transferred to the
current library holding that collection.
The feature consists of 4 main pages.
'Home' Page: The landing page, lists collections and provides access to
the rest of the tools.
Access is via the Tools page.
Edit Collections: Add/Delete new rotating collections
Add/Remove Items: Add/Remove items from a given collection
Transfer Collection: Set the current 'holder' of a given collection.
Librarian access is controlled by 'CAN_user_tools_rotating_collections'
Bug 3998: Confusing warning on budget add page
Bug 3968: Empty Blue Box Pop Up
- Removed warning, made budget amount a required field.
- Added conditional logic to prevent display of tooltip when there is no content
- Moved filter form into sidebar
- Changed Budgets.pm to pass an ID to a form field
- Improvements to breadcrumbs and title tags
- Restructured budgets admin toolbar to match existing toolbar patterns:
"new," "edit," etc.
This fixes:
* A bug which caused the label template editor to throw
an error when saving when no previous profile was applied.
* A typo which caused a 'fetch without execute' error in Labels.pm
It also comments out several useless warns
- Formatting links to different subscription views as tabs like the links to MARC view, ISBD, etc.
- Styling display of brief subscription view for better clarity
- Moving filter form on full subscription view to sidebar
- jQuery-fying some full subscription view scripts
- Adding branch name to output of full subscription information
- Styling year links for visibility and clarity (I'm not styling them as standard tabs because
they wouldn't wrap well with many many years' worth of subscriptions)
The web installer should log errors to the error log instead of only
dumping them to the browser. This will allow a record of the errors
which may be useful for later debugging.
If a global syspref OverdueNoticeBcc is present, send overdue notices to
this address. This allow a library to track and gather all outgoing
overdue notices.
The web installer should log errors to the error log instead of only
dumping them to the browser. This will allow a record of the errors
which may be useful for later debugging.