One of the ideas behind authority records is that users who search for
one term should have related terms (according to the authority file)
suggested to them. At the moment, Koha doesn't do that. Adding an
authority searching step to regular searches and displaying any
suggestions in a "Did you mean" bar at the top of the results would be
very useful.
This commit adds a Koha::SuggestionEngine class which is in charge of
getting suggestions from individual suggestion engine plugins, which
much be in the Koha::SuggestionEngine::Plugin::* namespace, and extend
Koha::SuggestionEngine::Base. Suggestions are loaded asynchronously
using AJAX, and a link to a page with suggestions is provided for users
with Javascript turned off.
The AuthorityFile suggestion engine plugin looks up the specified search
terms in the authority file and then suggests searches for records using
matching authorities.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Rebased 2 August 2012 and incorporated QA feedback
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Test plan:
- Verified database update added system preference correctly,
pref defaults to OFF
- Verified search results and detail pages in OPAC and staff
still worked the same as before
* for no results
* with results
- Activated system preference and tested various searches
* Searches from simple search
* Searches from advanced search
* Search links in records
- Deactivated Javascript - verified fallback works correctly
Notes:
- Suggested terms can include autorities with no linked records.
- When combining more than one search option using advanced search
this results in "no suggestions" more often. Feature works best
from simple search.
Overall great feature making use of authorities in a user friendly way!
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Rebased on latest master 2012-09-10
Signed-off-by: wajasu <matted-34813@mypacks.net>
Create transport_cost table, added UseTransportCostMatrix syspref.
transport_cost table contains branch to branch transfer
costs. These are used for filling inter-branch hold transfers.
Moved GetHoldsQueueItems() from .pl to HoldsQueue.pm
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
New version implementing Paul's advice.
See Wiki http://wiki.koha-community.org/wiki/Age_restrictiotion
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
fix updatedatabase.pl
New fix updatedatabase.pl to apply to current master by Marc Veron veron@veron.ch
...and fixed missing curly bracket after merging updatedatabase.pl
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This is only for the MARC21 XSLT at this stage, follow up patch for
UNIMARC will come
Conflicts:
C4/XSLT.pm
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Pre-filling of items: remember what was in the previous item filled, to be able to create multiple items quickly.
By default, all subfields are prefilled when the PrefillItem syspref is on, unless you specify which fields
you want to prefill in the SubfieldsToUseWhenPrefill syspref.
With a value of "f u v", only the $f, $u and $v will be prefilled, for example.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Rebased and QAed.
This patch re-uses code and markup from opac-user.tt & .pl
to place the contents of the opacmysummaryhtml preference
on the circulation history page in exactly the same way
it appears on the "my summary" page.
The wording of the system preference description has
been modified to reflect this addition.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Works as advertised.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This enhancement extends the OpacSuppression feature with an optional IP address range within which results are _not_ suppressed.
To test
* turn on OpacSuppression (Administration->System preferences->Cataloging) and enter an IP address range in the OpacSuppressionByIPRange field.
* set at least one bibliographic record to suppress=1 (enter '1' in 942$n)
* fully reindex your data
* do an OPAC search that should bring up your suppressed record
* try with IP ranges that match your IP and ranges that don't
Signed-off-by: Marc Veron <veron@veron.ch>
Tested following the scenario above. Works as expected.
Circulation and Fine Rules should have a higher priority than
cities and road types.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Tested on main admin page and the menu on the left of all of the
other admin pages. Looks a-ok to me.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
If you choose to sort search results in the OPAC or staff
client by call number by default, the wrong value will
be saved by the system preferences editor. It should be
"call_number" instead of "callnumber." This patch
corrects the pref file and updates the database in cases
where defaultSortField or OPACdefaultSortField are
set to the incorrect value for call number sort.
To test: Set defaultSortField and/or OPACdefaultSortField
to "call number" and perform a search. Results will be
sorted by relevance. Apply the patch, update the database,
and search again. Results should now be sorted by call number.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
with the caveat that this will not fix the issue unless the sort order is first set to descending and back to ascending per bug 8012.
However, with the sort order set to a proper sort value, this patch does fix the issue.
This patch removes the AmazonReviews and AmazonSimilarItems
features from the OPAC and staff client. With on Amazon
feature remaining, cover images, the *AmazonEnabled preference
is also removed in favor of checking the *AmazonCoverImages
preference. Two other system preferences, AWSAccessKeyID and
AWSPrivateKey are removed as they were required only by the
removed features.
Handling of book cover images from Amazon is unchanged.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Turned on amazon covers in opac and staff client and all
worked as expected. Then tested to make sure other cover image
services still worked and they do.
Signing off.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
uri escape the following characters:
&, @, /, ;, :, =, +, ? and $
Signed-off-by: Marc Veron <veron@veron.ch>
Test and sign off second patch (independently from first patch).
Added categories like '+zwoelf' or '? Test' before applying the patch.
Deletion was not possible.
After applying patch deletion is possible, patch works as expected.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Enforces category code with allowed characters only.
Test plan:
- Before applying patch, create a category code like Test+
- Try to delete category with this code -> does not work
- Apply patch
- Try to create category with code containg other characters than letters, numbers, - and _
- Result: You are not allowed to do so, appropriate message pops up
Signed-off-by: David Cook <dcook@prosentient.com.au>
This patch makes the use of opaccolorstylesheet and opaclayoutstylesheet more consistent. They may be: 1) just a file name, 2) a complete local path or 3) a full URL starting with http: for a remote css file.
This makes the syspref opacstylesheet that was only used for a remote css file obsolete.
June 20, 2012 Rebased.
July 18, 2012: Regex allows https too (thanks to Owen Leonard).
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
A problem in routine text_replace_tag (tmpl_process3.pl) have to be
fixed to prevent this kind of patch :)
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Implement auto-incrementing EAN-13 barcodes
To make this work, C4::Barcodes::next was modified to call process_tail with
new incremented value so that process_tail can generate correct checksum.
Since process_tail is currenlty not used by any barcodes, this change is safe.
C4::Barcodes is used by addbiblio.pl when adding multiple records, while value_builder
is used in all other cases.
Test scenario:
1. prove t/Barcodes_EAN13.t
2. KOHA_CONF=/etc/koha/sites/fer/koha-conf.xml prove t/db_dependent/Barcodes.t
this will check C4::Barcode implementataion
3. in systempreference change autoBarcode to incremental EAN-13 barcode
4. edit two items of any biblio assigning barcodes and verify that numbers
are increasing. Have in mind that last digit is check digit, and it
doesn't increment, but is calculated from barcode itself. Example with
checksum in brackets: 000000086275[2], 000000086276[9], 000000086277[6]
5. Add Item and verify that it gets assigned next barcode
6. Add & Duplicate item and verify barcode increase
7. Add Multiple Copies and verify that barcode increase for each copy
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This filter which check validity of EAN-13 barcode and padd it with zeros
up to full 13 digit number. This will also expand 12 digit UPC-A barcodes
to EAN-13 automatically which is useful for older barcode readers which tend
to ignore first zero in EAN-13 if they have just UPC-A support.
It should be noted that EAN-13 or UPC-A product codes printed on books are not
good choice for barcodes in Koha since each item has to have unique barcode.
Test scenario:
1. prove t/Circulation_barcodedecode.t
this checks expansion of 12 digit UPC-A to 13 digit EAN-13 and zero padding
2. in systempreferences search for itemBarcodeInputFilter and select EAN-13
3. edit one item and assign it valid EAN-13 barcode, eg. 0000000695152, check it out
4. test checkin with just 695152 to test leading zero expansion
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Replaced existing MaxFine syspref logic with overduefinescap.
Repurposed MaxFine to be the overall overdue limit for all items
overdue. Implemented new MaxFine logic in UpdateFine().
Signed-off-by: Elliott Davis <elliott@bywatersolutions.com>
Tested according to Srdjan's test plan and everything worked like he said it would. I set fined equal to $2 and max fine equal to $1. When I ran the fines script for overdue items fines assessed were only $1.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Patch rewritten from the original one from nengard, that I couldn't apply for an unknown reason
This patch changes around the wording of the StatisticsFields
preference to make it clearer where these values will show.
Signed-off-by: Marc Veron <veron@veron.ch>
Because updating the total issues count associated with a bibliographic
record on issue could cause a significant load on the server, this
commit adds the syspref UpdateTotalIssuesOnCirc (which defaults to OFF
to match existing behavior). The syspref has the following description:
Do/Do not update a bibliographic record's total issues count whenever
an item is issued (WARNING! This increases server load significantly;
if performance is a concern, use the update_totalissues.pl cron job
to update the total issues count).
Bug 6557: automatically increment totalissues
Adds the ability to automatically increment biblioitems.totalissues
whenever an item is issued.
To test:
1) Choose a record with at least one item that can circulate
2) Check the value of 942$0 (you may need to look at the plain MARC view
on the OPAC). Most likely there won't be any 942$0 at all
3) Enable UpdateTotalIssuesOnCirc
4) Check out the item you selected
5) Check the value of 942$0 (you may need to look at the plain MARC view
on the OPAC). That value should now be one greater than before
6) Discharge the item
7) Disable UpdateTotalIssuesOnCirc
8) Check out the item you selected again
9) Check the value of 942$0 (you may need to look at the plain MARC view
on the OPAC). That value should not have changed
Bug 6557: add script to update totalissues from stats
NAME
update_totalissues.pl
SYNOPSIS
update_totalissues.pl --use-stats
update_totalissues.pl --use-items
update_totalissues.pl --commit=1000
update_totalissues.pl --since='2012-01-01'
update_totalissues.pl --interval=30d
DESCRIPTION
This batch job populates bibliographic records' total issues count
based on historical issue statistics.
--help Prints this help
-v|--verbose
Provide verbose log information (list every bib modified).
--use-stats
Use the data in the statistics table for populating total
issues.
--use-items
Use items.issues data for populating total issues. Note that
issues data from the items table does not respect the --since
or --interval options, by definition. Also note that if both
--use-stats and --use-items are specified, the count of biblios
processed will be misleading.
-s|--since=DATE
Only process issues recorded in the statistics table since
DATE.
-i|--interval=S
Only process issues recorded in the statistics table in the
last N units of time. The interval should consist of a number
with a one-letter unit suffix. The valid suffixes are h
(hours), d (days), w (weeks), m (months), and y (years). The
default unit is days.
--incremental
Add the number of issues found in the statistics table to the
existing total issues count. Intended so that this script can
be used as a cron job to update popularity information during
low-usage periods. If neither --since or --interval are
specified, incremental mode will default to processing the
last twenty-four hours.
--commit=N
Commit the results to the database after every N records are
processed.
--test Only test the popularity population script.
WARNING
If the time on your database server does not match the time on your Koha
server you will need to take that into account, and probably use the
--since argument instead of the --interval argument for incremental
updating.
=== TESTING PLAN ===
NOTE: in order to test this script, you will need to have some sort of
circulation data already existing in your Koha installation.
1) Disable UpdateTotalIssuesOnCirc
2) Run: misc/cronjobs/update_totalissues.pl --use-items -t -v
3) If you have total checkout data in your item records (i.e. anything
in 952$l), you should see messages like "Processing bib 43 (1 issues)"
4) Choose one of the lines that shows more than 0 issues, and view the
record with that biblionumber in the staff client, choosing the "Items"
tab (moredetail.pl). Add up the "Total checkouts" listed for each item,
and confirm it matches what the script reported
5) Run: misc/cronjobs/update_totalissues.pl --use-stats -t -v
6) If you have any circulation statistics in your database (i.e. any
'issue' entries in your statistics table), you should see messages
like "Processing bib 43 (1 issues)";
7) Choose one of the lines and view the record with that biblionumber in
the staff client, choosing the "Items" tab (moredetail.pl). If you
count the number of checkouts listed in each item's checkout history,
the total should match what the script reported.
8) Check out an item
9) Run: misc/cronjobs/update_totalissues.pl --use-stats
--incremental --interval=1h -t -v
10) You should see one line reporting a single circ for the bib record
associated with the item you just checked out (there may be more if
you checked out any books in the hour prior to running these tests
11) If the results in steps 4, 7, and 10 match the predictions, the
script worked
This patch to Koha was sponsored by the Arcadia Public Library and the
Arcadia Public Library Foundation in honor of Jackie Faust-Moreno, late
director of the Arcadia Public Library.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested this with my test data - numbers are correct and updated appropriately.
More importantly - if I do a popularity search, the most popular items *come up first*. Amazing.
This preference had a few grammar errors and repeated the
word 'show.' This patch resolves those issues.
Signed-off-by: Marc Veron <veron@veron.ch>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Adds the ability to attach unlimited arbitrary files to
a borrower record.
Test Plan:
1) Enable system preference EnableBorrowerFiles
2) Look up borrower record, click 'Files' tab on left
3) Upload a file, download the file, delete the file.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
rebased for current master.
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
rebased again; some indentation issues in include menus.
Rather than list authorities that are not actually used by a library,
this commit introduces a new syspref: OPACShowUnusedAuthorities to
enable libraries to hide unused authorities in the OPAC authority browser.
To test:
1) Do a search in the OPAC authority browser that brings up multiple
results, including some that are used in the bibliographic database
and some that are not.
2) Observe that the results include both used and unused authorities.
3) Set OPACShowUnusedAuthorities to "Do not."
4) Repeat the same search as in step 1.
5) Observe that the results no longer include unused authorities.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Preference is implemented cleanly and works like advertised.
As a note: The unused authority records will be hidden from display,
but the result list paging does not adjust for the hidden records.
So the result pages will show more or less records total, depending
on how many records are hidden.
All instances of the old DynArch calendar have been replaced with
jQueryUI versions and the old library files have been removed.
calendar.inc has been modified to include jQueryUI localization
strings and global configuration options. Just add a "datepicker"
class to an input field to trigger a datepicker prompt.
If you would like two fields in one from to limit each other (one
is date from, one is date to), add these classes to each:
"datepickerfrom" and "datepickerto." This will prevent an invalid
entry, e.g. a date in the latter which falls before the former.
jQueryUI is now upgraded to the latest verision, 1.8.21.
Edit: Now with proper translatability, date formatting, first day
of the week handling, and RTL support.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
QA Comment: rebased on current master; minor merge conflicts with other patches pushed
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch creates a new system preference, OpacNavRight, in
which the librarian can add HTML which will appear on the OPAC
main page under the login form. If the user is logged in the content
will appear in place of the login form.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Rebased to current master, works in my tests, but needs another set of eyes.
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
This patch adds a new 'statistics' tab in the Patron module.
For a borrower, this tab contains a table with:
- number of checkout for today
- number of checkin for today
- "precedent state", the number of checkouts the patron had yesterday on
its library card
- "actual state", the number of checkouts on the borrower card at the current date
A new syspref (StatisticsFields) contains a list of fields (separated by
pipe (|) on which the table results is based. The default value is
location|itype|ccode
Signed-off-by: Mathilde Formery <mathilde.formery@ville-nimes.fr>
Implements support for Talking Tech I-tiva phone notification for OVERDUE, PREDUE and HOLD notifications.
Overdues respect triggers as configured for the patron's branch.
Predue and Holds notifications respect patron's messaging preference choices.
A new column for phone notification is added if the TalkingTechItivaPhoneNotification system preference is turned on
Record of phone messages being sent to patrons is added to the patron's Notices
tab; notice of success or failure can be retrieved from I-tiva.
See the TalkingTech.README for installation and set-up instructions.
Aside from the control system preference, and the necessary changes to Messaging Preferences
forms to make use of phone notifications, the bulk of the code resides in external
cronjobs.
TalkingTech_itiva_outbound.pl generates the Spec C file to send to I-tiva. Actual transmission
of the file must be handled by the system administrator.
TalkingTech_itiva_inbound.pl processes the received Results file from I-tiva. Getting the
file from I-tiva to Koha is the job of the system administrator, as well.
Both scripts have a --help option with full documentation.
The only necessary change to core Koha behavior is in C4::Letters::EnqueueLetter. The return
value was changed from 0 or 1 (successful addition of letter to message_queue or not), to the actual
insert ID of the letter. This was required by the outbound script to present a unique Transaction ID
for the notice added to the patron's record (so a 'sent' or 'failed' status could be updated). Since
the dbh and sth are not shared, and the last_insert_id() command is table-specific, this should be thread-safe.
No changes are necessary to any parts of Koha, as all usage of EnqueueLetter currently ignores the return value.
To Test:
1. Turn on TalkingTechItivaPhoneNotification system preference
2. Verify that 'phone' is now a valid notification option for patrons on both staff and OPAC side
3. Attempt to set a 'phone' preference for PREDUE or HOLD messaging; attempt should succeed
4. Set up the patron for notices to triggers:
a. include checked out items due in a range of days, including the value set up in their messaging preferences.
b. place several holds, some in position, others waiting for pickup, others in transit.
c. set the patron up to have overdues, overdue by a range of days that includes the delay values for
the patrons branch and categorycode
5. Run TalkingTech_itiva_outbound.pl --type=RESERVE --type=PREOVERDUE --type=OVERDUE --outfile=/tmp/talkingtechtest.csv
The resulting talkingtechtest.csv file should include all the items due on X days (where X is the patrons' preference),
and none of the ones due in other increments. Similarly, overdues messages should be added for each item due by a delay
value as configured; overdues of other numbers of days should be ignore. Holds that are waiting pick up or in transit should
have messages, those still pending should not.
Messages should be added to the patron's notices tab for each issue sent. Verify these messages exist, and all Notices
tokens are replaced with appropriate information.
Repeat, this time with 4c making use of the default branch overdue triggers, instead of branch-specific triggers.
To test the inbound script, create a CSV with rows in the format "<<Message_id>>","<<SUCCESS or FAIL>>"
Message ID should correspond to the final column of the talkingtechtest.csv file (the transaction id) for the message.
Primary Authorship: Ian Walls
Additional modifications: Kyle M Hall
http://bugs.koha-community.org/show_bug.cgi?id=4246
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Tested and in use in production by two public libraries : Middletown
and Washoe. Both have given their sign off, but don't have git to
actually sign off.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Current jQuery-driven tabs are done using a very old
version of the tabs plugin. This patch upgrades jQueryUI
to the latest version and adds the tabs widget dependency
to the jqueryui js file and updates the syntax for existing
tabs:
- $("#foo > ul").tabs(); changes to $("#foo").tabs();
- Remove full URL from tab links (use #anchor only).
Pages with "static" tabs (tabs which are built in the
markup rather than generated by the plugin) have been
modified to use their own style. Examples: pay.tt in
the staff client and opac-readingrecord.tt in the OPAC.
Edit: Minor revision to some uncorrected markup
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
if not fill any field it save blank record
To Test:
1) Go to Currencies & Exchange rates.
2) Create New currency
3) If you not fill any field for ex: (Currency, rate, symbol)
it will not save the record.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Adding title, heading, and breadcrumbs for "duplicate a budget"
operation. Also:
- adding cancel link for duplicate and edit
- correcting the CSS so that the "edit" menu button
is styled like an edit button.
operations.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
When a new marc record is added, the language code in field 008 Range 35-37 defaults to Englih ("eng"). This makes cataloguing inefficient and error-prone for librarians if most of the bibliographic data is e.g. in German or in French.
Test:
- Apply patch
- Edit preference DefaultLanguageField008, fill in e.g. 'ger'
- Go to Cataloguing, Add marc Record
- Click in field 008. Language code should read 'ger' (instead of 'eng')
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Display a hint when the exchange rate != 1.0: "The active currency
must have a rate of 1.0"
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Shari Perkins <dear.shari+koha@gmail.com>
Set outside tables the "no group defined" message.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
When there are no groups, add a link to group creation from
the message, "No properties defined."
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
New syspref is Choice, options being:
- None
- Priority only
- Holds number only
- Holds number and priority
Show holds count on OPAC detail
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This feature will add the option of displaying a select quote
for the day on the OPAC homepage. It will include the addition
of a QOTD editor in the tools section of the staff interface
which will allow the addition, editing, and deletion of quotes.
A single system preference will enable/disable the display of
the QOTD on the OPAC homepage. A new granular permission will
also be added to conrol user access to the QOTD editor tool.
Possible extentions to this would be code to allow alternate
quote selection algorithms to be added to vary how the currently
displayed quote is selected from the table of quotes.
This patch is a squash of the following work:
--Adding quotes table to kohastructure.sql and updatedatabase.pl
Note: This patch is intended for a MySQL based installation only.
That means that it includes backticks because that is what is required
at this point in history to install Koha correctly on a MySQL based
installation.
Feel free to port this over to the Pg stuff in the data/Pg directory.
--Adding system preference to control display of QOTD on OPAC main page
--Adding sample quote data
These quotes are taken from various US presidents. I'm not sure these
are applicable to the rest of the world, so I'm leaving it to translators
and others to add sample quote data for other languages.
--Adding edit_quotes user permissions
--Squash with other db related patches in this series
--Adding quotes editor pages to tools
--Adding QOTD editor link to tools homepage
--Integration of DataTables into QOTD Editor
--Impleminting jEditable into the quote editor
--Adding delete and add option to editor
--Fixing OPAC display so the QOTD div does not show if no quote is returned
--Also removing useless code from tools/quotes.pl
--Adding spans around QOTD foo in opac-main.tt
--Also fixing quote selection logic to accomodate the possibility of
a single quote in the db a litte better.
--Changing timestamp column header to a more user-friendly 'Last Displayed'
--Fixing bug in quote selection logic. This bug caused a situation where
when the table had only a single quote with an id greater than 1 in it,
no quote would be selected.
--Fixing up sorting in the quote editor table. --jcamins
--Adding span element to quote separator --jcamins
--Overriding the default empty table message supplied by datatables-strings.inc
--Adds missing page heading
--Adds beginning of click-for-help elements.
--Refactors delete functionality to allow selecting of quotes to delete,
enabling multi-delete.
--Refactors saving added quote functionality so that striking <Enter>
saves the new quote.
--Refactors canceling aded quote functionality so that striking <Esc>
cancels the new quote.
--Removing debug console.log statements
--Implementng the YUI button widget/toolbar used on other pages.
--Adds a 5px radius to all YUI buttons to bring them into
conformity with the general trend toward rounded corners
--Fixes capitalization in quote editor
--Implements improvements suggested by jcamins and oleonard
--Adds DataTables Plugin dataTables.fnReloadAjax.js
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Upgrade jQuery in the staff client. Besides the change
to the jQuery file syntax has been changed wherever this
syntax was written:
$(foo).attr("checked","");
The new correct way to un-check a checkbox:
$(foo).removeAttr("checked");
I also removed some JavaScript altogether from
branch-transfer-limits.tt which used the old syntax but
which wasn't used on the page at all anymore.
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The original patches for bug 7249 had a hardcoded limit of ten rows in the
results returned by the web service. This patch adds a SvcMaxReportRows syspref
which allows the librarian to choose how many rows should be returned by the
web service.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The bug was in the numbering of the fields and subfields in the form.
The form elements for the 'new subfield' got the same numbered names and ids as
the form elements for the second subfield. (example: repeatable1)
The patch fixes the numbering to continue to the new subfield.
To test:
- Create some new subfields and check all checkbox fields save correctly
(mandatory, repeatable, is url)
- Check that other subfields' checkboxes are not changed
- Check existing subfields and newly created subfields can be edited
Signed-off-by: mveron <veron@veron.ch>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The systempref.sql file had one more option 'cardnumber' that was not
visible from the system preference editor. This patch adds the setting.
To test:
- Check new setting cardnumber is available for AutoEmailPrimaryAddress
- Use setting with a patron that has an email address as cardnumber and
verify email is sent out correctly.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Patch introduces a new system preference "OpacBrowseResults" to control
the feature for browsing and paging through results shown on top of the
left menu on detail pages in OPAC.
Preference is activated by default and can be deactivated using the
system preference.
To test:
- Check database update works correctly
- Check that browsing and paging still works with after database update
- Deactivate the feature by setting 'OpacBrowseResults' to 'Disable'
- Check the feature does no longer show up in OPAC
- Check that a new installation also has the system preference with correct default
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
patch applied to commit eb3dc448d2
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Turned on star ratings in the opac on details and results
Searched for titles - saw the stars
Clicked on a title
Clicked on the stars
Clicked on the stars to change my rating
Logged out
Tried to click on stars
Logged in as different user
Rated items that were rated already and saw average change
Changed preference to show only on detail and repeated tests
Changed preference to now show stars
All above tests passed. Signing off.
Rebased 3-19-12 by Ian Walls
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
I checked in C4/Auth and we are using perl time() for comparison with this value.
I also added description of specifying timeout in days which is available in code.
Robin Sheat suggested to document just lowercase d for days option, to reduce
confusion although uppercase D works as days specifier as well.
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Changes description of system preference SubscriptionHistory:
When showing the subscription information for a bibliographic record,
preselect [brief history|full history] view of the serial issues.
To test:
1) Verify new description shows in system preference editor (tab serials)
2) Verify description is correct (OPAC > Subscription tab > more details)
Signed-off-by: Marijana Glavica <mglavica@ffzg.hr>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
(Poor being subjective, being an en-NZ speaker, all the US
misspellings are poor to me :))
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This makes bug 4032 support multi-language Koha installation which is important
for some of Koha users.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
1) After update XSLT system preferences are set to 'default'. All views
(OPAC and staff, results and detail page) work and switching languages
selects the correct translated file.
2) Leaving empty works and normal views are used.
3) Putting in a single URL without placeholder works.
4) Putting in a URL with placeholder works. Created local directories
have to match the language codes.
NOTE: In order to make the URLs and patchs work, the Utils file needs to be
copied too.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Marijana Glavica <mglavica@ffzg.hr>
I am signing it off because it doesn't break anything and I will report
another bug for language issues described in my previous comment.
Removed MySQLism backquotes
Adds the ability to suspend reserves. The new system preference
AutoResumeSuspendedHolds enables the ability to set a date for
a suspended hold to automatically be resumed.
When a hold is suspended, it will continue to increase in priority
as the holds above it are fulfilled. If the first holds in line
to be filled are suspended, the first non-suspened hold in line
will be used when an item can fulfill a hold that has been placed.
http://bugs.koha-community.org/show_bug.cgi?id=7641
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Tested with the preference on and off:
1. placed several holds in the staff client
2. suspended some with a date
3. suspended some without a date
4. triggered hold message by checking in for hold with suspensions
5. the suspended hold was skipped as it should be
6. tested suspending holds in the OPAC w and w/out dates
7. ran the cron to clear suspensions with dates
All the above tests worked as expected. Signing off.
A new syspref (SubscriptionDuplicateDroppedInput) contains the list of fields to
duplicate when duplicating a subscription. The library will be able to
define that, for example, the internal note should not be duplicated
Test plan:
On the detail subscription page, click Edit > Edit as New (Duplicate):
All the information must be copied from the original subscription.
Fill the syspref SubscriptionDuplicateDroppedInput with a list of fields
you don't want to be duplicated (e.g. location;notes;branchcode).
Repeat the duplicate action. Normally, information for these fields are
not copied.
Signed-off-by: Kristina D.C. Hoeppner <kristina@catalyst.net.nz>
3 features:
- adds social network information in search results
- adds babeltheque data in opac-detail
- adds social network links in opac-detail too (google+, twitter, mail
and co.)
- Display a unique item block at once
On orderreceive.pl when AcqCreateItem is 'receiving', and on
neworderempty.pl when AcqCreateItem is 'ordering' it displays an
item block with item infos to fill, and a '+' button.
When user clicks on '+', the block is hidden and a list shows up with
the items that will be received. User can then edit or delete items in
the list and click 'Save' to receive items.
- PrepareItemrecordDisplay is now used for cloning block
Previous cloning function was duplicating ids, the side effect is that
plugins didn't work when several items were displayed.
PrepareItemrecordDisplay regenerate the form with new ids
- New system preference UniqueItemFields
Contains a space-separated list of sql column names (of items table).
This syspref is used in two ways:
- Values corresponding to fields in syspref are not duplicated when
adding a new item (button 'Add')
- When saving the form, a check is made on fields in syspref for
detecting duplicate (in DB and in the form)
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests done are noted on the bug report.
2012-03-23: Fixed conflict in updatedatabase.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This is the first patch for bug 7760 and touches all pages in administration.
This adds a unique id "admin_<filename>" and a class "admin" to the body tag of
each page in administration.
Note: aqcontract can only be accessed from the acquisition module, so I made it acq
instead of admin.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
* group some attributes for a more friendly display
* allow a link between a borrower category and an attribute to display
it only for the specified category
* Attr classes filled with AV 'PA_CLASS' category (you have to create AV
with a new category 'PA_CLASS' to fill class list)
this patch add 2 fields in borrower_attribute_types :
category_code
class
Signed-off-by: Julien Sicot <julien.sicot@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The Javascript toggling the link description was checking for the english
link text. This would not work for translated templates.
Tested: Apply patch, then translate update and translate install.
Text changes as appropriate (with manually inserted translation in .po file)
Signed-off-by: mveron <veron@veron.ch>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Adds two new preferences to OPAC/Policy tab.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
This patch adds a syspref UseICU for toggling between using "" and {} for
quoting in subject tracings. With normal Zebra indexing, "" must be used. With
ICU Zebra indexing, {} must be used.
This syspref interacts with TraceCompleteSubfields and TraceSubjectSubdivisions.
To test:
- marcflavour = MARC21
- make sure you have a record with a "complex subject", like
"Internet -- Law and legislation"
Toggle UseICU, TraceCompleteSubfields, and TraceSubjectSubdivisions and check
that you get the expected results for the clickable links in the OPAC detail
view:
TraceCompleteSubfields = Don't force
TraceSubjectSubdivisions = Don't include
UseICU = Not using
opac-search.pl?q=su:"Internet"
UseICU = Using
opac-search.pl?q=su:{Internet}
TraceCompleteSubfields = Force
TraceSubjectSubdivisions = Don't include
UseICU = Not using
opac-search.pl?q=su,complete-subfield:"Internet"
UseICU = Using
opac-search.pl?q=su,complete-subfield:{Internet}
TraceCompleteSubfields = Don't force
TraceSubjectSubdivisions = Include
UsingICU = Not using
opac-search.pl?q=(su:"Internet") and (su:"Law and legislation.")
UsingICU = Using
opac-search.pl?q=(su:{Internet}) and (su:{Law and legislation.})
TraceCompleteSubfields = Force
TraceSubjectSubdivisions = Include
UseICU = Not using
opac-search.pl?q=(su,complete-subfield:"Internet") and (su,complete-subfield:"Law and legislation.")
UseICU = Using
opac-search.pl?q=(su,complete-subfield:{Internet}) and (su,complete-subfield:{Law and legislation.})
Check that clicking on the generated links gives the expected search results,
but with normal and ICU indexing. (I have actually not tested this with ICU, so
doing that before signing off is crucial.)
UPDATE 2012-03-16:
Changed the name of the syspref from TracingQuotes to UseICU after a suggestion
from Paul P., to make it more generally useful.
I have used "Using/Not using" instead of "Use/Don't use" in the description of
the syspref, to reflect the fact that this syspref will not change how Zebra
does its indexing - it's just a way of telling Koha how the indexing is
actually done.
I have also set UseICU = 1 in updatedatabase.pl, since that will preserve the
current behaviour of Koha, but UseICU = 0 in sysprefs.sql, since most new
installations will not have ICU activated.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
the table below show checkout/hold/return, so the description should be in the same order for a better consistency
Plus the term "return" is used elsewhere in the page, so s/checkin/return/
Adds support for Floating Collections (i.e. items that don't automatically return
home when checked in at another branch) on a per branchcode/itemtype basis.
This patch adds a new column (returnbranch) to the default_circ_rules, default_branch_item_rules,
default_branch_circ_rules and branch_item_rules tables, after the 'holdsallowed' column. While
this is coded as a varchar(15), the only currently supported values are 'homebranch', 'holdingbranch',
'noreturn' and NULL.
On upgrade, the value of HomeOrHoldingBranchReturn is used to populate the global default (which is
stored in default_circ_rules.returnbranch).
To access this value, use C4::Circulation::GetBranchItemRule. This subroutine is altered to supply
an additional key, "returnbranch", containing this value (or 'homebranch' as a default). No existing
usage of GetBranchItemRule should need to be modified.
The use of HomeOrHoldingBranchReturn is removed in AddReturn to instead use this subroutine. This will
determine, on a more granular level, where the item should be transferred, after all is said and done. If
'noreturn' is specified, then the material will remain at the branch doing the checking in.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Passes prove t xt t/db_dependent
I was able to make this feature work as advertised.
As noted above, if you want a floating rule applied across all branches, adding a single default rule won't suffice, you'll need to add the rule to all branches. That issue is not related to the functioning of *this* patch however.
standardized the use of the term "library" instead of "Branch" accross the interface and opac
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
New sql tables:
- oai_sets: contains the list of sets, described by a spec and a name
- oai_sets_descriptions: contains a list of descriptions for each set
- oai_sets_mappings: conditions on marc fields to match for biblio to be
in a set
- oai_sets_biblios: list of biblionumbers for each set
New admin page: allow to configure sets:
- Creation, deletion, modification of spec, name and descriptions
- Define mappings which will be used for building oai sets
Implements OAI Sets in opac/oai.pl:
- ListSets, ListIdentifiers, ListRecords, GetRecord
New script misc/migration_tools/build_oai_sets.pl:
- Retrieve marcxml from all biblios and test if they belong to defined
sets. The oai_sets_biblios table is then updated accordingly
New system preference OAI-PMH:AutoUpdateSets. If on, update sets
automatically when a biblio is created or updated.
Use OPACBaseURL in oai_dc xslt
This adds a new syspref: AllowPKIAuth. It can have one of three states:
* None
* Common Name
* emailAddress
If a) this is set to something that's not "None", and b) the webserver
is passing SSL client cert details on to Koha, then the relevant field
in the user's certificate will be matched up against the field in the
database and they will be automatically logged in. This is used as a
secure form of single sign-on in some organisations.
The "Common Name" field is matched up against the userid, while
"emailAddress" is matched against the primary email.
This is an example of what might go in the Apache configuration for the
virtual host:
#SSLVerifyClient require # only allow PKI authentication
SSLVerifyClient optional
SSLVerifyDepth 2
SSLCACertificateFile /etc/apache2/ssl/test/ca.crt
SSLOptions +StdEnvVars
The last line ensures that the required details are
passed to Koha.
To test the PKI authentication, use the following curl command:
curl -k --cert client.crt --key client.key https://URL/
(look through the output to find the "Welcome," line to indicate that a user
has been authenticated or the "Log in to Your Account" to indicate that a
user has not been authenticated)
To create the certificates needed for the above command, the following series
of commands will work:
# Create the CA Key and Certificate for signing Client Certs
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
# This is the ca.crt file that the Apache config needs to know about,
# so put the file at /etc/apache2/ssl/test/ca.crt
# Create the Server Key, CSR, and Certificate
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
# We're self signing our own server cert here. This is a no-no in
# production.
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key \
-set_serial 01 -out server.crt
# Create the Client Key and CSR
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr
# Sign the client certificate with our CA cert. Unlike signing our own
# server cert, this is what we want to do.
openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key \
-set_serial 02 -out client.crt
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
# In theory we can install this client.p12 file in Firefox or Chrome, but
# the exact steps for doing so are unclear, and outside the scope of this
# patch
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested with Common Name and E-mail authentication, as well as with PKI
authentication disabled. Regular logins continue to work in all cases when
SSL authentication is set to optional on the server.
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
QA comment: synchronized updatedatabase.pl version of syspref with sysprefs.sql
version, to avoid divergent databases between new and upgrading users.
Allow preferences translation
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
This patch fixes another sysprefs problem -
Syck parser (line 300, column -1): syntax error at /usr/lib/perl5/YAML/Syck.pm line 76, <$fh> line 1.
when clicking local use. I could not verify that it fixed translations, but fixing the local use prefs is important too, so I'm signing off.
Adds a new system preference RoutingListNote under the Serials tab.
The note will display above the note from the subscription and replace
the current hardcoded note:
"Notes: Please return this item promptly as others are waiting for it."
The patch adds unique ids to all notes and the note in general, so it
can be styled using CSS.
Also corrects the routing slip template to follow the HTML4 rule.
Update 2012-03-12: Fixed problem in updatedatebase.
Adds the ability to perform advanced searches in both the OPAC and staff client on more than
a single AdvancedSearchType at a time. Support included for Itemtype, Collection Code and Shelving Location.
AdvancedSearchTypes syspref preference is repurposed; no longer a single value, it can now take
multiple item code fields separated by "|". The order of these fields will determine the order
of the tabs in the OPAC and staff client advanced search screens. Values within the search type
are OR'ed together, while each different search type is AND'ed together in the query limits. The
current stored values are supported without any required modification.
Each set of advanced search fields are displayed in tabs in both the OPAC and staff client. The
first value in the AdvancedSearchTypes syspref is the selected tab; if no values are present, "itemtypes"
is used. For non-itemtype values, the value in AdvancedSearchTypes must match the Authorised Value name, and
must be indexed with 'mc-' prefixing that name.
<li> elements in tab are assigned unique IDs, so the text of the tab can be altered to match the
library's needs (using JQuery)
The logic to handle the 5 element row limit has been moved from the Perl to the templates, since Template::Toolkit
has a simple method for extracting the count of an element in a loop and performing 'modulus' on it.
2011-12-21: Incorporated changes recommend by Owen Leonard on bug report.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
This patch amends the preferences page's CSS file to add
bottom padding to the page container. This gives the bottom-
most submit button some breathing room.
Markup correction: Adding "row" and "col" attributes to
<textareas> to quiet validation errors. This doesn't
affect output at all (dimensions are specified in CSS).
To test, open the system preferences page to a tab like OPAC
which contains many preferences. At the bottom of the page
the last submit button should have about a line's worth of
white space below it.
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>