- Replace vendor table by a div (avoid table in a table)
- Add two columns in basket tables: biblio count and expected (not
received) items)
- Replace tablesorter by datatables
- Add a list of all returned bookseller names in top of the page (easier
to find a bookseller in a large list of results)
Test this patch by trying to delete items from a public list that someone else created (so you do not have sufficient permissions). Check the warning.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
This lays the foundation for further changes for report 7310.
Implements following points from the wiki page List permissions:
1) Preference that controls if users may create public lists in opac.
2) New add/delete own/delete other permissions per list.
Code has been changed (in some cases refactored). New permissions are not yet visible; with this patch current functionality is kept as much as possible while resolving several issues, improving permissions and extending the code for further developments (using the new permissions and sharing lists).
Feb 23, 2012 (revision): Changed defaults for new lists. Could also remove routine GetRecentShelves by using GetSomeShelfNames in catalogue/search.pl just as opac-search.pl already did. (More consistent.)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Feb 29, 2012: Automerge version.
March 5, 2012: Rebase for pushed 4912 patch.
March 21, 2012: Rebased. Resolving some conflicts in relation to pushed report 7719.
Adds two new preferences to OPAC/Policy tab.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
This patch adds a syspref UseICU for toggling between using "" and {} for
quoting in subject tracings. With normal Zebra indexing, "" must be used. With
ICU Zebra indexing, {} must be used.
This syspref interacts with TraceCompleteSubfields and TraceSubjectSubdivisions.
To test:
- marcflavour = MARC21
- make sure you have a record with a "complex subject", like
"Internet -- Law and legislation"
Toggle UseICU, TraceCompleteSubfields, and TraceSubjectSubdivisions and check
that you get the expected results for the clickable links in the OPAC detail
view:
TraceCompleteSubfields = Don't force
TraceSubjectSubdivisions = Don't include
UseICU = Not using
opac-search.pl?q=su:"Internet"
UseICU = Using
opac-search.pl?q=su:{Internet}
TraceCompleteSubfields = Force
TraceSubjectSubdivisions = Don't include
UseICU = Not using
opac-search.pl?q=su,complete-subfield:"Internet"
UseICU = Using
opac-search.pl?q=su,complete-subfield:{Internet}
TraceCompleteSubfields = Don't force
TraceSubjectSubdivisions = Include
UsingICU = Not using
opac-search.pl?q=(su:"Internet") and (su:"Law and legislation.")
UsingICU = Using
opac-search.pl?q=(su:{Internet}) and (su:{Law and legislation.})
TraceCompleteSubfields = Force
TraceSubjectSubdivisions = Include
UseICU = Not using
opac-search.pl?q=(su,complete-subfield:"Internet") and (su,complete-subfield:"Law and legislation.")
UseICU = Using
opac-search.pl?q=(su,complete-subfield:{Internet}) and (su,complete-subfield:{Law and legislation.})
Check that clicking on the generated links gives the expected search results,
but with normal and ICU indexing. (I have actually not tested this with ICU, so
doing that before signing off is crucial.)
UPDATE 2012-03-16:
Changed the name of the syspref from TracingQuotes to UseICU after a suggestion
from Paul P., to make it more generally useful.
I have used "Using/Not using" instead of "Use/Don't use" in the description of
the syspref, to reflect the fact that this syspref will not change how Zebra
does its indexing - it's just a way of telling Koha how the indexing is
actually done.
I have also set UseICU = 1 in updatedatabase.pl, since that will preserve the
current behaviour of Koha, but UseICU = 0 in sysprefs.sql, since most new
installations will not have ICU activated.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
To test:
- Make sure you are logged into Koha as 'root' user - not superlibrarian
- Before the patch the label will show 'NO_LIBRARY_SET', after applying
the patch it will be 'NO LIBRARY SET' without underscores.
- Verify correct description is shown after selecting a library.
Signed-off-by: mveron <veron@veron.ch>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
I don't really understand, why the " OK " would not get picked up by
the translation script, but removing the spaces made it work.
To test:
Verify that all OK buttons on the start page are translatable. The one
resisting translation was "Search catalog:"
Signed-off-by: mveron <veron@veron.ch>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Optionally delete bibliographic record when batch deleting items, if no items remain on the record.
Adds deleting of reserves to DelBiblio. Since subscriptions are deleted automatically,
it made sense for deletion of reserves to maintain the same behavior.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
I like the way this works, and it does. Passes tests.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Simplifies the adding of analytical records and ensures that
the data populating the 773 tag is correct. From the host record
add child record is selected and create bib is entered to generate
a new record with host item tag populated from the parent
Caveat: currently prepare_host_field only returns a field for
MARC21. Values for UNIMARC and NORMARC can easily be added but
should be done by someone familar with those formats
and conventions
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
To test:
- create a new record
--> if you enter a value in 001 anaytics will use that in $w for linking later
--> if you set 000/LDR 19 - Multipart resource record level to 'a' there will
be a link from the parent record to the child record later
- save your record and go to the staff detail page
- in toolbar select 'New' > 'New child record'
- check field 773, 245 and 001 from the parent record should have been copied there
- check links between child and parent in staff
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed conflicts in all 3 files.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Works properly for MARC21, and follow-up adds support for NORMARC and UNIMARC.
the table below show checkout/hold/return, so the description should be in the same order for a better consistency
Plus the term "return" is used elsewhere in the page, so s/checkin/return/
Adds support for Floating Collections (i.e. items that don't automatically return
home when checked in at another branch) on a per branchcode/itemtype basis.
This patch adds a new column (returnbranch) to the default_circ_rules, default_branch_item_rules,
default_branch_circ_rules and branch_item_rules tables, after the 'holdsallowed' column. While
this is coded as a varchar(15), the only currently supported values are 'homebranch', 'holdingbranch',
'noreturn' and NULL.
On upgrade, the value of HomeOrHoldingBranchReturn is used to populate the global default (which is
stored in default_circ_rules.returnbranch).
To access this value, use C4::Circulation::GetBranchItemRule. This subroutine is altered to supply
an additional key, "returnbranch", containing this value (or 'homebranch' as a default). No existing
usage of GetBranchItemRule should need to be modified.
The use of HomeOrHoldingBranchReturn is removed in AddReturn to instead use this subroutine. This will
determine, on a more granular level, where the item should be transferred, after all is said and done. If
'noreturn' is specified, then the material will remain at the branch doing the checking in.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Passes prove t xt t/db_dependent
I was able to make this feature work as advertised.
As noted above, if you want a floating rule applied across all branches, adding a single default rule won't suffice, you'll need to add the rule to all branches. That issue is not related to the functioning of *this* patch however.
When you are on parcel.pl or basket.pl you can now add or edit a note
for each order.
To test:
Create orders with and without note.
Edit/Add the note on basket.pl page
Close the basket.
Check you can add/edit the order note on parcel.pl page
+ From Owen:
Correcting markup issues with modordernotes.pl:
- Adding "rows" and "cols" attributes to <textarea> (required)
- Converting cancel button to link to stay consistent with
other pages
- Changing page layout to fixed & centered (not sidebar needed)
- Expanding information in breadcrumbs to match information
on basket.pl
Changing markup around note add and edit links: Moving output
of order note to the end of the table cell, putting it in its
own paragraph, and adding a "Note:" label
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
- Adds order date above vendor
- Reordered fields to reflect history of the item
- Order information (order date, vendor) is only shown, when an order exists
- Accession date is only linked, when item was received in acquisition
- Links to basket and invoice are only shown when user has the correct permission
- order date: manage_order
- accession date: receive_shipment for invoice
- Changes all dates to use the KohaDates TT plugin
- Corrects display of rental price, removing additional zeros
To test:
1) Create a record with
- 1 item created in cataloguing
- 1 item ordered
- 1 item ordered and received
- 1 item checked out
2) Verify the correct information is shown for each
3) Verify links on the dates work correctly
4) Toggle permissions for the user
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Followed the test plan and all tests pass.
Signed-off-by: Marijana Glavica <mglavica@ffzg.hr>
changed supplierid to booksellerid
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
standardized the use of the term "library" instead of "Branch" accross the interface and opac
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
items.enumchron is now displayed when not null
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
New sql tables:
- oai_sets: contains the list of sets, described by a spec and a name
- oai_sets_descriptions: contains a list of descriptions for each set
- oai_sets_mappings: conditions on marc fields to match for biblio to be
in a set
- oai_sets_biblios: list of biblionumbers for each set
New admin page: allow to configure sets:
- Creation, deletion, modification of spec, name and descriptions
- Define mappings which will be used for building oai sets
Implements OAI Sets in opac/oai.pl:
- ListSets, ListIdentifiers, ListRecords, GetRecord
New script misc/migration_tools/build_oai_sets.pl:
- Retrieve marcxml from all biblios and test if they belong to defined
sets. The oai_sets_biblios table is then updated accordingly
New system preference OAI-PMH:AutoUpdateSets. If on, update sets
automatically when a biblio is created or updated.
Use OPACBaseURL in oai_dc xslt
This patch adds NORMARCslim2intranetResults.xsl, to enable XSLT display
of intreanet search results when marcflavour = NORMARC. Most of the
logic is copied verbatim from NORMARCslim2OPACResults.xsl.
To test:
Make sure you have these system preferences set:
marcflavour = NORMARC
XSLTResultsDisplay = using XSLT stylesheet
NORMARC and MARC21 is similar enough that testing on MARC21 records should
be OK. (I don't expect anyone to do detailed testing of a lot of the different
positions in leader, 007, 008 etc...)
Before the patch: viewing results in the staff client should give an error
message about a missing XSLT file.
After the patch: Record details should be displayed in the search results,
similar to how it is done for MARC21.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
While typing an authority, will automatically propose authorities (similar to
autocompletion for patron search if activated)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested searching for authorities with and without autocomplete. Note that
this is most useful when used in the "Main entry" box instead of the
"Main entry ($a only)" box.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Corrected tabs to spaces in auth-finder-search.inc while resolving merge
conflict.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Creating new include, reports-toolbar.inc for presenting "action"
options to the user, in contrast with "view" options in the left-
hand navigation menu.
In the toolbar: New (guided report, SQL report), Edit, Run.
The presence of the toolbar allows the user to access functions
more flexibly: Getting directly to 'edit' or 'run' from the 'view'
page for instance.
Modifications to guided_reports.pl pass report id and name to
the template for clarity and for the purpose of enabling the
edit/run buttons.
To test: Apply the patch and go through the process of creating
a new saved SQL report. Note that the toolbar is present and
the buttons are functional at appropriate times.
New and Edit options should only be displayed if the user has
permission to create reports. Test with a user who does not
have create permission to confirm.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This seems like a very big improvement, especially for people using screen
readers. I agree that the change to C4::Search is required.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This adds a new syspref: AllowPKIAuth. It can have one of three states:
* None
* Common Name
* emailAddress
If a) this is set to something that's not "None", and b) the webserver
is passing SSL client cert details on to Koha, then the relevant field
in the user's certificate will be matched up against the field in the
database and they will be automatically logged in. This is used as a
secure form of single sign-on in some organisations.
The "Common Name" field is matched up against the userid, while
"emailAddress" is matched against the primary email.
This is an example of what might go in the Apache configuration for the
virtual host:
#SSLVerifyClient require # only allow PKI authentication
SSLVerifyClient optional
SSLVerifyDepth 2
SSLCACertificateFile /etc/apache2/ssl/test/ca.crt
SSLOptions +StdEnvVars
The last line ensures that the required details are
passed to Koha.
To test the PKI authentication, use the following curl command:
curl -k --cert client.crt --key client.key https://URL/
(look through the output to find the "Welcome," line to indicate that a user
has been authenticated or the "Log in to Your Account" to indicate that a
user has not been authenticated)
To create the certificates needed for the above command, the following series
of commands will work:
# Create the CA Key and Certificate for signing Client Certs
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
# This is the ca.crt file that the Apache config needs to know about,
# so put the file at /etc/apache2/ssl/test/ca.crt
# Create the Server Key, CSR, and Certificate
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
# We're self signing our own server cert here. This is a no-no in
# production.
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key \
-set_serial 01 -out server.crt
# Create the Client Key and CSR
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr
# Sign the client certificate with our CA cert. Unlike signing our own
# server cert, this is what we want to do.
openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key \
-set_serial 02 -out client.crt
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
# In theory we can install this client.p12 file in Firefox or Chrome, but
# the exact steps for doing so are unclear, and outside the scope of this
# patch
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested with Common Name and E-mail authentication, as well as with PKI
authentication disabled. Regular logins continue to work in all cases when
SSL authentication is set to optional on the server.
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
QA comment: synchronized updatedatabase.pl version of syspref with sysprefs.sql
version, to avoid divergent databases between new and upgrading users.
Allow preferences translation
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
This patch fixes another sysprefs problem -
Syck parser (line 300, column -1): syntax error at /usr/lib/perl5/YAML/Syck.pm line 76, <$fh> line 1.
when clicking local use. I could not verify that it fixed translations, but fixing the local use prefs is important too, so I'm signing off.
Adds a date picker for SQL reports with the 'date' authorised_value. Updates help
documentation for this new feature, as well.
To test:
1. Create a new report with two date parameters, using the syntax:
<<Label for this selection of date|date>>
2. Run the report
3. Select dates
4. The SQL generated should format the dates properly in ISO, and keep track of which
date is which
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Adding "required" style and "Required" note to additem fields,
consistent with the way required fields are displayed
on the add patron form.
This patch also corrects an error in the client-side validation
script which misidentified which fields were required. Leaving
a required field empty should result in an alert and the missing
field being highlighted in yellow.
To test, open the add item form on a record which uses
a framework in which one or more item fields are required.
Required fields should be labeled in red and appended with a
"Required" note.
Submit the form while some required fields are empty. You should
see a javascript alert. The empty mandatory fields should have
a yellow background.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Works - passes tests.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This is a single line fix. Initializing the msg var to an empty
string solves the problem.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch removes invalid markup from the language chooser
in the intranet. It also copies the markup and style of
the staff client include to the OPAC so the two are
more consistent. I hope that will make future changes
and debugging a little easier.
I believe this patch also fixes Bug 7366, "Language chooser
display problems."
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch fixes bug 7366, but there is still a difference between staff
and OPAC.
Installed languages: en, en-NZ, de-DE, fr-FR
Activated langauges: en, en-NZ, fr-FR
OPC shows English, staff shows en-NZ as label for the list.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Adds a new system preference RoutingListNote under the Serials tab.
The note will display above the note from the subscription and replace
the current hardcoded note:
"Notes: Please return this item promptly as others are waiting for it."
The patch adds unique ids to all notes and the note in general, so it
can be styled using CSS.
Also corrects the routing slip template to follow the HTML4 rule.
Update 2012-03-12: Fixed problem in updatedatebase.
This follow-up patch corrects some markup errors and removes some
markup which I think is superfluous:
- Using template FILTER command to remove invalid punctuation from
ID attributes (to quiet the HTML validator)
- Removing <fieldset> since options are bordered by the tab box now
- Correcting the conditional which controls the table markup
to prevent extra/missing </tr>
- Adding missing ID attribute in the OPAC template
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Adds the ability to perform advanced searches in both the OPAC and staff client on more than
a single AdvancedSearchType at a time. Support included for Itemtype, Collection Code and Shelving Location.
AdvancedSearchTypes syspref preference is repurposed; no longer a single value, it can now take
multiple item code fields separated by "|". The order of these fields will determine the order
of the tabs in the OPAC and staff client advanced search screens. Values within the search type
are OR'ed together, while each different search type is AND'ed together in the query limits. The
current stored values are supported without any required modification.
Each set of advanced search fields are displayed in tabs in both the OPAC and staff client. The
first value in the AdvancedSearchTypes syspref is the selected tab; if no values are present, "itemtypes"
is used. For non-itemtype values, the value in AdvancedSearchTypes must match the Authorised Value name, and
must be indexed with 'mc-' prefixing that name.
<li> elements in tab are assigned unique IDs, so the text of the tab can be altered to match the
library's needs (using JQuery)
The logic to handle the 5 element row limit has been moved from the Perl to the templates, since Template::Toolkit
has a simple method for extracting the count of an element in a loop and performing 'modulus' on it.
2011-12-21: Incorporated changes recommend by Owen Leonard on bug report.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
To test:
1. Edit a patron, and try to use the datepicker to set the date the patron is
restricted until.
2. Note that the datepicker does not come up.
3. Apply patch.
4. Repeat step 1.
5. Note that the datepicker does come up.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
To test:
- switch on UseControlnumber
- add a serial record with 001
- ldr pos 19 = a or
- 008 (continuing resource), pos 21 = m
- add 2 analytics with with $w subfields containing the 001 of the serial
- one with ldr pos 7 = a
- one with ldr pos 7 = b
- add 1-2 monographical records linked to the serial
- 8xx $w subfield containing the 001 of the serial
- 490
The serial should show 2 links (in both OPAC and Intranet):
'Show volumes' should only bring up the monographical records.
'Show analytics' should only find the analytical records.
Without the patch both links would find all linked records, no difference
between both links.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
hide link to neworderempty if user does not have order_manage permission
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
If a vendor/bookseller has no basket/subscription link, it can now
be deleted (after a JS confirmation).
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Verified that I can only delete vendors without linked orders or
subscriptions.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>