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.
to export a file containing a list of checkin barcode for the current day.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
- Fix sql syntax error
- Fix Encoding
- SendAlerts must return an error if no email is defined
- Get error if no email in memberentry
http://bugs.koha-community.org/show_bug.cgi?id=7001
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Branches can have their own version of notices - added branchcode to
letter table.
Support html notices - added is_html to letter table.
Support for borrower attributes in templates.
GetPreparedletter() is the interface for compiling letters (notices).
Sysprefs for notice and slips stylesheets
Added TRANSFERSLIP to the letters
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This commit adds a new pulldown field to the patron quick search.
This pulldown "Search Fields" can have any number of field combinations
to search on. The combinations added in this commit are:
Standard: Default, searches on original fields
Email: Searches on email, emailpro, and B_email
Borrower Number: Searches on borrowernumber
Phone Number: Searches on phone, phonepro, B_phone, altcontactphone, and mobile
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Tested by running searches on all the new fields, and the old fields
with limits on branch and category. The seach on phone number could be
a bit more inclusive, but it works with and without symbols so I
give my sign off on this patch.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Documentation should note that phone numbers should be searched only on the
numbers of a phone number, and separate the area code and exchange with spaces,
regardless of how the number is entered in the database.
So no dashes or parentheses in the phone search, and the last 7 search works with spaces, i.e. xxx xxxx.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested per test plan.
Passes prove xt t t/db_dependent
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch changes the password field to a password type input on
member-password.pl and adds a confirmation field to both member-password.pl
and memberentry.pl requiring that the password be re-entered to
confirm.
Client-side and server-side validation for the two password fields has been added
to both pages. Multiple error messages can now be displayed together on
member-password.pl.
If the user wishes for Koha to suggest a random password on member-password.pl
they can click a link which will remove the password-type input fields, replace
them with text-type fields, and automatically fill them with the random
password suggestion.
Follow-up fix lets the members.js correctly handling errors when there are
no mandatory fields
LR followup: fixing slight error that corrects previously reported template error.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested password setting/changing utilities - all work as expected and described.
Passes prove t xt t/db_dependent tests congruent with current master failures (adds no new fails).
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The 'Add Child' button is not shown if 'borrowerRelationship' is empty.
System preference description changed.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested with example from bug and by deleting parts of it:
cardnumber|surname|firstname|title|othernames|initials|streetnumber|streettype|address|address2|city|state|zipcode|country|email|phone|mobile|fax|emailpro|phonepro|B_streetnumber|B_streettype|B_address|B_address2|B_city|B_state|B_zipcode|B_country|B_email|B_phone|dateofbirth|branchcode|categorycode|dateenrolled|dateexpiry|gonenoaddress|lost|debarred|contactname|contactfirstname|contacttitle|borrowernotes|relationship|sex|password|userid|opacnote|contactnote|sort1|sort2|altcontactfirstname|altcontactsurname|altcontactaddress1|altcontactaddress2|altcontactaddress3|altcontactstate|altcontactzipcode|altcontactcountry|altcontactphone
Note: This only affects the edit screen, not the patron detail tab.
A nice enhancement would be to make this page follow the system preference too.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
QA comments on Bugzilla. Passing QA.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
* DBrev defined
* small improvement suggested by Marcel added = there is now a link to the schema page on the systempreference
* correctly indenting with tab the debarrcomment field
* setdebar.pl is called without status parameter, thus it is not working anymore. It's fixed & some dead code has been removed. To test : debar someone, then go to patron detail page and click "lift debarment"
* the test function had not been updated. The fix define a debarment date of 2099-12-31 (no limit)
Some code coming from BibLibre has been lost in the process of inclusion in
3.4. The result is that fine in days does not work at all (you can setup rules,
but it does nothing)
Step to reproduce:
- Koha > Admin > circ rules > set 1 day fine every day of overdue for default
rule
- Issue a book return date last week
- check-in the book => no debarment is set
The following patch will fix all of those problems by :
* updating borrowers.debarred to a date field (instead of tinyint). It contains
the limit of the debarment
* changing API of DebarMember and UpdateBorrowerDebarred to pass a date
* display debarrdate where applicable. Note that a debarrdate of 31/12/9999 is
considered as unlimited and not displayed
* added a debarrcomment, usefull to explain why a patron is debarred (this is
independant from debarrdate changes and can be used when placing an unlimited
debarment too)
[2011-05-12] F. Demians. It works as described. And I can confirm this
functionality is impatiently awaited by French libraries since one year. Thanks
BibLibre for the good work and for contributing this code.
Bug 6328 Followup--update DB structure
Thanks Katrin.
Bug 6328: make comment a textbox / fix debar by notice trigger
Debarring by notice triggers was broken, because the new function
expects a date as second parameter.
The comment field in patron account details was a very long text field.
Patch changes it to be a textbox instead.
Bug 6328: Lift debarment leaves patron account
'Lift debarment' redirects to an empty circulation page.
BZ6328 follow-up 3
Fixes comment 23 from Fernando L. Canizo : when the patron was debarred and debar removed
he still could not check-out.
The changes in the IsMemberBlocked (that were on biblibre/master) were lost somewhere
The sub was still checking for old_issues instead of calling CheckBorrowerDebarred
to get a debardate if applicable
Note : this bug was appearing only is you had issuing rules defined for itemtype/categorycode/branch.
Seemed to work if you had only default rules. That's probably why it hadn't been spotted before
BZ6328 follow-up 4
Comments fron Zeno Tajoli: The patch is OK and I sign-off it. Two little changes done on
installer/data/mysql/kohastructure.sql and installer/data/mysql/updatedatabase.pl
Signed-off-by: koha <koha@kohabase.localdomain>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as advertised, doesn't affect display for non-organisational patrons.
Note: Display change in OPAC only affects the summary tab.
It would be a little bit more consistent to make the name show the
same on all tabs in OPAC patron account.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
I repeated Katrin's signoff here (with permission). The patch only changed for some minor rebasing and cosmetic QA requests. Passed QA now.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Adds 'email' to valid search parameters in members/member.pl
To test:
1. give a patron a unique email address in your test database
2. search on the full email; should work
3. search on the part of the email before the domain; should work
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
This patch adds a check for the value of the ExtendedPatronAttributes
preference to the scripts and corresponding logic to the templates
controlling the sidebar menu.
The patch also corrects a duplication of attributes code in moremember.pl
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
1) Added extended patron attributes in configuration, turned ExtendedPatronAttributes on
2) Altered patron details, added values for patron attributes
> Verified patron attributes show show correctly
3) Turned off ExtendedPatronAttributes
> Verified patron attributes were hidden everywhere
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Removed SearchMembers() and replaced with more generic Search()
Amended Search() to try cardnumber first
Replaced SearchMembers() calls with Search()
Replaced SELECT with Search() where appropriate
C4::SQLHelper:
- added support for '' key for search filter.
- when passing an array to filter, join with OR (rather than AND)
- added support for key => [val1, val2] in filter
- did not document - there was no input documentation to start with,
and SQLHelper should be replaced with something better anyway
Signed-off-by: Liz Rea <lrea@nekls.org>
(again - testing merge issue)
The functionality of the patch seems to be maintained with Biblibre's changes.
I tested the following:
Extended attribute searching: works
3 part name searching: works
2 part name searching: works
1 part name searching: works
From:
mainpage.pl
members-home.pl
Patron search limited by branch: Works
Patron search limited by patron category: works
Ordering by cardnumber instead of surname: works
The "Check Out" field in the masthead.
Circ Autocomplete is not reliably functional at this time, but the problem appears to predate this patch.
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Explicitly specifies which fields to return in C4::Overdues::checkoverdues
SQL: all of biblio, items, and issues, and everything in biblioitems
EXCEPT marc, marcxml and timestamp.
Bug 6801: member details page taking long time to load when many checkouts present
This patch removes the call to GetMemberDetails in build_issue_data; this heavy-weight
subroutine was being run for every single item a patron (or their relatives) have checked out.
Instead, the borrowers first name, surname and cardnumber are added to the GetPendingIssues query.
I believe this is reasonable since GetPendingIssues can now return issues for multiple borrowers.
Also corrects the $borrowernumber used for GetIssuesCharges and CanItemBeRenewed; was using the borrower whose
page we were on, NOT the borrower of that specific item (which would be different in the Relatives Checkouts tab).
Template calls to [% scope.borrowername %] are now broken up into [% scope.firstname %] [% scope.surname %].
Signed-off-by: Liz Rea <lrea@nekls.org>
On my test data, a patron with 180 checkouts (without this patch) would take more than a minute to bring back the circulation.pl and moremember.pl pages.
With this patch, the time is reduced to 5 or so seconds.
Big ups to Ian for tenaciously hunting this one down.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Show patron attributes in the sidebar on circ and patron pages
[Edit from Owen Leonard: This patch takes changes originally in
Bug 5436 and isolates just the parts relating to display of
patron attributes. Because function for pulling patron attributes
was merged with the function for displaying address information
in SetMemberInfosInTemplate() (also found in Bug 5749), I moved
the call to GetBorrowerAttributes into the individual scripts.
That keeps the functionality relating specifically to patron
attributes separate from the proposed changes to displaying
addresses.
Because I think it's important to keep the display consistent,
I added display of patron attributes to all pages which include
the patron information sidebar.]
Rebased for compatability with bug 3489 and database documentation by
Ian Walls, 9-21-11
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Changes to notices tab to make it a full replacement for messages tab.
Removes messages tab from patron account.
- repairs view of patron address in left column (category description, branch)
- shows some explanation, when there are no messages for a borrower
- makes the notice an expandable field, a click on the subject will
expand the field to show the message content
- makes message status and message transport type translatable,
by moving the possible values into the template
- removes the messaging tab from various menus
- removes the files that were associated with the messaging tab
- preserves the line breaks in message content to improve readability
Also fixes Bug 6593 - Some information missing from the "Notices" tab.
Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Adds "checked out from" column to the right of "checked out on" on both
circ/circulation.pl and members/moremembers.pl. Columns are sortable with tablesort
(though only on circ/circulation.pl if syspref enabled).
The branch name is sourced from issues.branchcode.
EDIT BY Owen Leonard: Adjusting table columns which are sorted by default
to accommodate the new column.
Things look good! Thanks!
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Liz Rea <lrea@nekls.org>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Allow partial payment of outstanding fines
against either individual fine entries or as a lump payment
Sponsered by East Brunswick Public Library, East Brunswick, NJ, USA
NB: Adds a version of the include circ-menu.inc as circ-menu.tt
this has the same functionality as the old include but does not
require all the borrowers attributes to be passed as global
scoped variables
Signed-off-by: Liz Rea <lrea@nekls.org>
Bug 3498 - Documentation update to explain what every button does.
Help file updated to the following:
Pay and Writeoff Fines
Each line item can be paid in full, partially paid, or written off.
Pay a fine in full
Click "Pay" next to the fine you want to pay in full
The full amount of the fine will be populated for you in the "Collect From Patron" box
Click "Confirm"
The fine will be removed from outstanding fines, and displayed as fully paid.
Pay a partial fine
Click "Pay" next to the fine you want to partially pay
Enter the amount you are collecting from the patron in the "Collect From Patron" box
Click "Confirm"
The fine will be updated to show the original Amount, and the current Amount Outstanding
Writeoff a single fine
Click "Writeoff" next to the fine you wish to writeoff.
The fine will be removed from outstanding fines, and displayed as fully paid.
Pay an amount towards all fines
Click the "Pay Amount" button
Enter the amount you are collecting from the patron in "Collect from Patron." The sum of all fines is shown in "Total Amount Outstanding"
Click "Confirm"
The fine totals will be updated with the payment applied to oldest fines first.
Writeoff All fines
Click the "Writeoff All" button
All fines will be removed from outstanding fines, and displayed as written off.
Pay Selected fines
Check the selection boxes next to the fines you wish to pay, click "Pay Selected"
Enter an amount to pay towards the fines.
Click "Confirm"
The fine totals will be updated with the payment applied to the oldest selected fines first.
Bug 3498 - adding parens to TT IF Statements for style
pay.tt
Bug 3498 - Add parens to TT IF statements for style
paycollect.tt
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
When adding a patron who is a child, the default library is not set when defining a guarantor, this patch corrects the problem.
More, for children with no guarantors, the default branch is the editing branch.
BibLibre MT5795
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Change to parameter list in GetPendingIssues made it
callable by an empty list resulting in invalid sql being
sent to server. As this was occuring on most issues error log
was filling up. Put safeguard in the routine
Also don't bother calling when you have no need
Some of the processing was needlessly obscure
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Now a blank cardnumber will get stored as a null in the database, which
is a value that allows duplicates. As such, if cardnumbers aren't
mandatory, then you can actually save a user with it being blank.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
If a guarantor search is not being performed, the creation of any Child category_type patron will
not default to the currently logged in branch, but rather the first branch alphabetically.
Adding a test for the existence of any guarantor branch data before assigning it clears up this problem
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- Moving columns around to match display of patron's own checkouts
- Correcting terminology (issues, borrowers)
- Hiding columns added in previous patch which do not display in
the standard checkout list: materials, stock number, collection.
If these are to be added they should be added to all displays.
[edit] Adding display of relative's cardnumber alongside their name
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
messaging and notices patron tabs were not passing borrower
info in a manner consistent with other tabs
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Adding state variable to various circ and member pages so that
sidebar display of patron details includes state.
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Duplicate of '[PATCH] MT3747: Shows member relatives in issueslists' : Subject was wrong
MT3747, Follow-up: Adds siblings issues
MT3747, Follow-up: Shows member relatives in issues lists
- Now displays patron's and relatives' issues apart
MT3747, Follow-up: Shows member relatives in issues lists
- Removes renewal in circulation.pl
- Adds links to moremember.pl
MT3747, Follow-up: Shows member relatives in issues lists
- Remove unuseful warn
MT3747, Follow-up: Shows member relatives in issues lists
- Removes renewal in moremember.pl
MT3747, Follow-up: Shows member relatives in issues lists
- Adds sorting for circulation.pl
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Previously GetAllIssues was called before authenticating. Given how expensive
GetAllIssues is, this is problematic and could be used for used for DOSing the
server. There should be no functional change from this patch.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch enables the ACCTDETAIL notices (and any branch-specific derivatives) to use
<<branches.*>> and <<borrowers.*>> tokens
This patch also attempts to send the email from the branch email first, falling back to
KohaAdminEmailAddress if no branch email exists.
To test:
1. Enable AutoEmailOpacUser system preference
2. Add <<branches.*>> tokens to the ACCTDETAIL notice
3. Create a new patron, including:
a. test email address in the field matching your AutoEmailPrimaryAddress syspref value
b. username and password (required to send a notice)
c. any other required fields to save the record
4. Check you inbox. Notice should send instantly (no need to run process_message_queue.pl)
Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
No searching borrowers by categorycode or branchcode will only bring up
exact matches. Before searches for Staff (S) would also bring up
Students and Schools (SC, ST). Same for branchcodes.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The fix for 3319 overwrote the @branchloop variable with output from GetBranchesLoop,
which forces a selected branch. Removing the extra call, and just measuring the size of
@branchloop as it was build, plus some dereferencing, fixes the issue.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- Removing option to show 50 items/show all from script and template
- Adding parser to exclude articles in title sort (en only, see Bug 5766)
- Setting default sort to 'date due descending' as it was previously
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This fix the members-home script to work with new letter search management, and delete not anymore used code/template
(written by Nahuel Angelinetti)
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
- Hiding patron add toolbar when branches or categories are undefined
- Blocking patron entry form if branches or categories are undefined
- Removing nonfunctional template logic for displaying missing category
error message.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Incorrect checking of guarantorid was causing moremember.pl to
try and construct addresses using data from non-existent guarantors
ensure that test is consistently checking that value is defined and not
'', '0' or 0 [ i.e. what perl does for you anyway!!]
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Reimplements Paul Poulain's original OPAC Privacy patch, with some minor improvements and changes to wording
If the library enables the OPACPrivacy system preference along with the opacreadinghistory preference, and sets
an AnonymousPatron (must be a valid patron number in the database), the user will see a new tab upon login to
the OPAC, My Privacy. From there, the user can:
- Set their OPAC Privacy to one of three values
0 - Forever. This keeps their reading history unless they explicitly delete it; the bulk anonymiser won't touch it
1 - Default. Keep reading history until either they delete it or the library does
2 - Never. Instantly anonymises reading history upon item return
- Instantly delete their reading history
There is a warning and a popup to confirm. I've removed Paul's extra confirm checkbox, which seemed redundant
A note of which preference the patron has selected is added to the Patorn Details page in the staff client. This is read-only.
This patch also consolidates Privacy system preferences into the Privacy section of the OPAC tab.
Thank you to BibLibre for the original implmentation of this patch, and Los Gatos Public Library for funding and
testing the reimplementation.
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
I couldn't figure out how (or whether) GetBranchesLoop could be
convinced to return a list of branches without selecting one, so
I swapped GetBranchesLoop with GetBranches. This will preselect
a branch only if a branch has been submitted as part of a query.
This does NOT preselect the correct branch when IndependantBranches
is turned on.
I also added a template variable which is true if a query has
been submitted with a branch or a category so that the extra
form fields can be displayed, reminding the user that they
added limiters to their query.
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This allows the receipt template to be more readily customized
to include the library's address, phone number, email address, etc.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
There is no on-off global parameter for it since if a library does not want to
use it, then the library will not use the "slip" category in news - this is
similar to the OPAC news and Staff news categories in the news feature.
We have been using this for months in Koha 3.0 and the librarians like it and
so does PR as it gives a way to advertise events and news to patrons with every
checkout.
The files modified are:
koha-news.tmpl
moremember-receipt.tmpl
moremember.pl
Darrell Ulm
Signed-off-by: Nicole Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- Making duplicate patron warning dialog simpler but more explicit
- Pointing duplicate patron preview window to new brief version
of moremember.pl to display more patron details than the previous
version.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
- Styling error message with "dialog alert" class
- Adding sidebar patron details to match other patron pages
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This patch adds a small enhancement to allow printing of Fees / Fines
receipts from the Fines page.
Patch adds print links to the Fines page next to Fines or Receipts
transactions.
Clicking on the link will pop a new window and will print that with
total outstanding as on date.
You can edit koha-tmpl/intranet-tmpl/prog/en/css/printreceiptinvoice.css
to better control printing this type of material.
18-Oct-2010 Changed template and script names to match. Corrected
invalid markup in the templates.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
working through the master branch to eliminate all
podchecker warnings/errors
Actual improvement to the quality of the POD will
come later (hopefully with assistance of others)
Signed-off-by: Andrew Elwell <Andrew.Elwell@gmail.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Rebased to current HEAD, small error fixed.
Should also apply to 3.2
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This add a verification, to allow automatic modification of expiry date, only if we are on a page that allow modification of expiry date.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Staff users now only need circulation privileges to print
checkout receipts and slips; the 'borrowers' permission, which
allows editing patron records, is no longer required.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Per the following koha-devel thread, the use of
staff user subpermissions, AKA granular permissions, is
now the default behavior in Koha. This patch removes
the GranularPermissions system preference.
[1] http://lists.koha-community.org/pipermail/koha-devel/2010-February/033670.html
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
When editing patron attributes or messaging preferences on the
patron editor, Koha would crash with the following error:
Software error:
Can't use an undefined value as an ARRAY reference at
/home/koha/kohaclone/C4/SQLHelper.pm line 186.
This would occur only when editing the specific attribute
or message preferences section, not when editing the entire
patron record.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Removed instances of 'use YAML' that were either completely
unnecessary or which were used only in debug code. Also
removed a needless import of Data::Dumper.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Obviously, Koha global pagination function could be improved. This patch
do something which belongs to this function. A CPAN module like
Data::Page could help or be an inspiration... 3.4?
There is also room for improvement in they way resultset are
constructed. The whole set is retrieved and just a subset is displayed.
It impacts performances for libraries with a great number of patrons.
The right solution would be:
- to find the resultset size with SELECT COUNT(*)
- to retrieved the exact subset with LIMIT and OFFSET SQL arguments
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
By default, the patron search was pulling results in *Descending* order,
then reordering the results on the page using javascript in *Ascending* order.
This was causing screwy results where the entire list of results of multiple
pages was not in complete alphabetical order.
Fixed by changing the SQL to pull in Ascending order.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Also remove the reverse column if no contents to be displayed
( otherwise looks like a markup error )
Rationalize the main loop now toggle not required
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Patron search has only been searching fields for names
that either match or begin with the given search terms.
This is too strict a search.
For example, take the name "Billie Jo Robinson", "Billie Jo"
being the firstname, and "Robinson" being the last name. If one
were to search for "Billie Jo", this patron would not appear in
the search results.
To remedy this, the search
type has been changed from 'begins_with' to 'contain'.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Garry Collum's patch correctly identified the core flaw in operation
looking closer revealed some other flaws (2 "blank" options, some vars
and documentation belonging to a superceded version, etc.
Changed GetCities to return a structure rather than the messy two returns
Let the template do the concatenation and removed the CGI::Popup
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Members modification when not in Library information mode would wipe out dateexpiry information
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Following idea in patch submitted by Kyle Hall on 1 April 2010,
use issues.branchcode instead of issues.issuingbranch to set
displayed issuing library. Also tweaked wording.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch fix some perl ugly code to be more readable and lesser complex.
And it allow in intranet to order by issues.timestamp.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
to see if it is present when the script is called. If it is, the patron
information is retrieved and borrowernumber set from that. Otherwise,
the patron information is retrieved by borrowernumber.
The changes in this patch do not require porting to any other Koha code.
Sponsored by www.digital-loom.com
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch fix searching by name that "begins" by one letter, using now the quicksearch arg.
And improve a bit the template, now it won't list all the alphabet...
Adding Search Function on Members which is a search on all the fields in Members
Adding search.tmpl which adds a filter possiblity on Member page
Adding the management and the use of Search function in C4::Members
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>
Ability in system administration to define additional fee and fine options that appear in dropdown box
on the create manual invoice tab in patron fines.
To use create authorised values with the category MANUAL_INV,
Authorized Value is the description, and Description is the default fee, if any.
This work sponsered by East Brunswick Public Library, East Brunswick, NJ, USA
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
- added altcontactcountry and B_address2 to tables borrowers and deletedborrowers so that all addresses offer the same fields
- changed B_country and country to work with syspref BorrowerMandatoryField
- changed display of Alternate Address on borrower detail page, added labels, lines and edit button to match the other sections
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
and will print a SHORT SLIP of today's checkouts only.
I also enhanced the normal slip to print the overdues separately as well as today's
checkouts. There is another button on the print CIRC menu. Easily another quick key
can be added, one for the regular slip and one for the short slip, i.e. today's
only.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The patron record Details tab list of checkouts does not show lost, long overdue, claims returned, or damaged status, only that an item is overdue. Added a check for lost and damaged statuses and a display of any matching statuses to the patron Details tab.
(revised version to drop unneeded lines from moremember.tmpl file)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The WHERE in this statement selected a bunch of different accounttypes, mostly legacy items.
But for sub writeoff to be called in the first place, it must have been an account with a
positive amountoustanding already, and we have the borrowernumber and accountnumber, so this
WHERE was un-needed, and prevented writeoff of locally-defined manual invoice types.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Removed toggle variable from readingrec.pl and readingrec.tmpl. Used __odd__ variable instead.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch fix the checks deleting a borrower in independantbranches mode.
Now, we check the user and the librarian are from the same branch, else we deny the deletion(and disable the link to delete).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Removed last 3 EXPR statements. Removed toggle code.
Fixed jquery for warning on image deletion.
Fixed permission check for image upload to be granular.
Lots of formatting/whitespace cleanup.
Removed useless form and unused template vars.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Before this patch, we used to test for flags == 1, which was wrong when patron had all privileges.
This patch just adds a %2 to check that patron has superlibrarian privilege, and maybe something else we don't care.
I think I fixed it everywhere except in acquisition, that will be addressed by BibLibre new acquisition module.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The display and editing of messaging preferences
for a patron have been moved as follows:
* the prefs for a patron are now displayed on the
patron details tab, not the messaging tab.
* the prefs are now modified by editing the patron
record, not on the messaging tab.
The messaging tab now contains only the list of
messages that have been or will be sent to the patron.
When creating a new patron record, changing the patron
category via the category dropdown now also changes
the default messaging preferences for that patron. If
you start editing a new patron, change one of the messaging
preferences, then change the patron category, the form will
ask you if you want to keep the preferences or get
the defaults belonging to the new patron category.
Note that when you edit an existing patron record, changing
the patron category will *not* cause the messaging preferences
to be automatically changed.
Programmer's note: this commit introduces a new web service,
members/default_messagingprefs.pl, that uses Jesse Weaver's
C4::Service module.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
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>
$intflags was never used or returned if hashref instead of userid was passed.
Also cleaned up needless passing of $dbh.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If a patron with a child patron category is not linked
to a guarantor (or a valid one), it was not possible to edit
the child patron's record. When attempt, no changes were saved
and the following error is recorded in the Apache error log:
memberentry.pl: DBD::mysql::st execute failed: Cannot add or
update a child row: a foreign key constraint
fails (`gmc_koha/borrowers`, CONSTRAINT `borrowers_ibfk_2`
FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)) ...
This patch fixes this bug, allowing a child patron record to be
edited even if it has no guarantor.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
The messaging tab already provided a way to configure these
notifications, so this isn't needed.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
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>
Upon further testing, original patch for 2856 had effect
of displaying form with blank values when modifying
an existing patron record.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch activate the check of unique member, it was checked but not shown, and the member was added even if a duplicate was
detected.
It improve the duplicate detection, to check the birthdate only if it was specified in the form.
And fix an url of "Yes" link(if the borrower added IS the duplicate detected).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch change the method used to generate a new login for a user when his informations are modified(memberentry.pl).
Before the login are generated with the first letter of lastname and the 9 first letter of the surname, and do not verify the
login already exist).
Now the login will be lastname.surnameX, where X is an incremented digit if the login already exists.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If the user set an empty date as the expiration date during a patron modification, we recalculate the expiration date with sysprefs and the registration date.
Before, when you set an empty date, 0000-00-00 is put in the database (too bad).
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Originally by Jesse Weaver <jesse.weaver@liblime.com>
This patch creates a new system preference, AllowRenewalLimitOverride,
that, if YES, allows the renewal limit to be manually overridden. It
updates C4::Circulation and reserve/renewscript.pl to obey this.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Add barcode and issues.renewals to members/readingrec.pl
Had to change the query in C4/Members, items.renewals was squashing
issues.renewals.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Hide the display of the patron attributes only if
no types are defined; the patron attributes section
(and more importantly, the edit link), should still
be displayed if an attribute type is defined, even
if the patron has no attributes currently set.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Using the barcode as an index for assigning values to an array creates problems if
the numeric value of the barcode is sufficiently large to consume enough memory to
starve other processes. This patch changes return_failed from an indexed array into
an associative one, using the barcode as the key.
Signed-off-by: Ryan Higgins <rch@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
In databases where biblionumber is not necessarily
the same as biblioitemnumber, the title of
certain hold requests displayed by moremember.pl
could be drawn from the wrong record.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch fixes several improperly named variables and includes the home library variable on the pages that were missing it. The category
description was added to the GetMemberDetails function since a couple of the pages using that function required the variable.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
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>
Title-level and item-level requests are now more
clearly distinguished in the patron details page
and the patron checkout page.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch changes the behavior so that you can enter in
a barcode instead of an itemnumber for the manual credit
and invoice screens. Also, the borrower's account page now
displays a link back to the item record if an item was
linked to the charge
This patch corrects this problem, by, when a patron record is linked as a guarantor, showing that and not allowing the name to be edited. It still allows manual entry of a guarantor. It also untabifies a few places in the affected files and fixes some inconsistent names.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch adds barcodes to the Checkouts and Overdues section of the receipt. It also removes the Overdues section if it is empty.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
I added another tab to the "patron" area of the staff interface to let staff
edit patron messaging preferences.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
When edting only a part of the patron record (e.g.,
the library use section or the alternate address), the
zipcode and city were cleared due to an error in
form processing. Now the city and zipcode are set
only of those fields are actually in the submitted form.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The template for the guarantor search implies that
the zipcode is one of the values to be copied from
guarantor to guarantee. Fixed so that the transfer
can actually take place.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Three scripts were incorrect setting the HTTP type
header to 'utf-8' instead of something appropriate
like 'text/html' - Firefox evidentally can ignore that
mistake, but IE7 does not.
Fixed by replacing an invalid print of the HTTP header
and template output with a call to
C4::Output::output_html_with_http_headers.
Also corrected POD in C4::Auth and InstallAuth to
reflect correct use of output_html_with_http_headers.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Adding a new routine GetBorrowercategoryList in C4/Member
Displaying categoryname when listing categories in memberentrygen.pl
using categorytype returned with GetMember wherever it is possible.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
If ExtendedPatronAttributes is ON, patron attributes
can be displayed and edited by staff members.
The patron attributes are displayed and edited
in a new section (step 4) of the patron details page. Each
attribute is identified by its type (including type code
and type description) and value (included value description
if the attribute is controlled by an authorised value category).
Note: if, for a repeatable attribute type, the staff member
enters multiple copies of that type with the same value, duplicates
are removed when the patron record is saved. Also, if the type
is repeatable, a JavaScript link allows the staff member to
create new attributes of that type.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Adding New Systempreference AddPatronLists
This systempreference allow administrator to choose if patrons are created on categorycode lists or category_type ones.
Overloading GetBorrowerCategory so that if no parameter provided, it returns the list of category records
Changing memberentry.pl in order to use the categorycode when provided.
Bug Fixing Circulation.pl so that doesnot come up with Error 500
with no category selected for GetBorrowerCategory
Signed-off-by: Joshua Ferraro <jmf@liblime.com>