- This code was added to opac-suggestions.pl at one point by
Garry Collum and was subsequently removed. Adding it back.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Some small, single-branch corporate and special libraries use unattended self-checkout stations, and would like to automate the staff login, so that just going to the sco/sco-main.pl URL would bring the self-check up ready for patron use. This patch create three sysprefs, AutoSelfCheckAllowed, and AutoSelfCheckID/AutoSelfCheckPass. If the site wants to allow automated login, staff would then need to create the selfcheck user record and enter that login ID and password into the sysprefs. The kohaclone/opac/sco/sco-main.pl script has been modified to check these sysprefs and pass values (if present and allowed) into the self-check URL. The URL then bypasses the staff login page and comes up ready for checkout, waiting for the first patron barcode.
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>
When AllowOnShelfHolds is enabled, but maxreserves is NULL, attempting to reserve
an item results in a basically blank page being returned with no error message.
This patch adds a check to see if the check for maxreserves has returned a value and
bypasses the application of it if it has not.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Enables warnings and fixes the resulting warnings in opac-readingrecord.pl. The "description" variable in opac-readingrecord.tmpl was pulling a value from another source, probably an included template. Change the name to 'itypedescription' to resolve the conflict.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Date was missing because of incorrect variable name in opac-suggestions.pl
Thanks to HDL for the fix.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
No warnings were generated in the logs, except that the template for 402 does not exist. I will follow this up with another patch.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Currently Koha OAI server returns records in two formats: marcxml and
oai_dc (Dublin Core). This patch adds a new mode of operation where as
many as necessary metadata formats can be added via XSLT.
Documentation: See the end of oai.pl file to have an explanation of
how it works.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
- Markup corrections
- Removing TMPL EXPR
- Converting delete link to FORM ("destructive" actions shouldn't be links)
- Adding "search history" link to logged-in user's sidebar menu
This patch adds a description of the itype next to the image that i suppose to appear in the selection list.
Fixed the path of the image in opac-suggestions.pl, but I'm not sure if you can actually display an image in a <SELECT> list option.
Also removed an extra </label> closing tag.
- the XSLTParse4Display sub now has a new parameter : the interface (intranet or opac)
- the XSLTdisplay sysprefs is common to staff & opac (Auth.pm)
- added UNIMARC xslt in intranet templates (modified to deal with staff/opac differences)
Added a syspref to decide what should be displayed by default (holdings
or serial collections)
Added filters for full subscription history (by branchcode and by
subscription)
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
Tag cloud fixes :
* ordering cloud by tag name, not by weight
* improve behaviour : either display everyone cloud or my cloud only. When clicquing on "Tag cloud" on the top, will display by default everyone cloud. when clicquing on "My tag" (left tab when logged in), the page will display only my tags and my tags only
This fix the user ability to cancel holds in OPAC.
At the moment, a user can cancel all his holds, but in fact, only items that are not in transfert or waiting to be checked out can be cancelled by the user.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Stemming is now available for more languages
Adding also getDistinctValues which gets distinct values for a zebra index or for a Mysql field
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Enhancing C4::SearchSuggestion
And changing its API
Changing C4::Suggestions API taking a hashref for NewSuggestion and ModSuggestion
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This update the way Member is added and editing so that import and Edition
could be best automatized
GetMember evolves and allow ppl to serach on a hash of data
Adding SQLHelper A new package to deal with INSERT UPDATE and SELECT
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Enables ppl to store their search history and delete the whole history
Adding Storable required by Opac-Search-History
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
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>
This patch implements the suggestions about the new and old message system made by Owen Leonard.
Includes type fix pointed out by Owen.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Improved the error messages displayed to users
by web-based self-checkout when a problem with
a loan occurs.
This changed was sponsored by the Plano Independent
School District.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
[1] Change the default sort order of checked out
items to have the most recent loans displayed
first.
[2] Add the ability (via jQuery tablesorter) for
the user to sort the list of loans.
Also fixed the formatting of the due date.
This change was sponsored by the Plano Independent School
District.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Adds a new system preference, ShowPatronImageInWebBasedSelfCheck;
if this preference is ON, a patron's image is displayed
if available when using web-based self-check.
Note: a patch for updatedatabase.pl will be made when this
change is ready to push.
This change is sponsored by the Plano Independent School
District.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This system is indended to replace the old opacnotes
and borrowernotes fields in the borrowers table.
This system allows an unlimited number of Libraran and OPAC notes to be
attached to a borrower. Each note has a message, a message type,
the data it was created, and which library created it.
Each message can only be deleted by the library that created it unless the syspref
AllowAllMessageDeletion has been set.
This system may be used simultaneously with the old notes system and does not affect it in any way.
A new database table (messages) was added for this feature.
The System also allows for pre-defined notes for Borrower records
To use these, just create authorised values with the category BOR_NOTES
where the Authorized Value is the short description shown in the pulldown,
and the description is the text that should be in the note.
Original Author: PTFS Contractor <dbavousett@ptfs.com>
This work co-sponsered by Middletown Township Public Library, Middletown, NJ, USA
and East Brunswick Public Library, East Brunswick, NJ, USA
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
This patch makes it so that the patron can see their
details even if the OPACPatronDetails sys pref is OFF.
It also removed the messaging options from the patron
details and leaves them on the messaging tab.
Finally it adds in address fields that were missing
previously on the update patron form.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch adds links to all public lists that a bib
record belongs to to the detail page in the OPAC and
the Inranet. If the item is not in any lists nothing
shows on the detail page. The same goes if virtualshelves
is turned OFF.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This preference allows librarians to control which links appear
in the 'More Searches' box on the opac detail page. If the
preference is left blank the 'More Searches' menu will not apear
on the opac detail page at all.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Remove unneeded variable and get value from $borr->{'flagged'}
directly, avoiding glitch where $borr->{'flagged'} could be
set after old $patron_flagged variable was set.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This introduces a new system preference, OPACFineNoRenewals, that sets a
limit on the total fines a patron can have before they can no longer
renew their own books. opac-user.pl has been updated to obey this limit.
This work sponsered by East Brunswick Public Library, East Brunswick, NJ USA
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Fixed resulting warnings and fixed a small bug with the timeLimit drop-down box. It would not retain its value on subsequent pages if 'no Limit' was selected as an option.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Enabled warnings. Corrected all resulting warnings by initializing variables.
Some fixes and enhancements possibly related to Bug: 1153 - Existing B_address now shows in the resulting email. Birthdate now appears in the email using the System's default format. If the patron changes data in the form data took place the FIELD name now appears as uppercase in the resulting email.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
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>
the system preference mylibraryfirst is exported by Auth containing the logged
in users branchcode. It is also exported as the value of the syspref by
opac-user.pl. The effect is that when mylibraryfirst is on and the user
logged in the text label for the OPAC quick search instead of displaying
'Search (in [branchcode] only)' shows 'Search (in 1 only)'. Other user pages
are uneffected.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Adds the tag parameter to the RSS feed link if the results of a query are retrieved from a tag in opac.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Displays the Branch name and Category description along with their codes in Suggestion Management.
Also since I joined to the branches table the 'map' function in opac-suggestions.pl to retrieve the branchname was no longer necessary.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If a user views suggestions of another user, syspref (OPACViewOthersSuggestions), a selection check box for deletion appeared next to all of the suggested titles whether the logged-in user owned them or not. - fixed
Also fixes the "Clear all" and "Select all" links which appeared for anonymouse users, if AnonSuggestions is turned on.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Copies the logic of catalogue/search.pl to fix the expanded search option in opac. When expanded search is the default, it was impossible to go to the "fewer" options.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If the advancedSearchTypes = CCODE, the code descriptions are not alphabetized, as opposed to itemtypes, which are alphabetized.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Adds the author and added author fields to the email that is sent from the shopping cart. This makes the data sent via email consistent with the data that is viewed in the basket.
There is still a problem with author authority records other than 100 tags appearing correctly in the shopping cart.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The intent of kohaspsuggest is very confused. It wanted to simultaneously
log every search query, and get spelling suggestions from a totally different
database_host:db_user:db_password:database. The implementation seems
never have really made it into 3.0, however, since the only trace of the
tables it wants to query are in misc/migration_tools/22_to_30/phrase_log.sql
The job misc/spellcheck_suggest/make_spellcheck_suggest.pl does not even
target the same remote DB as the syspref tells the search code to do. Instead, it hits the
local DB and, not finding the tables that have no way of existing in a 3.0
install, it CREATES its own tables spontaneously, using MyISAM storage, no less.
This script should be drastically overhauled, or more likely just removed.
Other fixes:
Commented out unconditional warn!
Also reduced bizarre whitespace amounts in catalogue/search.pl and
fixed warning as recommended by perl -wc:
Scalar value @newresults[0] better written as $newresults[0]
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
this patch make the script not reloading the parent if the user add a biblio in a already existing shelf(useless).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Cleaned up toggle variable in opac-readingrecord.pl and tmpl. Used __odd__ variable instead.
Missed </TMPL_UNLESS> in previous patch.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
My earlier patch (using the new syspref OPACShowCheckoutName mistakenly
displayed the Koha borrower number instead of the patron barcode number
in the OPAC display; this revises the script/template to use barcode.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Revision to previous patch for bug 3317. Removes the EXPR command from opac-basket.tmpl, which was polluting the apache logs.
NTS: Don't use EXPR.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This is available only on the masthead search box in the OPAC.
User has to enter a word in english and press space or return to transliterate the word. The destination language can be selected from a drop down list. User can temporarily turn on/off the feature by using "ctrl +g".
A system preference - GoogleIndicTransliteration can be used to turn on this feature.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
* test for NO_MORE_RENEWALS now does expect
that hash key will always exist
* removed unconditional warn
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
~ vestigial broken scripts and templates removed
~ meaningless dependencies removed
~ Focus handling issues resolved for cross-browsers
~ Timeout only invoked for non-first screen. This keeps the refresh from
flooding the logs continuously for no purpose.
~ two halves of "validuser" conditional linked in TMPL
~ elsif's used for $op conditionals
The focus should now appear on the "Return to Account Summary" button during errors.
The user can scan anything (w/ carriage return) and get back to the first screen.
Also, special functionality is added for the magic barcode "__KOHA_NEW_CIRC__".
This effectively ends the patron session and logs them out so the next patron can begin.
The purpose is for patrons to avoid having to use a keyboard at all, if libraries
print and have this special barcode available for patrons at the SCO station.
Enhancement was requested by Plano Independent School District.
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>
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>
Moved the messaging preferences form to a new
include, messaging-preference-form.inc, so that
it can be used to set messaging prefs both for a
patron and for a patron category.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Improves Koha's unAPI support as follows:
* The implementation no longer depends on there being
an accessible Zebra or SRW server. Instead, responses
are created by running the bib MARCXML through local
stylesheets.
* unAPI now works for all bibs, not just ones that have
an ISBN. The ID format is changed from koha:isbn:ISBN
to koha:biblionumber:BIBNUM.
* unAPI now correctly advertises the formats it supports.
* This implementation now passes validation testing at
http://validator.unapi.info/ .
* MODS3 support now works correctly. As a consequence, this
patch fixes bug 2432 (Zotero support when using the XSLT
OPAC stylesheets).
TODO: as additonal XSLT stylesheets are created to convert
UNIMARC bibs to additional formats, the stylesheet map
in opac/unapi should be updated.
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>
* turn on warnings
* fix problem where the top level of the classification
hiearchy wasn't displayed, instead pointing to
the link to the Wiki page with instructions on
how to set up the feature.
* fix XHTML validation errors
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>
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>
The optional description element of an Identify response
can't just be a string. Identify.description is a container
for one or more elements; see http://www.openarchives.org/OAI/2.0/guidelines.htm
For now, simply commenting it out.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If the items.location field was NULL, then the current
SQL query would produce no results. I have turned this
into a conditional block that removes the location condition
in the query if the location is not specified.
In addition, there was a small change to opac-detail.tmpl
that changed Library to Shelves when the shelf browser was
open. This removes a potential redundant Library Library
display if Library is contained in the starting_homebranch.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Fixed opac-search.pl for correct test of expanded options and
to pass variable for MARC21 to advanced search screen.
Added Publication Date Range search to advanced search screen
Removed obsolete item type code section from advanced search screen
(wasn't displaying anyway because expanded options wasn't working,
superceded by site-specific item type searches).
Changed wording on Additional Content Types pulldown to make clear
it's limited to Books/Printed Materials -- this is basing off the
008 positions 24-27, but the options (and those positions) are only
valid for Book material types. Other material types have different
008 settings in those positions.
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>
If SearchMyLibraryFirst is on, and the user is logged in, then have
their branch selected in the Location And Availability drop-down.
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>
Before starting to edit opac/opac-detail.pl, I added 'use warnings' and
eliminated all of the warnings that I could get it to produce. I also
extracted two lines that prepared an amazon ISBN into a function. They
were causing a few warnings and might as well be extracted. They should
probably be moved to a module somewhere since these two lines are copied
all over our code.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Intended for corporate or special sites which require the name of the person
who has checked out an item to show in the OPAC. Most libraries will want
to leave this turned off!
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Ensure that emails sent from lists and the cart in the
OPAC have the correct quoted-printable encoding. Otherwise,
if there is an equals sign followed by one or two characters
that look like hexadecimal digits in body of the email, the
results can look mangled in some email clients.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch modify the way to transfer the different args, don't use the form arrays.
And use a GET form instead of POST(we are getting datas, sending nothing).
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>
GetItemsInfo() returns a count_reserves variable which may be "Waiting" or "Reserved," but opac-detail.pl didn't include a check for these possibilities. This patch has opac-detail.tmpl output "On hold" in either case.
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>
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>
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>
Added a "Tag" button in the toolbar area of the results
page. This activates an inline form that allows the user
to enter a tag that can then be applied to all currently
selected items.
In addition, a "Tag" link has been added to both the List and
Cart pages that provides the same functionality in those contexts.
In these two cases, the a per-item states appears below the
bibliographic information for each item.
Status that applies to the overall operation, such as failing to
provide a tag, will be shown in an alert dialog box.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This OAI server has those characteristics:
* It doesn't use C4::OAI anymore.
* It uses HTTP::OAI library which is easily expandable.
* XML result is not build anymore directly but using
XML::SAX::Writer. It should solve encoding and XML related issues.
* It returns two formats: oai_dc and marcxml.
* DC is generated from biblioitems.marcxml by applying XSLT
(MARC21slim2OAIDC.xsl or UNIMARCslim2OAIDC.xsl).
* It uses the same tokens as previous OAI server (thanks Philippe
Jaillon).
* There is no more sets (it wasn't operational in previous version).
Add two new dependencies:
* HTTP::OAI
* XML::SAX::Writer
available as a Debian package: libxml-sax-writer-perl
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
www.babeltheque.com is a LibraryThings for Libraries equivalent.
This patch enables this service on OPAC.
* Replace previous patch in order to apply onto last master HEAD
and solve conflicts induced by last pushed pateches:
1bb9f76e66
* Modify kohaversion.pl
* It uses v3.01.00.016 slot.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch just transform the script to set the field title as "--" if it was already shown.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Removed irrelevant and unused variables dealing with branches.
Also pulled default branch from userenv when not specified as a param.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This caused a warning from C4::Dates on every execution, since the value
passed to format_date was undefined. Now we reference the correct field
and check for a populated value before trying to reformat it.
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>
The display sorted by code, resulting in nonsensical order
for the users, who don't know or see the codes. Note,
this data should come from GetBranchesLoop, when that
function is availabled (from a separate patch).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch only fix a "security" failure that permit a user to renew his loan using directly the opac-renew.pl url.
Now, we check that opacrenewalallowed is set to on to permit the renewal in opac.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Updated the results, cart, and shelf pages to include a button
or link to initiate a hold request based on checked items.
Updated the request CGI scripts to handle multiple biblio items.
Updated the reserve confirmation page to display multiple items,
with an optional list of copies for each one.
Turned on warnings in opac/opac-reserve.pl and fixed resulting
warnings.
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>
* use item branch instead of patron's branch to
look up the applicable hold policies - this makes
requesting in the OPAC consistent with the intranet.
* when generating pick list using build_holds_queue.pl, only match items
to patrons if request is allowed.
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 change the attachment encoding, else if the file is too large, koha throws an error.
This solution was found on koha list in a Joshua's e-mail
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>
GetPendingIssues did several bad things:
~ select * on a 4 table join,
~ including multiple namespace collisions,
~ including large fields marc and marcxml from biblioitems,
~ return ($count, \@array_being_counted).
Not everything is fixed here (see FIXMEs), but the situation is
improved considerably, with bug 2900 resolved. The "timestamp"
namespace collision in query should be resolved by separate patch.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Code changes to display the priority level on holds in OPAC. Turned on/off based on System Preference. Database changes to systempreferences for both English and French
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Use 'patronid' instead of 'userid' as the query parameter
for passing the patron userid or barcode around; 'userid'
is claimed by C4::Auth and should be used only for
authentication pages.
Fixes the problem where entering a patron's card
number would cause a redirect to the OPAC login
page.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Patch also removes a hard-coded English string from the script and some unused functions from sco.js.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Code change actually occurs in opac-addbybiblionumber.pl accessed via opac-detail.pl.
Bug fix allows for users to select the 'save to lists' link and add item
to their private, public and all open lists. Previously, only private
and open lists were retrieved and listed.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The conditional assignment previously was:
$norequests = 0 && $norequests if ....
The execution of "0" served no purpose.
Also consolidated RequestOnOpac logic to the one line that cared about it.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
By adding support for UPC,EAN and 13-digit ISBN we are able to pull much more content from Amazon, especially on most music and dvd content which
does not have an ISBN.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch removes some superfluous logic left over from early Koha
when a multi-step holds process allowed you to limit your choices to
specific biblioitems.itemtype values. Code previously required a value
in biblioitems.itemtype in order to place hold.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
While a new list was created, no subsequent call to add the biblio number was made,
thus a new empty list would be created every time.
Under the existing list add, the same code to add items would also apply to a new list,
so I refactored out the logic to add items and made a new subroutine.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
When retrieving a record via the OAI-PMH interface, if one of the fields used
to prepare the DC metadata is not defined in the MARC framework (e.g.,
biblioitems.publicationyear in the default MARC21 framework), an OAI GetRecord
can fail with the following error:
> Can't call method "as_string" on an undefined value at
> /usr/share/koha/opac/cgi-bin/opac/oai.pl line 59.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Most Perl scripts (as opposed to modules) do
not need to require Exporter.
No user-visible or documentation changes.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
seems that when itemtypeimagelocation returns undef, the hash is messed up.
put it at the end of the hash and everything is fine.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This makes opac-user.pl sort the output from GetPendingIssues itself, by descend
ing due date.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Corrected so that when XSLTDetailsDisplay is ON but
XSLTResultsDisplay is OFF, the portion of the OPAC bib
details page that's derived from the MARC bib record
is no longer missing.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This adds a Renew All form to the OPAC, and updates opac-renew.pl to take multiple item= parameters.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
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>
This patch updates the queries for the shelf browser in opac-detail.pl for a
slight performance gain. It also adds a param for dateformat to C4::Auth to
fix a warning.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Also some cleanup of opac-showmarc script including removing bogus
dependencies (DBI, CGI methods). Should consider using C4::XSLT if
applicable.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Changed so that the presence of an on-order item (items.notforloan =- -1)
permits a title-level hold request to be made. Prior to this patch,
if all of the items linked to the bib were on-order, no title-level
request was permitted.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
1. restores a check to itemtype.notforloan to set the norequests flag
2. changes improper boolean OR with AND for checking conditions of setting norequests
3. displays 'Not for loan' for item-level itypes when the itemtype is set to notforloan
4. restores items.notforloan values < 0 allowing holds (ordered items for instance)
We still need a notforhold flag set at the itemtype, and items level
Adding code to refresh "Lists" button lists display in OPAC masthead.inc
Adding javascript to force refresh of parent window to update "Lists" button menu
Adding query limits and ability to specify row count and offset in queries related to Virtualshelves.
Also added the ability to return total record counts for specified virtualshelves.
Adding C4::VirtualShelves::GetRecentShelves which returns a list of the most recently modified shelves for
a given set of parameters. This allows the user to be offered active private and open lists to add books
to in drop down menus while also allowing drop down menus to be limited to a reasonable length.
This also limits the shelves stored in the user's session to a fixed number. A further enhancement might
be to add a syspref to enable a staff member to define the limit. Currently it is hardcoded at 10 per
list type (private/public-open).
Adding pagination to list/shelf related screens
Moving refresh shelves code into C4::VirtualShelves::RefreshShelvesSummary and tidying up a bit
Correcting several inconsistancies in the shelves templates as well as handling shelf management on
the intranet side correctly.
Correcting "Add To:" drop-down list to show only lists the patron has permission to add to
Correcting a few C4::VirtualShelves::GetShelvesSummary API calls
Modifications for template consistancy
Breaking up a 1367 char line of javascript in opac-results.tmpl
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
a default installation:
1. Re-names several of the item fields to make more sense to catalogers and patrons
2. Remove links Non-public note from items.paidfor
3. Changes Non-public note to be hidden in the OPAC view
Fixes issues with the 'hidden' field in the framework, specifically:
1. the editor obeys the rules of possible values for hidden (>4, or <-4)
2. the OPAC MARC display obeys the rules of positive values meaning 'hidden in OPAC'
3. the staff MARC display now obeys the rules specified in the hidden values description
GetMemberDetails() returns only one hashref now,
not two. In all cases where the caller was
expecting two output values, the $flags return
was ignored anyway.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
If item is in transit, show that status in the OPAC
user's hold list rather than "waiting to be pulled".
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The following statuses are now displayed correctly in the
bib details page in the OPAC:
* In transit
* Damaged
* Not for loan
Prior to this patch, items of these statuses displayed
as available.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Standardized table layout with colspan=2 for Title header,
the first being the icon or jacket image. Discovered a bug
when I fixed the "toggle/highlight" code to work (using loop
context var __odd__), namely that the highlight styling overrides
the red overdue styling. Commented out that conditional with a
FIXME.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
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>
opac-mymessages.pl and opac-mymessages.tmpl generate an RSS feed of a patron's messages from the message_queue.
Some more methods in C4::Letters to let us pluck out the right entries in the queue.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch allows patrons to update their messaging preferences. This
includes methods in C4::Members to manage patron messaging preferences.
added cgi script to allow patron to edit their messaging preferences
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
NOTE: This patch introduces code which generates an anonymous session when a patron first browses to OPAC.
This anonymous session contains a minimal amount of information including the results of a query to discover
all public lists/shevles. When the user logs in, the anonymous session is cleared and a new session created
for that user.
kohabug 1875 - fix error when editing a patron record
C4::Auth::checkauth was not distinguishing between a
'userid' input from an OPAC or staff login form and
a 'userid' input from (e.g.,) the patron editor.
Consequently, adding or editing a patron record would
result in Koha trying to log in as the new patron.
To resolve this, added a hidden input to all login
forms, 'koha_login_context', to explicitly signal
when a login is occurring. The value of this input
can be 'opac', 'intranet', or 'sco' - the value is
not used at present, but may be of use later.
C4::Auth - added debug flag to two warns
kohabug 1875 - create anonymous sessions only for OPAC
No need to create an anonymous session for the intranet.
set yuipath correct for login pages
When preparing the template parameters for a login form,
C4::Auth was overriding the value of yuipath set
by C4::Output::gettemplate(), thus causing 404 errors
if the 'yuipath' syspref was set to 'local'.
kohabug 1875 - avoid warns viewing lists anonymously
During an anonymous OPAC session, the $loggedinuser variable
is not set. As the undefined value causes warns in
C4::VirtualShelves::Page::shelfpage, for the purpose of the
shelfpage call the loggedinuser is set to -1, which should
not correspond to any real borrower number.
This is admittedly a hack to avoid digging through all
of C4::VirtualShelves to deal with lists viewed anonymously.
kohabug 1875 Refactoring of &ModShelf to avoid overwriting list owner needlessly
kohabug 1875 Avoid warning if can't find owner of shelf
Since virtualshelves.owner is not a true FK of borrowersnumber.number,
set ownername to '' if can't find the patron
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The issue was that the index for itemtype is different depending
on whether you're using item-level or bib-level itemtypes. This
patch detects the system choice and sets the index properly
For documentation, please indicate that as part of profiling,
staff can refer to the AdvancedSearchTypes system preference to
choose where to draw the advanced search 'Types' from. Currently
this is implemented as a choice, between itemtypes and ccodes,
but it's been designed to work with any authorised value so long
as an index exists for searching by that authorised value.
By default, and if this syspref doesn't exist, it will pull from
itemtypes as before.
In any MARC record display in the OPAC or staff client
that displays the MARC tag numbers, the indicators are
now displayed as well, following the tag number. If an
indicator is a blank, it is displayed as '#'.
Add a function to C4::Koha, display_marc_indicators(), to
generate this display form of the indicators.
Refactoring note: the four scripts changed in this commit
have a lot of duplicate code that could be merged into
a MARC displayer class.
Documentation notes: screenshots of tagged MARC record
displays should be updated.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
In OPAC, when cart is sent by email, the email contains an attachement:
an ISO2709 file with cart biblio records. Most users don't have a clue
what to do with this file.
This patch modifies opac-sendbasket.tmpl to clarify what the attachment is.
It also fix a bug in opac-sendbasket.pl which wasn't reading the template
section containing information about the basket:
Here is your cart, sent from the Koha Online Catalog... foo
It may be necessary to verify that template text is in 'valid' English...
Signed-off-by: Joshua Ferraro <jmf@liblime.com>