Added a test to the MARC framework checks to
verify that all authority types used in a framework
are defined.
Documentation changes: possible new screenshots
and text to describe the new test.
NOTE: This patch adds strings to the checkmarc template, and thus
violates the string freeze for 3.0. I'm submitting anyway
because 2254 is a blocker, but if no exception is made,
it is safe to not apply this patch for 3.0.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
If item is in transit, show that status in the OPAC
user's hold list rather than "waiting to be pulled".
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The in transit status now displays as such in the
OPAC search results. In the non-XSLT version, the status
is checked only for bibs having 20 or fewer items to avoid
extra hits on the database during result set presentation.
In the XSLT version, all items are checked.
Note that because an item's transfer status is not
stored in the MARC record, the transfer status
has no effect when limiting a search by item
availability. For a future version, the transit status
should be added to the Zebra index.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The following statuses are now displayed correctly in the
bib details page in the OPAC:
* In transit
* Damaged
* Not for loan
Prior to this patch, items of these statuses displayed
as available.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This prevents the following log entries:
error EXPR:at pos 42: non-initialized variable OPACViewOthersSuggestions
EXPR must NOT be used unless the author can guarantee ALL names referenced
will be defined at the BEGINNING of TMPL execution. That suggests that in
.inc files, only variables populated by get_template... are valid, since
the author cannot guarantee what other templates might include the file.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Standardized table layout with colspan=2 for Title header,
the first being the icon or jacket image. Discovered a bug
when I fixed the "toggle/highlight" code to work (using loop
context var __odd__), namely that the highlight styling overrides
the red overdue styling. Commented out that conditional with a
FIXME.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
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>
opac-mymessages.pl and opac-mymessages.tmpl generate an RSS feed of a patron's messages from the message_queue.
Some more methods in C4::Letters to let us pluck out the right entries in the queue.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch allows patrons to update their messaging preferences. This
includes methods in C4::Members to manage patron messaging preferences.
added cgi script to allow patron to edit their messaging preferences
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
NOTE: This patch introduces code which generates an anonymous session when a patron first browses to OPAC.
This anonymous session contains a minimal amount of information including the results of a query to discover
all public lists/shevles. When the user logs in, the anonymous session is cleared and a new session created
for that user.
kohabug 1875 - fix error when editing a patron record
C4::Auth::checkauth was not distinguishing between a
'userid' input from an OPAC or staff login form and
a 'userid' input from (e.g.,) the patron editor.
Consequently, adding or editing a patron record would
result in Koha trying to log in as the new patron.
To resolve this, added a hidden input to all login
forms, 'koha_login_context', to explicitly signal
when a login is occurring. The value of this input
can be 'opac', 'intranet', or 'sco' - the value is
not used at present, but may be of use later.
C4::Auth - added debug flag to two warns
kohabug 1875 - create anonymous sessions only for OPAC
No need to create an anonymous session for the intranet.
set yuipath correct for login pages
When preparing the template parameters for a login form,
C4::Auth was overriding the value of yuipath set
by C4::Output::gettemplate(), thus causing 404 errors
if the 'yuipath' syspref was set to 'local'.
kohabug 1875 - avoid warns viewing lists anonymously
During an anonymous OPAC session, the $loggedinuser variable
is not set. As the undefined value causes warns in
C4::VirtualShelves::Page::shelfpage, for the purpose of the
shelfpage call the loggedinuser is set to -1, which should
not correspond to any real borrower number.
This is admittedly a hack to avoid digging through all
of C4::VirtualShelves to deal with lists viewed anonymously.
kohabug 1875 Refactoring of &ModShelf to avoid overwriting list owner needlessly
kohabug 1875 Avoid warning if can't find owner of shelf
Since virtualshelves.owner is not a true FK of borrowersnumber.number,
set ownername to '' if can't find the patron
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Correctly set indicators when cloning a field
in the MARC editor. Prior this fix, a cloned
field would not be saved. Bug introduced in
patch for bug 2207.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Patch to remove issuingrules.pl in favor of
using smart-rules.pl to manage loan and fine
rules. Several reasons for this:
* issuingrules.pl's matrix could grow rather large
if the library has a large number of item types
and patron categories
* successfully entering rules via issuingrules.pl
requires placing commas within input fields
* a sparse circulation policy matrix takes the
same amount of screen space as one that uses
rules for a lot of specific patron category/item type
combinations.
* having two administrative interfaces to the same
policy settings could be confusing.
* UI design of smart-rules.pl better lends itself
to adding more policy setting attributes to the
rules matrix.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Removed the separate admin/finesrules.pl script
to set the fines policy matrix: since admin/finesrules.pl
and admin/issuingrules.pl both touch issuingrules.pl, creating
a specific fine rule could silently override a default issuing
rule and prevent items from being checked out.
Circulation policy matrix settings for fines are now
handled in admin/smart-rules.pl
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
* Added ability to specify total loans allowed at a library
for the default patron category. If set, the default
limit is applied if no rule for the specific library
and patron category is set.
* Added ability to specify default total loans allowed
for the default library; this is applied if no rule
for the specify library is set.
* Form now indicates if the number of current checkouts
allowed is unlimited.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The alternate issuing rules editor can now allow
defining the maximum number of loans that a borrower
of a given category can take out per branch, regardless
of item type.
The form for entering this limit now appears below
the form for setting loan rules per patron category
and item type. The form only appears if a specific
branch is chosen, not if the default branch is used.
Also, some terminology changes:
* "Amount Loanable" => "Current Checkouts Allowed"
* "Amount" => "Fine Amount"
* "Grace Period" => "Fine Grace Period"
* "Charging Interval" => "Fine Charging Interval"
* "Loan time" => "Loan Period"
Documentation change: new screenshots for the alternate
loan rules form.
squashme terminology
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Extended help on the alternate circulation rules
form to list the order of issuingrules lookup as
follows:
same library, same patron type, same item type</li>
same library, same patron type, default item type</li>
same library, default patron type, same item type</li>
same library, default patron type, default item type</li>
default library, same patron type, same item type</li>
default library, same patron type, default item type</li>
default library, default patron type, same item type</li>
default library, default patron type, default item type</li>
This includes modifying two routines in C4::Circulation to
follow this order: GetLoanLength() and GetIssuingRule().
The reason for this change is to have Koha exhaust all issuingrules
possibilities for a branch before checking the rules for
the default branch - this is consistent with what an admin
might expect from looking at the issuingrules forms, which display
settings a branch at a time, and is more consistent with how
circulation rules should work for indepdendent branches.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Issuing rules are now explicitly sorted by patron category,
then item type. The default patron category sorts last; within
a list of item types for a given patron category, the default
item type sorts last. This follows the order in which
the issuing rules are applied.
Since the primary sort is patron category, also moved that
to be the first column in the issuing rules table.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Improvements to smart-rules.pl to allow it to
replace issuingrules.pl.
* standardized "borrower type" to "patron category"
* made default item type and patron category ('Any')
translatable
* regularized construction of parameters for rule
deletion operatrion
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Added an ID attribute so that the JavaScript
for the 'delete guarantor' button could
clear the guarantorid field.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch modifies 13 HTML templates and includes that have lines in them longer than 998 characters. Lines this long are known to break git.
I believe that none of these change behaviour at all, but I'm concerned about one of them. It adds whitespace (carraige returns) inside a <title> tag. I'm not certain that all browsers will deal with this OK.
No documentation changes necessary here.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
For documentation, please indicate that as part of profiling,
staff can refer to the AdvancedSearchTypes system preference to
choose where to draw the advanced search 'Types' from. Currently
this is implemented as a choice, between itemtypes and ccodes,
but it's been designed to work with any authorised value so long
as an index exists for searching by that authorised value.
By default, and if this syspref doesn't exist, it will pull from
itemtypes as before.