Adds another radio button to the edit holiday form. This is a partial fix, because you cannot make an edit to a single holiday for multiple branches.
Also fixed a small XHTML error and a wording error from my previous patch on holidays.tmpl (bug 3274).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
While trying to add a new Branch with an existing Branch code, the UI says "Library saved" instead of something such as "Please select a unique branch code".
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
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>
Essentially, this patch provides the option to overwrite only matching
Extended Attributes, instead of all of them, treating the ext. fields more
like normal fields.
Several functions added to Members::Attributes with corresponding tests.
[ LL ref. 342 ]
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
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>
* fix XHTML errors in template
* the patron notification type is now correctly
displayed when editing a subscription
* turned on warnings (bug 2505)
* added ability to modify the grace period, missed
in initial patch for bug 3020
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Presently 252.051 T147 v.1-2 is split as
252.051
T147
v.1
-2
This patch corrects the algorithm so that it splits as
252.051
T147
v.1-2
It also updates Labels_split_ddcn.t to include this particular case.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
An Amazon ItemLookup response can sometimes have
more than one Item element, where the ones after
the first appear to be cross references to items
that have the same ISBN. Changed parsing so that
those responses are no longer treated like pseudohashes.
This fixes the following crash:
[error] detail.pl: Pseudo-hashes are deprecated at /catalogue/detail.pl line
213., referer: /cgi-bin/koha/catalogue/detail.pl
Which may lead to a nasty:
[error] Out of memory!, referer: /cgi-bin/koha/catalogue/detail.pl
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch modify the database to have a grace period which can be set. And is used to create automatically new waited issues with a
cronjob(which is in this patch), and set old issues to "late" status.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Send a hold filled notification only when the item
is (assumed) to enter the hold shelf, i.e., when
the request status (reserves.found) is set to 'W'.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The display and editing of messaging preferences
for a patron have been moved as follows:
* the prefs for a patron are now displayed on the
patron details tab, not the messaging tab.
* the prefs are now modified by editing the patron
record, not on the messaging tab.
The messaging tab now contains only the list of
messages that have been or will be sent to the patron.
When creating a new patron record, changing the patron
category via the category dropdown now also changes
the default messaging preferences for that patron. If
you start editing a new patron, change one of the messaging
preferences, then change the patron category, the form will
ask you if you want to keep the preferences or get
the defaults belonging to the new patron category.
Note that when you edit an existing patron record, changing
the patron category will *not* cause the messaging preferences
to be automatically changed.
Programmer's note: this commit introduces a new web service,
members/default_messagingprefs.pl, that uses Jesse Weaver's
C4::Service module.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If the EnhancedMessagingPreferences option is ON, when
creating a new patron record via the patron import, set
the default messaging preferences to the applicable values
the default preferences for the patron category.
Messaging preferences are currently changed only when
*adding* a patron record via the import; if the import
updates an existing record, the patron's existing
preferences are not changed.
API changes:
SetMessagingPreferencesFromDefaults() is a new function
in C4::Members::Messaging to unconditionally replace
the current messaging preferences of a patron with the
default preferences from a specified patron category.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Define and use a new module, C4::Form::MessagingPreferences,
to handle displaying and processing the messaging preferences
form. This change reduces code duplication between OPAC
and staff.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Updated GetMessagingPreferences() and SetMessagingPreferences()
in this module to allow a categorycode to be passed
instead of a borrowernumber, permitting default preferences
for a patron category to be stored.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This adds headers to define the default script and style languages.
Please note that this output isn't 100% canonical from CGI yet, but
that is due to a bug in CGI:
http://bugs.koha.org/cgi-bin/bugzilla3/show_bug.cgi?id=3243
So either CGI will perfect it's output, or we can switch to using
HTTP::Headers. The latter may be desirable anyway, since then we
would not need a CGI $query argument at all.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This changes the checkpw code in Auth_with_ldap. Along with comparing
the user entered password against the directory attibute userPassword
you can try to bind with the users dn and password.
This is controlled by the option auth_by_bind, which, if set, causes
this code to try binding instead of comparing.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If an supplierid is provided with a ordernumber, the search should be able to return everytime a record. This patch do the job.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
this patch fix the searchorder function, and add to the SQL query a "AND biblionumber" statement if a biblionumber is speficied.
Sometimes C4::Acquisitions::searchorder() find more than one result, so the user is looping to the same page to choose the great record, adding a contraint to biblionumber allows to be more strict.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Allow a call number of the form MP3-CD F PARKER to be split as
MP3-CD
F
PARKER
instead of
MP
3
-CD
F
PARKER
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This should allow scripts to use GetBranchesLoop without having to reproduce
the check for:
(1) IndependantBranches,
(2) User logged in,
(3) User Not superlibrarian, and
(4) User branch set.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Removed opac/opac-dictionary.pl and catalogue/dictionary.pl,
which were not in use and not linked to from any active
template files. According to Henri, the functionality that
these scripts implemented hasn't been working since 2.2.
Also removed C4::Search::findseealso(), which was used
only by the two scripts.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch is done in the process of understanding what's
going wrong with bug #3226. It improves some processing.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch fixes the date formats in the holiday display tables. They are now based on the syspref for date formats.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This adds two new C4 modules, C4::Service and ::Output::JSONStream, and
makes important modifications to C4::Output. The first two are a basic
framework for JSON-based AJAX services and a simple JSON output wrapper,
respectively. C4::Output has been slightly refactored, with a new
function, output_with_http_headers, that supports different
content-types. output_html_with_http_headers still exists, and the three
pages affected by this change have been refactored to support it.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Preserves change added in the LTFL integration
while also switching to Nahuel's COinS implementation.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
this patch do a lot of things :
* Add the function GetCOinSBiblio in C4::Biblio, return the COinS value that must be put in a span title
This will be usefull for OpenURL support.
* Replace the span in opac-detail, and put the var get from GetCOinSBiblio
* Fix an <img> tag that wasn't autoclosed
* Add the COinS in search result
* Full COinS support of UNIMARC, the MARC21 support should be improved to provide all kind of document types
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Note to Chris Cormack: I suspect the current ability
to override most circulation conditions is sufficient,
but if HLT still needs to establish a patron category
that can ignore issuingimpossible limitations, needs
to be done in a more flexible way.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Bail out if item does not exist - otherwise
subsequent checks can fail for lack of an
item branchcode.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch just check the syspref and use it as base date of renew.
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
At the moment when you renew a document the date_due calculated is now+loanlength, but it's a bad thing, It should be
date_due+loanlength.
This patch do change Circulation.pm to use the date_due as renew base and add the loanlength to get the new date_due after
renewal.
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
When a borrower can't issue any book (issuingrules=0), the message should be
"this user can't issue book" and not "too many books already issued"wrong message
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch uses HTTP_ACCEPT_LANGUAGE web browser variable
to select OPAC available language.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch moves ceilingDueDate and ReturnBeforeExpiry checking into
CalcDateDue(), so the renewal due date is also calculated with those.
Also restores a check in CanBookBeIssued. If the due date isn't given
call CalcDateDue and make sure it's not in the past.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch fix 3 things:
* fix order by
* take care of item_level-itype
* use join in sql query
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If a call number prefix contains a hyphen, try not to
split on the hyphen. For example, rather than
splitting the call number 'CD-ROM 787.87 EAS'
like this:
CD
-ROM
787.87
EAS
it should be
CD-ROM
787.87
EAS
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
this patch show the member firstname and surname instead of only the borrowernumber in the guided reports page
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch fix the funciton SetMarcUnicodeFlag for UNIMARC support, now the function will fix the length of the field, and set encoding as "50 " instead of "5050".
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Avoid reading marc_tag_structure for each biblo record to
transform by XSLT. Not totaly useless on OPAC result page.
Should be done via application variables rather than
request variable, but this is another story.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
this patch fix the value of the comtd value which is not the same as in bookfund.pl, clicking on the value from acqui-home.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch add 2 columns in "Use Saved" page whith creation date, and the creator id.
It fix the creation of a report, to save the borrowernumber in reports table(to show it after).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Added support for the Syndetics AV summary and AV profile
data elements. The AV summary is displayed in the description
tab if present, while the AV profile is displayed as
a link off of the OPAC bib details page.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
XML::Simple doesn't handle mixed content, which is a
problem because reviews provided by Syndetics sometimes
contain HTML tags. Furthermore, it's often easier to write
XPath to extract bits of an XML document than trying
to play with XML::Simple's options.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
For some reason different Syndetics users get
slightly different results when requesting
an XML-formatted review, so it's necessary to
handle both observed variations:
Here's one variation:
...
<Notes>
<Fld520 I1="BLANK" I2="BLANK">
<a>This is a review
And another:
...
<Notes>
<Fld520 I1="BLANK" I2="BLANK">
This is a review
This patch fixes a bug where some users the
source of a review but not the review itself.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
$intflags was never used or returned if hashref instead of userid was passed.
Also cleaned up needless passing of $dbh.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The code was modified to change the holding branch ONLY if the return to the right branch is done. If you set IndependantBranch to on, you must return the document to the HomeBranch.
And verify the return is done before show the message that allow to transfert the document to another branch.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Following up on a suggestion by Joe Atzberger, save
a database query by not counting the subscriptions
to delete; instead, simply fetch a list of them.
No user-visible change.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If the syspref 'AllowNotForLoanOverride'(YESNO) is set to YES, the librarian is able to force a loan on an item set as "not for
loan".
If the item is not for loan and the syspref is set to YES, koha will ask to the librarian if he really want to check-out it, else
do nothing.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If more than one translation is installed but only one is active, a blank div
is displayed at the bottom of all pages in the intranet (and in the OPAC if the
opacchangelanguages system preference is ON), taking a bit of vertical real
estate needlessly.
Changed so that <div> for the language chooser is output
only if there is more than one enabled language.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch fixes Amazon content use in pro interface :
* Control Amazon Editorial Review by a new syspref:
AmazonReviews.
* /catalogue/detail.tmpl doesn't display Amazon reader reviews.
It displays only Editorial review in Description tab.
This patch disable request for AWS reader reviews.
* Use Amazon TLD for linking book cover to local
Amazon Search Inside.
* Minor clean up on C4::External::Amazon.pm
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch modifies how AWS is called. AWS is now called
depending on syspref. It works completly for OPAC; it
has to be refined for intranet.
For OPAC:
* If OPACAmazonReviews is set, AWS EditorialReview and
Reviews (users) are grabed.
* If OPACAmazonSimilarItems is set, AWS Similarities info
are grabed.
* If nothing is asked, AWS is not called anymore,
sparing server bandwidth.
For intranet:
It works as it used to work. AWS is called if AmazonEnabled
is set whatever how other syspref are set.
TODO:
* Add a AmazonReviews syspref
* Request Amazon content depending on AmazonSimilarities
and AmazonReviews syspref
DOCUMENTATION:
It should be explained that Amazon services related syspref
have two levels:
* AmazonEnable / OPACAmazonEnable
* Other: OPACAmazonReviews (new), OPACAmazonSimilarProduct,
OPACAmazonCover
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
When the start date or the "current date" is not a regular date
the transformation and checkdate fails because there is no
Year/Month/Date
This patch makes it fail more 'silenty' for the users and raises an
error that could be coped with.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Adds some rewriting
bug fix for merging
AddAuthority had some problem with updating existing data.
ModAuthority adds a new Syspref called MergeAuthoritiesOnUpdate which is used to launch or disable biblios update when updating an authority
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
MARC::File::USMARC::decode is not aware of encoding as MARC::File::XML is
So it caused a problem when decoding information and updating biblios.
Now uses MARC::File::XML
Encoding is OK
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
this is a work-around fix, until a future patch arrives to define the missing 'Heading-Main' zebra-index.
for 3.0.x
[RM note: also included in HEAD so that I can include the UNIMARC(A)
updates by HDL]
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Adding Heading-Main as new index code in order to search only on Heading-main when $a selected.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
It turns out that the "blank" record created by MARC::Record->new()
has a leader, so now I explicitly create one in addbiblio.pl. I
also realized I can't count. :-)
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Reworked ViewLog.pl and the template. Eliminated html errors, cleaned up
the template, change mime type to text/csv and other minor changes.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This adds a feature and system preference: ceilingDueDate. If this is
set to a valid ( according to dateformat syspref ) date, then calculated
due dates will be less than this date.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Subroutine arguments enforced w/ with more checks, explicit return undef where warranted.
Placeholders used in SQL where applicable.
One logical error corrected :
- next MESSAGE if ( lc( $message->{'message_transport_type'} eq 'rss' ) );
+ next MESSAGE if ( lc($message->{'message_transport_type'}) eq 'rss' );
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
In for loops, replace all-inclusive conditional blocks like:
for (@foo) {
if (test) {
block;
}
}
with conditional use of "next":
for (@foo) {
test or next;
block;
}
This reduces the number of unnecessarily nested blocks, and the
overall number of lines.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This correct the html select default in additem.pl, and enforces use of
biblioitems.itemtype as the default in Items::AddItem. The code in
Items is to catch items added through MARC record staging.
Thanks to Joe Atzberger for suggestion.
[RM note: this patch means that an item's item-level item type,
once that item is added or updated via additem.pl,
now cannot be blank or NULL unless the biblio-level item type
is blank.]
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch makes sure that MARC21 authorities have a minimal
Leader, 008, and 040. If an authority record is created through
BiblioAddsAuthority it generates a 670 based on information in
the bib record.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
When I go to serials/claims.pl, "All Suppliers (2)" is selected in the supplier
dropdown list, and no missing issues are listed. When I choose another supplier
from that list ("Supplier 1 (2)"), then two missing issues are listed. Should
"All Suppliers" instead read "Choose a Supplier" ?
chris: I think it might be safe to remove the all suppliers option all together as its
doing nothing
paul: agreed, this patch removes the All Supplier line, that is useless, confusing & untranslatable
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
There is a comma at the beginning that shouldn't be there and then there are
commas in the vol, no combo making it hard to read. it should be something
like this:
Vol 28, No 7; Vol 28, No 8; Vol 28, No 9
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The shortcut to build $query_cgi in C4::Search::buildQuery()
for CCL, CQL, and PQF queries is incorrect, as (for now)
the "q=" prefix is required.
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>
This doesn't insert the large and typically unused <ldapserver> block,
just the switch with a comment pointing to C4::Auth_with_ldap. This otherwise
was undocumented requirement, making LDAP config a bit of a shot in the dark.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
* Use of uninitialized value in pattern match (m//) at C4/Biblio.pm line 1305
(displaying MARC21 856s that don't have $3)
* Use of uninitialized value in multiplication (*) at catalogue/detail.pl line 243.
(attemping to calculate average Amazon rating if no Amazon info
is available)
* opac-detail.pl: Use of uninitialized value in length at C4/External/Amazon.pm line 90
(attempting to calculate length of $isbn if it happens to be undef)
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The intranet item display provided by moredetail.pl
would display the original due date of the item, and
would thus be incorrect if the item had been renewed
and got a different due date.
The incorrect date was coming from items.onloan,
which AddIssue() sets to the due date. This patch
fixes the bug in two ways:
[1] AddRenewal() now updates items.onloan with the
correct due date.
[2] Two templates were updated to display the
due date from (indirectly) issues.date_due
instead of items.onloan, thus making it less
likely that the wrong value will be displayed.
This patch does *not* update items.onloan to reflect
the correct due date.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch add the serials deletion in DelBiblio function, so now when a record is deleted all attached serials will be too.
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Auto truncation now works on LTR languages
For RTL languages(Arab, Hebrew), development should be really improved.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The re-creation of statement handles for the same queries, repeatedly,
seriously degrades the performance of notices. This introduces new
class-level caching to avoid that problem.
Note: initial provisions
to do the same with caching of COLUMNS information about tables is
also included, but this would probably be most usefully implemented
in C4::Context (or a separate more central module). The benefits of
caching that info would probably be even greater. Note that this
proposed implementation might be obsoleted by ORM integration, where
DB structure info would already be cached.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
this patch extract the generator of ISBD view in a C4 function, because it's used in intranet AND in OPAC but with 2 separate codes.
Now it's more reusable.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This may help elucidate problems we are having with sorts that
do not seem to work. I.E., if the inteface is requesting
unrecognized sort orders, we need to know about it.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Per discussion I had with Henri, removing experimental
bulk editing from the staff search results code, as
feature is incomplete and can be dangerous if
one tries to use it on a large search result
set.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
execute_query now refactored, returns reliable results, does
zero presentation-layer crap. Arguments reduced, client scripts
adapted to new API and performance improved. Text::CSV now used
to generate CSV output, ensuring portability, encoding and accuracy.
Replaced tools/runreport.pl with misc/cronjobs/runreport.pl:
~ security fixed
~ documentation improved
~ TODO: finish sendmail option.
Bug 3077 also fixed.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The old location of runreport.pl was under tools, leaving it exposed
to web requests. This is a security flaw since it does NOT check any
Auth and allows the user to request any Saved Report be run. This is
not a problem under misc/crontab/ and it suggests the more appropriate use.
Guided.pm is not fixed here (see bug 3066), but it is prepared to be fixed
and made compatible with runreport as detailed in the perldoc.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Clear all non-alphanum chars at the end of an sql query.
Use ESCAPE=HTML to escape double quotes in csv export
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
With this patch:
* On Amazon book cover, 'search inside' text is not displayed
anymore because it's not translatable.
* Link the image to local Amazon web site 'search inside' service.
Based on AmazonLocale syspref.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Recommended by Michele Maenpaa, this adds handling colon and end-punctuation stripping
in subroutine _normalize, and fixes length testing in subroutine _get_match_keys
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Similar to previous patch for LCCN splitting, this patch incorporates
changes to split_ddcn and supplies a test file for verifying proper
operation. Note that the only previously documented example for intended
operation is included as one of the tests.
This regexps are created to be rather forgiving. For example, the function
will not choke if two spaces were included where the "spec" (such as it is)
expects one. Obviously this is because for CN splitting purposes, it doesn't
matter, we're not going to ever split in the middle of whitespace.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This includes a change to Search.pm to add a variable, subtitle_nospan, in order to display subtitles in the feed without search term highlighting HTML. The modified template attempts to display Amazon, Syndetics, or Baker & Taylor book cover images. Google images are not included because they require Javascript.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Allows specification of how many issues of a subscription to display
at a global and subscription-specific level. Also adds a link to the
detail page to a specific subscription.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
In UNIMARC, 010 tag contains ISBN. In UNIMARC, ISBN with '-'
are valid. This patch modify ISBN normalization in order to
automaticaly suppress '-' before sending ISBN to Amazon
to get book cover.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch resolves a number of problems related to Enhanced Content:
1. Previously, there was no syspref for controlling whether or not to display
Amazon.com cover images apart from other content. This had the side effect
of preventing use of amazon.com content alongside use of another provider's
images. This patch introduces AmazonCoverImages and OPACAmazonCoverImages,
and changes the name of AmazonContent to AmazonEnabled.
So, for instance, you can now enable OPACAmazonSimilarItems yet utilize
SyndeticsCoverImages for displaying those similar items.
NOTE TO DOCUMENTATION TEAM: please update references to AmazonContent
and OPACAmazonContent to comply with the above.
2. Fixes some semantically incorrect uses of AmazonContent (now OPACAmazonEnabled)
on the OPAC side.
3. Resolves once and for all, the normalization of ISBN,UPC,EAN and OCLC numbers
for all enhanced content elements; These elements can be normalized using the
new functions in C4::Koha; I've replaced use of the various previously used
variables $xisbn,$norm_isbn,$clean_isbn, etc with $isbn, and the template
variable normalized_isbn.
We finally have a single, consistant place to retrieve normalize values for
these fields given a particular record.
4. Adds Syndetics attribution statements to display of all Syndetics content
'enhanced content provide by Syndetics' or 'Enhanced Description from Syndetics'
5. Adds an option to view the large cover image on the detail page on the OPAC
when using SyndeticsCoverImages; this option is controlled by a new system
preference: SyndeticsCoverImageSize which has two values: MC (medium) LC (large)
6. Adds UPC and OCLC numbers for Syndetics enhanced content queries especially
helpful for finding enhanced content for DVD and Music materials
7. Adds capability to display Syndetics images to opac-user for checkouts and overdues
8. Updates to systempreferences.sql, and updatedatabase.pl database revision 015
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch also includes a new function to retrieve the index
page from Syndetics and parse it for available content prior to
retrieving content; this is done to speed up syndetics content
by not retrieving content that doesn't exist for an item. However,
Syndetics continues to be a very slow service compared to Amazon.com
and other enhanced content services
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Change to GetReservesFromBiblionumber() had effect
of causing all requests of constrainttype other
than 'o' to not be included in result.
while ($foo) {
$bar or next;
# do stuff
# do other stuff
}
is not equivalent to
while ($foo) {
if ($bar) {
# do stuff
}
# do other stuff
}
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This corresponds with the test I submitted earlier and essentially
overrides the partial improvement from Nighswonger under Bug 2500.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch check that an item is not "Waiting" before do something in GetOtherReserves(because is the item is waiting, we don't need to do something).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
branchoverdues.pl
~ Removed unused variables.
~ Use elsif where applicable.
~ Added many FIXMEs.
~ Added help description.
~ Changed link to more accurate description.
~ REFACTORED branchoverdues-specific function in C4 for obvious consolidation.
This report is still of questionable value, since it's dataset has such strange
hardcoded limitations. It is not clear that "FU" type fines and notifys=0 are
reliable or useful indicators to query on, in hardcoded form.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Allow arguments to be specified in the negative (i.e. 0).
Allow function to be called with no arguments.
This supercedes the patch titled:
Allow GetBranchesLoop to intuit IndependantBranches if not specified in argument.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch was not fully tested because the actual behavior intended
by constraints 'o' and 'e' was apparently never implemented here.
But it had no chance of success as with:
my $sth = $dbh->prepare("");
This uses the inteneded query, removes unneeded $sth->finish calls and
fixes *some* redeclaration of my $variables in the same scope, as
would be needed to run under warnings pragma.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This based on a patch by Nahuel ANGELINETTI; done to
merge changes with Mason's patch for 2951. The original
patch description is:
in the previous patch the field used for link "name" was 856$z, but the unimarc doesn't specify this, it say to use the 856$2 fi
This patch make koha to use the 856$2."
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch make Page.pm to use the getitemtypeinfo function to generate the imageurl, and check (in the template) if an
image is set.
Before this patch, always the "Alt" information was shown, because the url wasn't right.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch add a button in "Serial Collection" to add manually the next issue. And improve the function GetNextExpected
to retrieve at least something.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The current regexp used to split fiction call numbers does not handle the '.' char well. This patch corrects the regexp so that it behaves as expected.
This patch should be ported to the 3.0.x branch.
[fbcbug 5]
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The OPAC and staff search results page will now display
the library name instead of the library code in the limit
part of the search description, e.g.,
"kw,wrdl: cat branch:Centerville" instead of
"kw,wrdl: cat branch:CPL"
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The *_ok methods in ILS.pm were targeting the wrong depth.
This also resolves a longstanding FIXME on to_bool() warning like:
Argument "\x{66}\x{61}..." isn't numeric in numeric ne (!=) at /ILS.pm line 94.
The example_institution_dump.sh essentially provides the proof test case for this patch.
Run it before/after on SIPconfig.xml where "MAIN" has checkout="true" and checkin="true".
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This adds an option to the inventory tool causing it to ignore copies
currently on loan. This is good if you want to do inventory, but don't
want to update the date-last-seen on items currently on loan.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The feature in question is described in bug 2952; to
summarize the enhancement, which the earlier patch
description did not do, the list of bibs in an
import record batch now includes a column linking
each import record to the bib that was actually created
or updated when the import batch was committed.
The improvements in this patch are:
* If bib in import batch has not been committed, it
has not been linked to a matching new or updated bib.
In that case, do not create a link to a guaranteed
404 (/cgi-bin/koha/catalogue/detail.pl?biblionumber=)
* When reverting an import batch, set matched_biblionumber
to NULL for affected records - otherwise, the Bib
column will include links to bibs that may no longer
exist.
* Fixed a minor HTML validation error.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Speed up bib search and OPAC bib display, especially
when the XSLT OPAC results and details display sysprefs are
ON, by passing an existing MARC::Record object to three
functions:
C4::Biblio::get_biblio_authorised_values()
C4::XSLT::XSLTParse4Display()
C4::XSLT::transformMARCXML4XSLT (internal)
These functions previously fetched the bib from the
database, incurring the cost of DB retrieval and MARCXML
parsing even though client code already had a
MARC::Record object available.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If a patron has a number of fine transactions, the
total could be wrong. This is particularly noticeable
when a patron has a zero balance, as summing a group
of floating point values derived from decimal(6,2) columns
can result a scalar value that is not zero.
Koha really should be using integral arithmetic
or appropriate accounting modules to do fine and
acquisitions calculations. Using floating point scalars
for monetary amounts is always a mistake.
This patch also prevents an account maintenance
fee from being applied when renewing a patron if the
amount would be 0.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
1. rather than testing for notforloan == -1, test for any negative values to set the On order status
2. in cases where itemcallnumber is blank or null, don't display the itemcallnumber brackets []
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch works with XSL* sysprefs == ON, a future patch will address XSL sysprefs==OFF
Items with notforloan set to a negative number still designate an 'ordered' status
Some items are marked 'not for loan' by setting that value at the item level, others by assigning
that value to that item's itemtype. This patch works for both scenarios.
Specific changes this patch introduces to the OPAC:
* Adds a new OPAC results page key 'Copies available for reference:'
* Changes 'Copies available at:' to 'Copies available for loan:'
* Changes the availability limit label in opac-advsearch from:
'Only items currently available' to 'Only items currently
available for loan or reference
* Displays the authorised value for the specific notforloan value in the OPAC detail page in
parentheses next to 'Not for Loan'
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
GetMarcFromKohaField returns (0,0) without the $frameworkcode argument.
Note the argument can be "", but it must not be undefined.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
In XSLT.pm, put XSLT stylesheet object in a session variable in order
to avoid to build it for each biblio to parse: useful on search
result page.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This changes the setting if default values in the inventory tool where
the min and max call number are concerned. Also changes how the query
is formed in C4/Items so that these two are not required.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
When sending circulation alerts, use the branch that the
event happened on instead of $item->{homebranch}.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
- Enqueue the messages with a to_address.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
- fixed cross browser issues. (IE and Safari don't let you say
someobject.class, presumably because "class" is a keyword that's reserved
for future versions of JS. Firefox and Opera allow it.)
- added text to the grid for added clarity.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
- C4::Letters:EnqueueLetter() is aware of new fields in message_queue table
- C4::Circulation::SendCirculationAlert() actually works
- C4::Category cleanup
- C4::ItemType cleanup
- C4::Message is a new module.
It presents yet another way to interact with the message_queue.
You can now take messages that have already been queued and modify
their contents before they're sent out.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
- grid layout (javascript required now)
- makes distinction between checkin and checkout messages
- no longer have to click on a button to submit the branch selection form
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
- Added code to AddIssue to send an alert when appropriate.
- Added code to AddReturn to send an alert when appropriate.
- Added a sub called SendCirculationAlert() that DOESN'T ACTUALLY WORK YET.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
* C4::Category
- patron categories as objects
- an all() method to return all the categories as a list
* C4::ItemType
- itemtypes as objects
- an all() method to return all the item types as a list
* C4::ItemCirculationAlertPreference
- wrapper around the item_circulation_alert_preference table
- create() and delete() methods for easy manipulation of the preferences
- I regret giving it such a long name.
- The item_type column should've been named itemtype to make it
more similar to pre-existing tables. Oh well.
(C4::Category and C4::ItemType were made so that I wouldn't have to
write SQL inside my CGI scripts.
Their main purpose is to provide an easy way to get a list of
patron categories and item types.
Do not be fooled by the amount of POD.
There's actually very little code in these modules.)
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
- fixed typos and formatting.
- added notes on how to add new kinds of messages.
- added notes on the tables being used.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
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>
This patch add the form for sending shelf by e-mail, and add a button in shelves that allow the user to send a shelf.
It's an approximate copy of the send basket feature.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch change the linktext as the label of the link(in 856$z), and set the url from the 856$u.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If a value being substituted in was NULL, then warnings like this
would be emailed to the crontab owner (or MAILTO):
Use of uninitialized value in substitution (s///) at /home/user/kohaclone/C4/Letters.pm line 508.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
* more portable way to determine uname for
crash messages
* C4::Context->userenv now returns undef instead
of 0 if no userenv has been set yet; returning
undef when necessary is almost always better
than returning a scalar when a hashref is
normally expected.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Refactoring KOHAVERSION to be less crufty, enabling use warnings, change formatting slightly in places.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>