Fix malformed OPAC search syntax that caused this bug:
When using the default stylesheet for MARC21 XSLT OPAC details display, the
search links for name headings (from 100, 700, 710, 710, 111, and 711) that are
linked to authority records don't work. When the user clicks on such a link,
they are directed to the advanced search form instead of the search results.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Internet Explorer seems to have a problem with JS array and object constructors that have a comma at the end. There may be other JavaScript files that have this problem.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Corrects the Tidy errors:
line 428 column 19 - Error: "tr" not finished but containing element ended
line 428 column 19 - Error: end tag for "tr" omitted, but OMITTAG NO was specified
line 426 column 25 - Info: start tag was here
line 452 column 31 - Error: end tag for "strong" omitted, but OMITTAG NO was specified
line 452 column 12 - Info: start tag was here
line 518 column 17 - Error: document type does not allow element "ul" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag
line 525 column 17 - Error: document type does not allow element "ul" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Added the zipcode to display along with the patron address when you are viewing a Patron from the intranet.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Change the link to moredetail.pl from item= to itemnumber=
I saw the link on boraccount.pl as itemnumber= and thought it should be that way here too.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This adds the link to item details to circulation.pl
and changes the link on member details to include the itemnumber and #item... in the link.
Forgot the returns.pl. Will do that in the next patch.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Had to add itemnumber to the hash of returned item information.
Links to moredetail.pl with itemnumber and #item in the url.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
If itemnumber is part of the url for catalogue/moredetail.pl
put it to use.
This happens in members/boraccount.pl if a fine is attached to a
barcode.
This patch makes moredetail.pl show only the item specified by
itemnumber.
Implements some changes to the patch suggested on
patches@koha.org
give visual cue on UI and a link out.
More friendly pruning of the other items.
Thanks to Galen Charlton and Joe Atzberger
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Following suggestion by Vincent Danjean for Debian
packaging, 0755 -> 0644 for non-executable
files.
Also removed shebang from a few modules in C4.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This adds a Renew All form to the OPAC, and updates opac-renew.pl to take multiple item= parameters.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Also added ESCAPE="HTML" to column/row headers because users may define
collections that include ampersands, like:
B&T Rental--Fiction
The Tidy error associated would be:
line 574 column 29 - Error: general entity "T" not defined and no default entity
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch changes the template slighly so that these two system preferences do not conflict.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch updates the queries for the shelf browser in opac-detail.pl for a
slight performance gain. It also adds a param for dateformat to C4::Auth to
fix a warning.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Also some cleanup of opac-showmarc script including removing bogus
dependencies (DBI, CGI methods). Should consider using C4::XSLT if
applicable.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
* added author, ccode, location, and item enumchron
* sorted by collection, locatoin, call number, author, title
As part of this patch, commented out the JavaScript tablesorter,
which could cause the browerer to lock up if the picklist
contains more than a couple hundred items to pull.
Some sort of pagination is clearly required, but since
it is necessary for customers to be able to print out
the picklist, there still needs to be an option to
see the complete list for a branch.
This patch includes the final component of the fix
for bug 2331.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This changes some css and markup to make the return box at the top not show when one is on the checkin screen. It also moves the markup for the autocompleting search box to its own file.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Prior to this fix, changing the priority of any hold requests
in the queue of requests for a bib would convert
all item-level requests to title-level requests.
As part of this fix, improved display of the holds queue
so that item-level and bib-level requests can be more
clearly distinguished.
Documentation note: new screenshot of list of requests for
a bib in the staff interface.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Tag Cloud should link to user-generated tags, in a cloud display.
What used to be called "Tag Cloud" (ISBD subject links for UNIMARC libraries)
should be called a "Subject ...". AFAICT it doesn't currently use a "cloudy"
display, so some other term might be more appropriate.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
fixing a translation problem with borrowers_stats.ptmpl:
xgettext.pl: Warning: borrowers_stats.tmpl: line 28: SGML "closed start tag" notation: <p<!-- TMPL_IF NAME="debug"--> class="debug"<
This patch adds the callnum_split and text_justify options to the templates,
fixes bad javascript to switch between 'formatstring' and fixed-field means of specifying labels content,
fixes csv output when fixed-fields specifiers are used, and adds some help text for the formatstring case.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
When an imported patron matches an existing one, keep data in the original record unless our import file
includes that column. Also, check for branch & categorycodes, and produce error if invalid. Finally,
auto-calculate expiry date if not given.
Signed-off-by: Joshua Ferraro <jmf@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 removes unlinked fields from the 'Choose Order Of Text Fields to Print'
option on label-edit-layout.pl
It also adds code to make the 'Itemtype' field respect the item-level_itypes syspref.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
When search for an authority record from the bib
record editor, a new link is added to each
authority result to edit the authority record. This
allows a cataloger to do the following:
1. Start editing a bib record
2. Click on the '...' to select an authorized heading
for an authority-controlled field.
3. Look at the results in the pop-up window and
see that an authority record needs correction.
4. Click on the 'edit authority' link. This allows
the authority to be revised. Note that this
takes place in the popup window, not the originally
bib editing window.
5. Save the authority record, then close the popup
window and redo the heading search.
For various reasons, this not a perfect workflow; this
patch is designed to satisfy an immediate requirement
but needs to be reworked in 3.2.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch enforces SELECT-only SQL in the reports module.
It introduces code to check SQL in two places. The first is
when a save is attempted on a user constructed SQL statement.
If a non-SELECT SQL statement is entered, the user will be
presented with an error message and a button giving the
option of editing the SQL. The second is when any SQL is
executed. If execution of a non-SELECT SQL statement is
attempted, the user is presented with an error message and
instructed to delete that report as the SQL is invalid.
The second check is intended as a safety net as no non-SELECT
SQL should ever be saved.
It may be well to document the proper usage of the direct SQL
entry type report.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch corrects the alignment of the column headers in the overdues list
on the 'Overdue' tab on opac-user.pl It also corrects the template to display
the item type rather than the Koha collection type.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch adds a warning to the staff interface on the circulation page
to indicate that the overdues report is resource intensive on large installations.
This is considered a stopgap solution. Ideally, this report should be changed in order
to make it usable even for large installations.
Documentation note: Although no functionality has changed, any screenshots of the
circulation page on the staff interface should be updated.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
When viewing the subscription details page of a bib that already
has at least one subscription, clicking on the 'New Subscription'
button in the toolbar will fill in the biblionumber and title
in the new subscription form.
Clicking on the 'New Subscription' button in other context (e.g.,
when viewing the results of a search) will leave the biblionumber
and title fields unpopulated, as there is no specific bib to
use.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This incorporates and extends the patch from MJ Ray attached to bug 2287.
Added feedback of up to 25 lines, including for errors at the Text::CSV
parsing level. This allows feedback for problems than involve encoding.
Added link to download "starter" CSV file (with all the columns).
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
If barcode already exists, then return an error.
making some checks on values passed through the code.
Duplicated serialid and subscriptionid are displayed only once.
This manage multiple errors on barcode and displays them.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch resolves bug 1580 and addresses the modification of firstacquidate as per hdl's comments.
I have also removed some useless javascript from subscription-detail, and just reported the number of
irregular issues there (previously was reporting nothing since the js was broken).
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch removes a hardcoded 'LIMIT 20' which was added to all report queries
thus limiting all reports to only the first twenty rows of applicable data. In
its place this patch introduces code to paginate through all applicable data,
regardless of how many rows are available. The code will also honor any user
defined 'LIMIT' in reports based on SQL entered directly by the user.
This patch also adds column labels to 'tab' and 'csv' files generated by reports.
NOTE: Only user defined 'LIMIT's apply to 'tab,' 'csv,' and 'text' files.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch corrects date formatting when defining dictionary definitions in the
guided reports wizard so that dates display according to syspref.
Date formating is also corrected in the report creation section of the guided
reports wizard.
It also corrects a javascript bug which caused some of the calander widgets not
to function properly.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Previously subscription-add.pl allowed modification of 'firstacquidate', which changed
the subscription definition, but did not affect prediction. This patch adds two fuctions
to Serials.pm to get/set the current expected issue date (note that all date calculations
in prediction patterns are based on the current expected date, and there's only one serial
issue per subscription in the 'expected' status at any time). Subscription editing
now allows you to edit the next expected date, but not the first acqui date (unless you
haven't received any issues yet), thus allowing for adjustments in the prediction pattern.
This patch also updates fixes some discrepancies in irregularities / prediction display.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Minor changes to dom object names and id's to allow for proper calculation of the
base planning table from the simplified table.
Prior to this patch, the base table was populated with the incorrect value, so patterns like
Vol{X} No{Y} Issue{Z} incremented the Vol value incorrectly.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch addresses usability and interface bugs in the javascript irregularity checks by
adding extra controls: 'test pattern' button (always visible) replaces the 'irregularity' link
that was previously only sometimes visible. A 'show advanced pattern' button will display/hide the
base prediction table at any time. A 'reset pattern' button is added. The form may now also be submitted
even if it fails the irregularity test, as there are cases when this will result in the desired behavior.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Expanded the size of the cardnumber input field to 20 instead of 10. This allows the full 14-digit barcode to be viewed at a glance without having to
scroll.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch removes Image::Magick as a dependency and replaces it with
the (much) lighter GD. Functionality of patronimage code has not changed with
this conversion.
Adding errorhandling for corrupted image file and link to return to moremember.pl when called from there
Added notes about supported image mime types.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch adds code to clean out any NULL fields in rows returned
since NULL fields do not truly meet the filter criteria
It also corrects a bad db field reference.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
1. restores a check to itemtype.notforloan to set the norequests flag
2. changes improper boolean OR with AND for checking conditions of setting norequests
3. displays 'Not for loan' for item-level itypes when the itemtype is set to notforloan
4. restores items.notforloan values < 0 allowing holds (ordered items for instance)
We still need a notforhold flag set at the itemtype, and items level
Due to the logic of the underlying picture-upload.pl depending upon the "value" of the
form input controls and this value being translated, the script then failed to function.
This patch changes the input controls so that this should not be an issue.
This issue should be kept in mind, though, so that it can be avoided in the future.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Query references to the unused aqorderdelivery table caused a NULL field to be
displayed in the report results. This patch removes those references.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch corrects display descrepancies when filters are applied to the
acquisitions report. It also corrects a number of other issues with this
report.
Some documentation changes may be in order based on report filters that
were only partially implimented, but are now available.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Adding code to refresh "Lists" button lists display in OPAC masthead.inc
Adding javascript to force refresh of parent window to update "Lists" button menu
Adding query limits and ability to specify row count and offset in queries related to Virtualshelves.
Also added the ability to return total record counts for specified virtualshelves.
Adding C4::VirtualShelves::GetRecentShelves which returns a list of the most recently modified shelves for
a given set of parameters. This allows the user to be offered active private and open lists to add books
to in drop down menus while also allowing drop down menus to be limited to a reasonable length.
This also limits the shelves stored in the user's session to a fixed number. A further enhancement might
be to add a syspref to enable a staff member to define the limit. Currently it is hardcoded at 10 per
list type (private/public-open).
Adding pagination to list/shelf related screens
Moving refresh shelves code into C4::VirtualShelves::RefreshShelvesSummary and tidying up a bit
Correcting several inconsistancies in the shelves templates as well as handling shelf management on
the intranet side correctly.
Correcting "Add To:" drop-down list to show only lists the patron has permission to add to
Correcting a few C4::VirtualShelves::GetShelvesSummary API calls
Modifications for template consistancy
Breaking up a 1367 char line of javascript in opac-results.tmpl
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Edit functions here are limited to renaming and changing the type. No one can view
a list except the list owner unless it is public.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
At client request, I added code for a rowtitle_display and coltitle_display. This
allows the script to substitute human-readable lables into the table instead of just
the literal hashkeys. For this client with dozens of numerical patron categorycodes
having a row titled "29" was not very useful.
I cleaned up the templates and a lot of the report code. It is of the same style as
the other copy/paste reports and still need further cleanup. Added sql and debug
feedback (default styled to hidden), as I have for other reports.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
standard:
a - Preschool
b - Primary
c - Pre-adolescent
d - Adolescent
e - Adult
f - Specialized
g - General
j - Juvenile
For documentation team: please update the screenshot for
this drop-down as the options have changed.
No re-indexing should be necessary.
Koha 952 item fields to the MARC21 standard 852 location fields:
Please add the following to the documentation in a section explaining
the setup of a SRU/Z39.50 server. You can also pull info from:
http://wiki.koha.org/doku.php?id=en:development:z3950sru
Modifying Output of Your Records On-the-fly
Koha supports modifying the output of your MARC records for public-facing
Z39.50 and SRU servers. You can set up custom mappings to convert fields such
as 952 (Koha items) to 852 (MARC21 location fields). For example here would
be a popular mapping:
Name: Koha Field Mapping in MARC21
---------------------------
Location: 952 $b => 852 $b
Barcode: 952 $p => 852 $p
Price: 952 $v => 852 $r
Item type: 952 $y => 852 $w
Notes: 952 $z => 852 $z
This would make the output from the SRU server suitable for a
resource sharing network that used the above convention for location
information. To add this configuration to your Zebra, add the following
block of code in the koha-conf.xml in the <retrievalinfo> area:
<retrieval syntax="xml" name="marc21location">
<backend syntax="usmarc" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="/path/to/koha/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim9522852.xsl"/>
</backend>
</retrieval>
The retrieval set name (in this case, marc21location) is arbitrary and
should be set as required by your resource sharing network, so long as it won't
conflict with internal usage within Koha itself. It's the retrieval set name
that is used to trigger the server to respond and parse the record through the
stylesheet and apply the mappings.
In SRU, this is set as follows:
http://example.com:210/biblios?version=1.1&operation=searchRetrieve&query=it&startRecord=1&maximumRecords=20&recordSchema=marc21location
In Z39.50 it's the elementset name construct.
a default installation:
1. Re-names several of the item fields to make more sense to catalogers and patrons
2. Remove links Non-public note from items.paidfor
3. Changes Non-public note to be hidden in the OPAC view
Fixes issues with the 'hidden' field in the framework, specifically:
1. the editor obeys the rules of possible values for hidden (>4, or <-4)
2. the OPAC MARC display obeys the rules of positive values meaning 'hidden in OPAC'
3. the staff MARC display now obeys the rules specified in the hidden values description
Added error catching for bad user input on number of days. I.E., if you
try to filter by "bAd", you now get an error message prompting for valid
digits. Also I updated highlighting to use loop_context_vars.
Fixed filtering to work on either days, vendor or both. Previously, if
you selected a number of days, you had to select a vendor or else got
empty results. DOCUMENTATION NOTE: this supplies the expected behavior,
so specifying vendor is no longer required.
Changed filters form to GET method.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This adds a variable to the checkout form, debt_confirmed, that is 1 when the de
bt block message has been canceled for this session.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Makes the print slip and confirm button show up on an in-library hold as well as a transfer. It also adds an ignore button that hides the hold dialog.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This fixes the tabs plugin's view of the % subfield by adding another template var called urisubfieldcode that is "pct" when the subfieldcode is "%".
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Adds a 'forgive fines' checkbox to moremember.pl that defaults to off, and removes the hardcoded $exemptfine = 1 argument to AddReturn in reserves/renewscript.pl. Also, cleans up a little inline CSS.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
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>
The problem was that the 'mc-' was removed from the checkboxes a while back and
that's what triggers the automatic application of OR boolean searching. I've
added it back to the templates and modified the ccl.properties file to include
mapping for itype,itemtype and ccode
The debugging feedback (default style: hidden) is necessary to
investigate client reports where even after "backfill_statistics"
this report still fails to return results.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Previous implementation was a crude copy/paste from a larger report.
CSV output was and is not functional (disabled in interface accordingly).
Output now includes and is sorted by itemcallnumber, because the purpose
of this report is to isolate uncirculating items to cull from the shelves.
Output also includes a summary at the top, with links to individual tables
below when broken out by a grouping. Also included in the feedback but
default styled to display="none" are the actual SQL queries. This is
incredibly useful for debugging and should probably be done in all reports.
Yet TODO: allow date range for checkouts and instead of
"no checkouts" (=0) allow the query to filter based on =x, >x, <x, etc.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
C4::Search::SimpleSearch was alredy patched to let you pass in the number of results you want back.
These instances were not using the new API. This patch makes all calls to SimpleSearch specify a limit.
I improved the documentation of SimpleSearch a bit to include the third returned value.
I believe there's a bug in C4::Output::pagination_bar, in that it doesn't deal well with URLs
with only one pair of parameter=value passed to it. I'm getting around this by passing in a second
pair that does nothing.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This is one place that TMPL EXPRs actually made sense, against my better
judgement. It's already used in this template, so if someone wants to clean
it up, feel free.
A button to delete (non-mandatory) subfields and fields
is added to the bib and authority MARC editors. This button,
which displays as a hypen or minus sign after the plus sign
to clone a field, acts as follows:
[1] When deleting a whole MARC field, if at least
one other repeat of that field exists, deletes
the field from the editor page. If the field
to be deleted is the last instance of that tag,
the contents of the field are cleared, not removed.
This allows one to delete all 650 tags, then
add a new one without having to reload the
record in the editor.
[2] When deleting a subfield, if at least one other
repeat of that subfield and its tag occurs
*anywhere else in the record, not necessarily in the same tag*,
deletes the subfield.
Otherwise, if the subfield is the last occurrence
of that tag/subfield combination, clears the input
form instead.
Documentation note: new screenshots for MARC editor, plus
description of the '-' button.
Credit to MJ Ray for introducing the '-' button
and the UnCloneField JavaScript function.
Signed-off-by: Andrew Moore <andrew.moore@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Changed date popups in scheduler.tmpl to a date picker element
Made corresponding changes to scheduler.pl
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The "transfers to receive" report included
unused code to delete a transfer. Since the
"transfers to receive" report is still useful
to give a library a report of items that it should
expect to receive, I am retaining the report. However,
since the cancel transfer functionality would not
work even if it were uncommented in the template, that
portion is removed.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This hold request and transfer report no longer
works now that hold requests are processed via
checking items in.
This patch removes the report; please consult
the koha-devel message re "RFC - remove circ/transferstodo.pl prior to general release"
for more details.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
If a rule should not be saved because a delay is
given but no letter or debar action is specified
for that delay, an error message is now reported.
Also:
* use "dialog alert" CSS class for confirmation
that form was saved
* if form input is saved, retrieve the settings from the
database again when displaying the form - this will
help turn up any bugs where the script is not
saving the overdue rules correctly.
* fix display of patron category in error messages
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This makes the overdue notice rule editor consistent
with the branch selector for the circulation rules
editor.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Fix same as for 2205 - the orderby parameter is
currently required for authority searches.
Also set default results per page to 20 instead of
19.
No documentation changes.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
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.
Without this patch, on OPAC result page, depending whether book cover
image is available or not, biblio records and book cover are badly
verticaly aligned. The information is in the middle of the cell.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Instead of having one input field for both indicators
of a variable field, the bib and authority MARC editor
now has an input field for each indicator. This has
two main advantages:
* it is easier to tell what the indicator values are,
even when the first indicator is a space
* it is easier to set the first indicator to blank
and the second indicator to non-blank.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
In OPAC, when cart is sent by email, the email contains an attachement:
an ISO2709 file with cart biblio records. Most users don't have a clue
what to do with this file.
This patch modifies opac-sendbasket.tmpl to clarify what the attachment is.
It also fix a bug in opac-sendbasket.pl which wasn't reading the template
section containing information about the basket:
Here is your cart, sent from the Koha Online Catalog... foo
It may be necessary to verify that template text is in 'valid' English...
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Without this patch authors display on OPAC is weird.
You get for example:
Author: Freud--Sigmund Lacan--Jacques
And you finish to read an author 'Simund Lacan'
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
[1] Removed hardcoded path to original developer's
Koha configuration file; now checks KOHA_CONF.
[2] Now attempts to figure out if a task was successfully
added to the task queue; if it wasn't, the failure
is now reported in the task scheduler page.
[3] When traveling to the task scheduler page from a
saved report, the report in question is now
selected by default.
[4] Removed the button to edit a queued task; this is
not supported.
This patch is essentially a bandage; I've added a BUGS
section and some FIXMEs to the POD for C4::Scheduler
detailing some issues - a refactoring of the task
scheduler is in order at some point.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Currently, the heading sort order is a required parameter, but was
not supplied to the template or used in the search results. As
a result of this patch, clicking a link to view another page
of the authority search results will now work.
Outstanding issue not addressed by this patch: when searching
authorities in both the staff interface and the OPAC, choosing
sort order "none" results in a crash.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This applies to the list of system preferences in
the syspref editor - the OPACUserCSS syspref had
angle brackets in its description.
Used template change to accomplish this. Note that
syspref value is escaped by the script, note the template.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This change helps the staff side catch up w/ the OPAC display and be
more useful to librarians dealing with serials.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
That is, a term is either approved, or rejected, or neither.
Without an external dictionary, most terms will fall into the
latter category.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Fix several validation errors in RSS and Atom feeds
generated from the OPAC:
- add missing guid to RSS elements
- add missing feed ID and element ID to Atom elements
- reflect OPACBaseURL changes
- fix atom:link self links
- add HTML escaping to fields comming from bib record
- set default timestamp for Atom updated elements
Issues identified but not solved in this patch:
- setting Atom updated element for each bib (presumably
from biblio.timestamp)
- possible problems performing paging of Atom feed
Based on successful validation of feeds by feedvalidatory.org,
it is expected that feeds should now work in IE7 and IE6.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Calculate OPACBaseURL from the
CGI environment variables instead of using the
system preference. As a result of this patch,
it should be possible to change the hostname,
protocol, or port of the OPAC without having to
reset a system preference.
Also added a FIXME to opac/unapi - the URL of
the SRU/W server has no necessary relationship
to the URL of the OPAC.
Once this patch is confirmed, the syspref can
be removed.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
If a patron's fine balance is over the limit set by the
noissuecharges syspref, checkouts are blocked. However,
this was not made very clear in the interface.
Improved the display by doing the following:
[1] If the fine balance is over the noissuecharges limit, use the "blocker"
styling (i.e., make all of the text red).
[2] Add wording to explicitly signal whether or not the fine balance is
blocking charges.
Documentation changes: new screenshots of blocked checkouts.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
But that is a separate bug from whether they display or not.
Also added basic error handling if biblionumber is not received, or
if biblionumber is bad, since that otherwise crashes the page.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Note that when the user is not logged in, the Tags input box/button will not display.
The user will see a message telling them to log in to add tags. However, in order to
keep the results display clean, the message will display only once, utilizing the loop
context variable "__first__". Useful stuff!
I also threw OPACShelfBrowser sysprefs.sql, but it still needs added to updatedatabase.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
[1] Display the "No records have been staged" message only
if no import batches exist.
[2] When displaying a batch that has no bibs in it, display
a "There are no records in this batch to import". Also,
do not display the "import record into catalogue" button
for an empty batch.
[3] Add CSS class "problem" to both messages.
Documentation changes: minor; only required if screenshots
exist of the manage staged MARC records page that has no
import batches on it.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Major FIXME's still remain, like the use of GET instead of POST.
The code is also a bit too INCLUDE-happy to net good performance.
The entire mechanism of adding to a batch should probably be proper
AJAX instead of the GET-centric opener.location approach.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
When editing a child or professional patron, display
the drop-down of relationship types only if at least
one relationship type is defined by the borrowerRelationship
syspref.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Also, prevent duplicate tags (same user, biblio and term). Strip
leading/trailing whitespace from term. Block whitespace terms.
The CSS for details could be enhanced to emphasize tagstatus more.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Note: we CANNOT rely on window.close in onSubmit or $().submit to close our popups.
On a relatively slow connection with a relatively large POST, commonly the close finishes
*before* the POST completes, as reported with our New Zealand clients. Despite success in
trivial cases, this should be obvious, since the event is necessarily before the submission.
It also assumes success and prevents any kind of error feedback. Other popups are likely
to exhibit this same defective behavior.
Some FIXME's outstanding: need to allow users to delete their own comments,
need to enforce and feedback on max comment length.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Obviously if we are going to allow good markup, we can't then escape it.
Documentation reference: allowed tags for comments are:
br b i em big small strong
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Note, all Tags js will live under KOHA.Tags namespace.
See opac-tags.pl perldoc for AJAX/JSON examples. The capability is already
there to be very web-servicey, even moreso than the current OPAC implementation
will utilize.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Pushes modified facets display from OPAC to librarian interface.
Corrects also OPAC version which were omitting Titles facet.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
This patch allows to translate facets label with standart
templates / PO files. Facets are still hard coded in Koha.pm.
Template wait those hard coded facets: Topics, Places, Titles,
Autors and Libraries.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
[1] Added MARC-8 as an encoding choice on the target
administration page.
[2] Fixed TMPL coding errors.
[3] Set the correct encoding (as it happens, 'MARC-8')
for all of the English sample Z39.50 targets.
Documentation note: due to this patch and the ones from
Frederic, screenshots of the page for editing a Z39.50
target should be redone.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
from circulation dashboard, creates new sysprefs, assigns
the sysprefs to the proper tab in sysprefs (Circulation),
updatedatabase changes to do the previous, and fixing one
redundent limit in the query for build_holds_queue.pl
Note: still need to address item-level holds
pagination bar was not in template, so only the first 20 hits were
visible. Probably it wasn't included because the script referenced a bogus base URL.
Also debugified warn statement in script. Note FIXME for bogus template reference.
We probably don't need that template or the related selector lines for it.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Third attempt to correct a bug affecting this page.
Combo lists wasn't reflecting DB content in modification.
To Joshua: You have to apply patch 2 first (patch 1 isn't required)
since I applied this quick fix without rolling back to original state!
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Improve previous patch which was badly coded as pointed out by
Henri-Damien. <TMPL_IF> clauses were included in HTML tags:
it fails translator tool.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
On /admin/z3950servers.pl page, modifying a z3950 host wasn't working
properly. Selected values in Syntax and Encoding combo boxes were hard
coded rather than selected based on record values.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Problem with ModMember : parameters were not passed safely
memberentrygen.tmpl deleted guarantorid for a children if step2 or step3 used fore edition.
Changeing TMPL_IF EXPR into TMPL_IF Name
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Including the subtitle in search results and OPAC and staff
details templates. The subtitle is expected to be in the
MARC subfield that is mapped to the (now nonexistant) column
bibliosubtitle.subtitle.
This is a fairly hackish patch that is meant to be minimally
disruptive while allowing subtitles to be displayed for those
not using the experimental XSLT bib display feature. It
does *not* cover all cases where you have a MARC
record and want to display its subtitle.
UNIMARC notes: at the moment, none of the fr-FR UNIMARC
frameworks appear to be map any subfields to bibliosubtitle.subtitle.
This could be changed, but caveat programmer: the UNIMARC 200$e
is repeatable (meaning that get_koha_field_from_marc will put in ' | '
between multiple subtitles) and one may want to also include the
200$d (parallel title). A GetMarcSubtitle routine may be in order
if absolutely necessary.
This points to a long-term need to make display of MARC (and later, hopefully,
non-MARC) bib records more flexible - the XSLT feature is one approach;
there may be others.
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>
this patch introduce the same behaviour as for additem.pl, ie : edit only own homebranch items, except for superlibrarians
Signed-off-by: Joshua Ferraro <jmf@liblime.com>