Bug 13941: [1/2] Test <body> tag with id/class attributes
Test:
- Apply the first patch [1/2] containing a new test checking <body> tags in all
templates
- Run the test: prove xt/tt_valid.t
- You get a list of templates with invalid <body> tags.
- Apply the second patch [2/2] fixing all invalid <body> tags.
- Re-run the test: It passes.
Folowed test plan, works as expected Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Tue, 23 Dec 2014 10:59:07 +0000 (11:59 +0100)]
Bug 13492: Add the location column to the checkouts tables
Test plan:
1/ Verify that the location column is correctly displayed on the
checkouts tables (circ/circulation.pl and members/moremember.pl).
2/ Verify that you can hide/show this column (using the admin page
and/or the ColVis DT plugin).
Signed-off-by: Aleisha <aleishaamohia@hotmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Tue, 23 Dec 2014 10:45:11 +0000 (11:45 +0100)]
Bug 13492: Add the column configuration for the checkouts table - morember.pl
Test plan:
1/ Verify that you can show/hide columns on the checkouts table (moremember.pl).
2/ Play with the column configuration admin page (admin/columns_settings.pl),
and confirm the behavior is correct (depends on what you have selected).
Amended patch: replace 'un' and 'deux' with 'sort_order' and
'todays_or_previous_checkouts' in the yml file.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Tue, 23 Dec 2014 10:30:33 +0000 (11:30 +0100)]
Bug 13492: Add the column configuration for the checkouts table - circulation.pl
Test plan:
1/ Verify that you can show/hide columns on the checkouts table (circulation.pl).
2/ Play with the column configuration admin page (admin/columns_settings.pl),
and confirm the behavior is correct (depends on what you have selected).
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Fri, 10 Apr 2015 13:35:54 +0000 (15:35 +0200)]
Bug 13606: Add tests and fix existing ones
Some tests were wrong and not executed in a transaction.
Lot of sessions were created in DB because the session was never
flushed.
TEST PLAN
---------
$ mysql ...
> delete from sessions;
^Z
$ prove -v t/db_dependent/BackgroundJob.t
...
$ fg
> select id from sessions;
-- There will be lots of ids (10, if I recall)
^Z
$ git bz apply 13606
...
$ prove -v t/db_dependent/BackgroundJob.t
...
$ fg
> select * from sessions;
-- there should only be the one orphaned job.
You can tell it is correct by the "making new job".
> quit
Run the koha-qa test tools.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 13606 Clear job data in session when the job is completed
Bug 11395 uses the session to store the report sent to the interface
(update on biblio XX OK, etc.).
If the session is stored in mysql, the max size of the
sessions.a_session will be reached easily (TEXT field).
To reproduce:
0/ Set SessionStorage to 'mysql'
1/ Create a file with 500 biblionumbers:
mysql -e "select biblionumber from biblio limit 500;" | tail -n 500 > /tmp/biblionumbers.txt
2/ Define a marc modification template (something like "delete field 99$9" is nice)
3/ Load the /tmp/biblionumbers.txt in the batch biblio modification tool
4/ Repeat 3
You will get:
Syck parser (line 1534, column 6): syntax error at
/usr/lib/i386-linux-gnu/perl5/5.20/YAML/Syck.pm line 75.
None Koha page is reachable.
It comes from get_template_and_user > checkauth > get_session >
l.1595 $session = new CGI::Session("driver:MySQL;serializer:yaml;id:md5", $sessionID, {Handle=>$dbh});
5/ Get your sessionID contained in your CGISESSID cookie
Have a look at the value a_session in the sessions table:
mysql> select a_session from sessions where id="YOUR_SESSIONID";
You should see that the yaml is not correctly ended.
The size of the DB field has been reached and the yaml is truncated.
Test plan:
0/ Delete your CGISESSID cookie
1/ Try to reproduce the previous issue
2/ After the second batch, have a look at the sessions table and confirm
that only one job_$JOB_ID exist in the yaml
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
NOTE: Nicely clears batch job session information.
(2) is incorrect. This cleans up after a full run.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Jonathan Druart [Wed, 21 Jan 2015 14:59:10 +0000 (15:59 +0100)]
Bug 13606: Upgrade sessions.a_session to MEDIUMTEXT
The previous patch fixed partially the problem.
If you try to update more that 1000 records, you will get the same
error.
This patch change the type of sessions.a_session from TEXT (64kb) MEDIUMTEXT (32mb).
Test plan:
1/ Try to modify a huge amount of records (1000 should be enough)
2/ Confirm it worked!
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
I confirm that with more than 1000 records the session object is truncated, and
then can't be anymore be desirialized, blocking completely Koha. Fixed with
this patch.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
This only pushes off the problem expontentially (64KB vs. 16MB), but this is a
good start.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Kyle M Hall [Wed, 4 Mar 2015 09:16:24 +0000 (01:16 -0800)]
Bug 13790: Add unique id issue_id to issues and old_issues tables
Test Plan:
1) Use a database with existing issues and old issues
2) Apply this patch
3) Run updatedatabase
4) Inspect the database
a) old_issues should now have a column issue_id starting with 1
b) issues should now have a column issue_id starting with the number
of rows in the old_issues table plus one
5) Perform a checkout, note it is written to the database
6) Check in the checked out item, note it is moved to the old_issues table
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marc Véron [Tue, 14 Apr 2015 09:50:14 +0000 (11:50 +0200)]
Bug 13994: Add a back link to error message in Reports
To reproduce:
- Go to Home > Reports
- Create from SQL
- Do something that results in an error message, e.g. by entering an UPDATE statement
Result: You get an error message with title "The follwing error was encountered"
But there is now link to go directly back to fix it.
To test:
- Apply patch
- Repeat steps above
- Verify that a link appears (and works): "Back to previous page"
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8474: Holds done by librarians cause silent errors in koha-error_log, placerequest.pl -> $checkitem
Squashed this rogue variable initialization
Test plan:
1/ Place a hold at a biblio level (on the next available item)
2/ Without this patch you get
placerequest.pl: Use of uninitialized value $checkitem in string ne at /home/koha/src/reserve/placerequest.pl line 75.
placerequest.pl: Use of uninitialized value $checkitem in string ne at /home/koha/src/reserve/placerequest.pl line 101.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed a tab.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 14051: Tiny adjustment of ReturnPathDefault pref description
Adding that Return-Path is bounce address. Note that if it is empty, the From address is used. This could be the admin address, but Koha uses other from addresses too.
Test plan:
Read the description on the preferences page.
Check some Koha mails with/without this pref. Note that this patch does not
change behavior in any way.
Signed-off-by: Marc Veron <veron@veron.ch> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marc Véron [Wed, 22 Apr 2015 20:09:48 +0000 (22:09 +0200)]
Bug 13834: News: Wording not consistent for Publication date / Creation date
This patch replaces column header "Creation date" with "Publication date" in staff client > Home > Tools > News
(same as the field label in editing form for news).
To test apply patch and verify that column header displays as appropriate.
Signed-off-by: vagrant <eskaaren@yahoo.no> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Wed, 15 Apr 2015 10:19:42 +0000 (12:19 +0200)]
Bug 10174: Add a tooltip to explain what is a digest
The digest term seems to be ambiguous for some people.
This patch adds a tooltip to explain what it is (feel free to provide
a better wording).
Test plan:
Go at the OPAC and click on the "Your messaging tab", you should see an
icon close to "Digest only" to explain what is a digest.
Same at the intranet on editing/showing patron info
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Kyle M Hall [Thu, 2 Oct 2014 14:11:32 +0000 (10:11 -0400)]
Bug 13023: Nonpublic note for items should be mapped to a database column like itemnotes
An item's public notes are mapped to a db column, but the librarian only
notes are not. We need to map these so in the future we may display them
in places other than the editor.
Test Plan:
1) Create an item with a non-public note
2) Apply this patch
3) Run updatedatabase
4) Update your frameworks to map your nonpublic item note to items.itemnotes_nonpublic
5) Run misc/batchRebuildItemsTables.pl
6) Inspect the database, note that your non-public note is now in
items.itemnotes_nonpublic
Signed-off-by: Paola Rossi <paola.rossi@cineca.it> Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Options:
-h --help (or without arguments) shows this help message
-c Confirm: rebuild non marc DB (may be long)
-t test only, change nothing in DB
--where add where condition on default query
(eg. -where 'biblio.biblionumber<100')
(copied test plan)
to test it :
create a test item (eg on biblionumber 3) with a non mapped subfield with a test value.
check real items DB row ( SELECT * from items where biblionumber=3 ) => non mapped value is in more_subfields_xml
map the non mapped subfield with unused items column
re-check in Db that nothing changes
run ./batchRebuildItemsTables.pl -c --where 'biblio.biblionumber=3'
check real items DB row ( SELECT * from items where biblionumber=3 ) => new mapped value is not in more_subfields_xml anymore but in the mapped column
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described, no koha-qa errors.
Add a new item to record, save with value in unmapped subfield ('x')
Change mapping, run script, value on newly mapped column
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Wed, 22 Apr 2015 07:55:55 +0000 (09:55 +0200)]
Bug 13482: Sent biblionumber to the template
The biblionumber is sent to the template as 'itembiblionumber' at 1 place, the template get the 'biblionumber' variable.
I don't understand why but the easy way is to sent the variable twice.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Thu, 16 Apr 2015 12:10:30 +0000 (14:10 +0200)]
Bug 13482: Prevent race condition on printing a ReserveSlip
The problem has been well described by Kyle and Nicole on bug 7255
description and comment 1.
With this counter patch, I suggest to popup AFTER the return has been
confirmed. This will remove the race condition and avoid to pass
itemnumber to the pl file as in the patch submitted by Olli.
Only the borrowernumber and biblionumber are needed (transfer and op are
never used by circ/hold-transfer-slip.pl).
Test plan:
It is very hard to know all cases (at least 6) where the popup is
displayed. Try at least to get the hold and the transfer confirmation
messages.
You should get the popup if you click on "print slip" button.
Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marc Véron [Sun, 19 Apr 2015 05:37:37 +0000 (07:37 +0200)]
Bug 14008: Proposed follow-up: Dialog should appear whenever filters are active
The first patch displays the value(s) of an active filter if you come back to the page or reload the page via a menu action.
To make the situation more clear the dialog "No saved reports match your criteria." shoudl always appear when a filter is active.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Fri, 17 Apr 2015 13:24:36 +0000 (15:24 +0200)]
Bug 14008: Display active filters when searching for reports
On the saved report list, the filters on the left are not displayed.
It means that some can be set, but the user has not visible feedbacks.
How filters work here:
If a user set a filter, it is saved in the session. Next time he will
come on this search, the previous values will be kept.
This patch just displayed the filter's values in the input fields.
Test plan:
Search for reports by date, author and keyword.
The filters should be displayed after you have clicked on the submit
button ("Apply filter").
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Thu, 16 Apr 2015 15:23:37 +0000 (17:23 +0200)]
Bug 10706: Search reports by id
This patch adds the ability to search reports by their id.
Test plan:
1/ Go on the saved report list (reports/guided_reports.pl?phase=Use saved)
2/ Search for a report id (refer to the ID column in the table)
3/ The result should be consistent
That the filters are not kept, already existed.
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Mon, 20 Apr 2015 14:59:05 +0000 (16:59 +0200)]
Bug 14022: Does not reset the subscription length on editing a subscription
The subscription length is always set to the first/default value
('issues') when editing a subscription.
Even if you selected another value on creating/editing it, the form will
show you the first option.
Test plan:
1/ Add/Edit a subscription, select a subscription length different of
the first value (issues)
2/ Edit the subscription and confirm the value is kept
Bonus: issues, week and months become translatable.
Works as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Mon, 20 Apr 2015 08:41:19 +0000 (10:41 +0200)]
Bug 14016: Restore correct date format on issue date (00:00 vs 23:59)
Introduced by bug 13601, and same fix used in bug 10423 and bug 12847:
the date_due retrieved from the DB is modified.
There are some problems:
1/ There is confusion between the iso and sql formats in the codebase.
2/ Since bug 13601, dt_from_string does not manage the iso format (there
are occurrences of 'iso' but it assumes that both formats are
identical).
To solve the issue, 2 solutions:
1/ Same as bug 10423 and bug 12847: try to get rid of the change done on
date_due in C4::Members::GetPendingIssues, it should be kept as the sql
value.
2/ Too many errors found and another fallback should be added to
dt_from_string (if 'iso' is passed, try sql then iso).
Test plan:
Go on the checkout list at the OPAC and confirm that the due dates are
correctly formatted.
Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected. Signed-off-by: Marc Veron <veron@veron.ch> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Tue, 9 Dec 2014 10:27:46 +0000 (11:27 +0100)]
Bug 13419: Add tests
Test plan:
prove t/db_dependent/Utils/Datatables_Virtualshelves.t
should return green
Tested together with follow-up, works as expected Signed-off-by: Marc Veron <veron@veron.ch> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Mon, 8 Dec 2014 13:01:54 +0000 (14:01 +0100)]
Bug 13419: Add filters on the list table
Tested together with patch #1, works as expected Signed-off-by: Marc Veron <veron@veron.ch> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Fri, 5 Dec 2014 16:30:02 +0000 (17:30 +0100)]
Bug 13419: Add server-side processing for lists
This patch adds DataTables using a server-side processing to display
lists (virtual shelves).
Test plan:
1/ Go on virtualshelves/shelves.p
2/ Play with the table functions (sort, filter, pagination, etc.)
3/ Go with the Public lists tab and verify the table is correctly
filtered.
Tested together with patch #2, works as expected. Signed-off-by: Marc Veron <veron@veron.ch> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 13987: Fix server name in z39.50 authority search results
When doing an Auth search through z3950, the resulting table has the first column (servers name) always empty.
TEST
1) once logged into the intranet, go to Authorities.
2) Click New from z39.50, fill appropriatly for a successful search.
3) Acknowledge first column is empty. Always.
4) Apply the (very simple) patch.
5) Do another search, validate column is not empty anymore.
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Tue, 31 Mar 2015 14:07:43 +0000 (16:07 +0200)]
Bug 8276: circ history - checked out items are later
If the sort is done on "checkin on", the items currently checked out
should be list after all others.
Test plan:
1/ Go on the checkout history page for a record with checked out items
2/ Sort on the "checkin on" column and confirm that the checked out
items are sorted after/before others depending on the sort order
(asc/desc).
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Kyle M Hall [Tue, 10 Mar 2015 17:38:50 +0000 (10:38 -0700)]
Bug 13817 - Edit links on course items may point to the wrong course!
If items are assigned to multiple courses, the "edit" links for a course
item may pass the wrong course id. This is really a cosmetic issue.
It appears that in Template Toolkit, if you reuse an existing variable
name in a foreach loop, it will not create a new temporary variable but
will instead re-use the existing variable leaving assigned at the end to
the last assignment, just as it would in Perl code.
This is not a problem when all items are assigned to one and only one
course, but can cause issues when we loop through the other courses an
item may be on.
This is solved easily by renaming the variable used in the foreach loop
to another unused name.
Test Plan:
1) Apply this patch
2) Try the edit and delete links for an item on reserve for a course
3) No changes in behavior should be noted
Signed-off-by: Tom Misilo <misilot@fit.edu> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marc Véron [Sun, 19 Apr 2015 16:40:09 +0000 (18:40 +0200)]
Bug 14013 - Use name of a saved report as part of the file name for download
This patch propoeses the name of a saved report as part of the download file name.
To test:
- Apply patch
- Got to Home > Reports > Guided reports wizard > Saved reports (or create a new report from sql)
- Run a saved report
- Download the report (as csv, tab, ods)
Result: The downlaod file name proposed should be prepended by the report name, separated with a -
- Bonus test: Try to downlaod saved reports which have special character in their name.
NOTE: Used "ñ/â is N/A" as a report name. The /'s were translated
to underscored, but the letters were as expected.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Wed, 22 Apr 2015 14:05:41 +0000 (16:05 +0200)]
Bug 14046: Make the CheckIfIssuedToPatron using the biblionumber
C4::Circ::CheckIfIssuedToPatron called
$items = GetItemsByBiblioitemnumber($biblionumber);
But if biblionumber != biblioitemnumber, the items retrieved were not
the good ones!
Test plan:
Make your Auto increment values for biblio and biblioitems differs
Launch the tests:
prove t/db_dependent/Circulation/CheckIfIssuedToPatron.t
Before this patch, they did not pass.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
- Works as described. ISBN appears on ISSUESLIP & ISSUEQSLIP.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
- Not all fields for biblioitems are available, but neither
are they all available for other tables. Noted in POD.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 13156 Display borrower's cardnumber who did a suggestion in suggestion.pl
To avoid homonyms, it would be nice if the card number is displayed in the user
suggestion.pl. Currently, consult the record of the user to know exactly who
made the suggestion.
TEST PLAN: Apply the patch. Go on suggestion.pl. Check that nothing has
changed, except that cardnumbers are displayed in 'Suggested by' column.
Resolved an easy conflict while applying. Followed test plan. Works as expected. Signed-off-by: Marc Veron <veron@veron.ch> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
ByWater Staff [Mon, 26 Jan 2015 16:16:42 +0000 (10:16 -0600)]
Bug 13623: Enhance html for holds queue viewer
It would be very helpful from a css/scripting point of view if the
author field in the holds queue report had a selectable class. In
edition, it would be great if the biblionumber were easy to grab from a
hidden div.
Test Plan:
1) Apply this patch
2) Load the holds queue report ( view_holdsqueue.pl )
3) Inspect an author name with your web browser ( or view the html )
a) Note the hq-author class of the wrapping div
b) Note the hidden hq-biblionumber div
HTML appears as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Kyle M Hall [Wed, 29 Oct 2014 11:49:38 +0000 (07:49 -0400)]
Bug 13159 - Enhancements to the SIP2 command line emulator
I needed to be able to perform checkout operations for testing from the
command line. I ended up reengineering the SIP2 command line tester
quite a bit.
Enhancements:
* Moved message generation code to subroutines
* Added support for more messages
* Added command line switches for each supported message
* Enabled use of Sip::Constants to keep code DRY and more understandable
* Moved script from misc to C4/SIP
* Designed with an eye towards possibly moving some code to CPAN in the future
* Also designed to make adding new messages much easier in the future
Test Plan:
1) Apply this patch
2) Look at help via ./C4/SIP/sip_cli_emulator.pl --help
3) Test patron status request and patron information, should work as before
except you need to pass the command line switche -m <message_name>
4) Test the new checkout option using -m checkout -i <item barcode>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Worked as advertised, with one warning at renew only:
Trying 'renew'
Use of uninitialized value $value in concatenation (.) or string at ./sip_cli_emulator.pl line 462, <GEN0> chunk 1.
Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Wed, 2 Oct 2013 12:16:09 +0000 (14:16 +0200)]
Bug 10985: [UNIMARC] Fix authority summary
The problem is the template in authority type summary is not respected
at all. It is only read to see which fields and subfields should appear
in the summary.
This patch fixes that.
It also fixes a bug in auth_finder.pl plugin when summary contains
fields other than 2XX.
Test plan:
0/ You must use a UNIMARC setup for those tests
1/ edit an authority type summary with:
NP : [200a][, 200b][ 200d][-- 152b --][ ; 200c][ (200f)] [001*] [ppn: 009*]
2/ create a new authority with previous fields (it is possible some
fields don't exist).
3/ search this authority and verify the summary is someting like:
NP : Name, D.-- NP -- 23849 ppn: my_ppn
4/ Verify some summary for existing authorities and check they are
correct.
5/ Edit a biblio record and use the plugin auth_finder.pl (for example
in a 7XX field)
6/ Do a search and verify the summary is correct
7/ Click on 'choose' or one of the numbered links ('1', '2', ... ; you
should have multiple 2XX fields for the numbered links to show up)
8/ Verify that the biblio field is correctly filled.
/!\ For the ppn, it should be defined in the zebra indexes.
In MARC21 and NORMARC setups, this patch should change nothing, please
verify that too (you can check that the auth_finder.pl plugin is still
working and the auth type summary is correctly displayed in authorities
search and auth_finder.pl plugin).
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
It works as described, both in authority search result page, and in authority
data entry plugin.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Kyle M Hall [Fri, 20 Mar 2015 13:48:05 +0000 (09:48 -0400)]
Bug 13880 - Allow svc/report to be passed sql parameters
The same feature added to the opac svc/report in bug 9915 should be
added to the staff side.
Test Plan:
1) Apply this patch
2) Create this report:
SELECT * FROM biblio WHERE biblionumber = <<biblionumber>>
3) Note the id of the report
4) Go to the Staff URL
/cgi-bin/koha/svc/report?id=YOUR_REPORT_ID&sql_params=SOME_VALID_BIBLIONUMBER
5) Note you recieve a json response
NOTE: without applying the patch you get an empty JSON response.
ALSO: running koha qa tools does not verify the changes.
$ perlcritic -4 svc/report
(my perlcritic rc points to the koha qa tool one)
No issues.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Tue, 14 Apr 2015 11:45:14 +0000 (13:45 +0200)]
Bug 10131: Add a fallback if the pref search is not a valid regex
It's possible to search prefs using a regex.
But it the regex is not correctly written, the app explodes.
We should provide a fallback.
Test plan:
0/ Does not apply the patch
1/ Search for sysprefs with "notes.*", note the number of results
2/ Search for *notes*, boom
3/ Apply the patch
4/ Repeat 1 and confirm you get the same number of results
5/ Repeat 2 and confirm you don't get the error anymore
NOTE: As noted on comment #4, the kaboom is because of the
leading * and not the following *, because 's*' is a valid
regular expression, while '*n' is not.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Winona Salesky [Mon, 9 Mar 2015 15:20:58 +0000 (11:20 -0400)]
Bug 13381 - RDA: 245 field changes in XSLT
This patch updates the display of the title and statement of responsibility in the
XSLT display in the staff and OPAC.
Display includes subfields a,b,c,h,k,n,p,s
Subfield c is wrapped in a span class=title_resp_stmt for easy suppression via css.
Subfield h is wrapped in a span class=title_medium for easy suppression via css.
To test:
* Search the opac
* Click the title
* Make sure the fields display properly
* Repeat for a few more titles
* Repeat in the Staff Client
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Winona Salesky [Mon, 9 Mar 2015 15:58:37 +0000 (11:58 -0400)]
Bug 13385: Add field 508 to XSLT (OPAC and staff)
This patch adds field 508 to the XSLT display in the staff and OPAC view.
Display includes subfield a.
To test:
* Search the opac
* Click the title
* Make sure the fields display properly
* Repeat for a few more titles
* Repeat in the Staff Client
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Adjusted commit message. Only subfield a is relevant here.
Winona Salesky [Tue, 10 Mar 2015 18:55:09 +0000 (14:55 -0400)]
Bug 13386 - Added separator to full and brief display.
This patch adds a separator | to the full and brief displays in the staff and OPAC views.
Separator wrapped with span clas=separator |
To test:
* Search the opac
* Click the title
* Make sure the fields display properly
* Repeat for a few more titles
* Repeat in the Staff Client
http://bugs.koha-community.org/show_bug.cgi?id=13386 Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Test Plan:
1) Apply this patch
2) Ensure you are using the default XSLT setting for the staff and opac record details
3) Find or create a record with MARC tags 655
4) Perform an opac search and select records with 655 field that would show the record in the search results
5) Note this patch adds field 655 to display. Displays subfields a,v,x,y,z. uses a vertical bar to separate multiple titles. Vertical bar is wrapped in span class="separator" for easy suppression/customization of separator.
6) Repeat steps 4 and 5 for the staff interface
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Winona Salesky [Mon, 16 Mar 2015 01:15:48 +0000 (21:15 -0400)]
Bug 13433 - Added 655 display to OPAC and staff full views.
This patch field 655 to the full displays in the staff and OPAC views. Multiple 655 fields are separated with a span class=separator | .
To test:
* Search the opac for records with genre/field 655
* Click the title
* Make sure the fields display properly
* Repeat for a few more titles
* Repeat in the Staff Client
http://bugs.koha-community.org/show_bug.cgi?id=13433 Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Winona Salesky [Wed, 11 Mar 2015 03:01:38 +0000 (23:01 -0400)]
Bug 13434 - Updated display for 586 in XSLT
http://bugs.koha-community.org/show_bug.cgi?id=13434 Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Fri, 17 Apr 2015 07:50:49 +0000 (09:50 +0200)]
Bug 13876: Add the from => to versions in the filenames
Additionally to the datetime, it could be useful to have the version
numbers in the log filenames.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch removes the test on write permissions of the logdir.
It uses File::Temp to generate a file in the logdir or otherwise in
a system tmp dir.
This resolves issues with both write permissions as well as SELinux
denials.
Note that after generating an empty file, we are appending to it in
the system statement.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended: only use File::Temp in the fallback case. Do not add the four
character suffix in the first attempt.
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Thu, 19 Mar 2015 15:54:02 +0000 (16:54 +0100)]
Bug 13876: Fallback to /tmp if logdir is not writable
If the logdir directory is not writable by the koha user, the installer
should not explode.
This patch uses a temporary directory as a fallback.
That means that the history won't be kept.
Test plan:
0/ Generate an update (modify updatedatabase.pl and kohaversion)
1/ Make sure the permission are not correct on $logdir
2/ Go on the interface and execute the update entry.
3/ Confirm that the log has been created in a temporaty directory.
Retry with correct permissions and confirm the log will be created in
$logdir.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Adding a follow-up for completely resolving encountered issues.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Wed, 15 Apr 2015 11:47:29 +0000 (13:47 +0200)]
Bug 13998: Reintroduce use of Koha::Database for C4::Ratings
It has been removed by bug 13852, because before bug 13852,
Koha::Database was used in C4:Members which was used by
C4::VirtualShelves which was used by C4::Auth which was finally used by
C4::Ratings...
Test plan:
At the opac, record detail page, note the record using the stars.
Without this patch it does not work.
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
http://bugs.koha-community.org/show_bug.cgi?id=12998 Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marc Véron [Thu, 26 Mar 2015 14:04:07 +0000 (15:04 +0100)]
Bug 13917: OPAC: Putting holds still possible by URL even if turned off by system preference
To test:
1)
Prepare an URL that put's a hold in OPAC (see comment #1), e.g.
[YOUR SERVER]/cgi-bin/koha/opac-reserve.pl?biblionumbers=1
2)
Set system preference 'RequestOnOpac' to 'Don't allow patrons to place holds on items from the OPAC.'
3)
Go diectly to this URL.
Result: The page displays to confirm hold (wrong)
4)
Apply patch
5)
Repeat step 3
Result: Redirect to 404 page (OK)
6)
Set system preference to "Allow"
7)
Repeat step 3
Result: The page displays to confirm hold (OK), like it would be from link in OPAC.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 12604: refactoring Category.t with TestBuilder
The tests have been refactored with the module TestBuilder.
Test plan:
1/ Apply the patch 12603
2/ The command : prove t/db_dependent/Category.t has to be a success without error or warning :
t/db_dependent/Category.t .. ok
All tests successful.
Files=1, Tests=3, 1 wallclock secs ( 0.03 usr 0.01 sys + 1.05 cusr 0.05 csys = 1.14 CPU)
Result: PASS
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Kyle M Hall [Fri, 25 Jul 2014 12:38:45 +0000 (08:38 -0400)]
Bug 12603: (QA Followup)
* Fix syntax error
* Remove Schema files for nonexistant tables
* Fix circular dependency
* Makes unpushed followup for bug 11518 unnessary
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch contains a new module t::lib::TestBuilder which allows to write tests easier and it contains the unit tests of this module.
For more information, see the documentation of the module.
This module uses the DBIx::Class schema and works with a clean DBIx::Class schema. In order to use it, you have to remove the current circular dependence (existing in the DBIx::Class) by applying the last patch of the bug 11518.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
NOTE : I use HTML codes for special characters to avoir encoding issues in patch file.
In ICU configuration, add a transliterate rule for
œ = oe
æ = ae
Test plan :
- Without patch
- Create a record R1 with title containing for example "cœur"
- Create a record R2 with title containing for example "coeur"
- Index those records
- Search for "cœur"
=> You only find R1
- Search for "coeur"
=> You only find R2
- Apply patch
- Restart zebra
- Index R1 and R2
- Search for "cœur"
=> You find R1 and R2
- Search for "coeur"
=> You find R1 and R2
(Same test plan for ae)
------
Tested with all variants of Ae ae Oe oe. Search worked as expected.
Note: The words with special characters were not highlighted, but I think this can be done in an other bug. Signed-off-by: Marc Veron <veron@veron.ch> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marc Véron [Sun, 19 Apr 2015 19:04:21 +0000 (21:04 +0200)]
Bug 14014 - Argument "" isn't numeric in numeric gt (>) in circulation.tt
To test:
Do some checkouts
In intranet-error.log you get lines similar to:
circulation.pl: Argument "" isn't numeric in numeric gt (>) at /usr/share/kohaclone/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt line 217.
Apply patch
The warning should no longer appear.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
To reproduce the confirmation message must be displayed.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 13322: Update MARC21 frameworks to Update No. 19
Summary of changes:
1) Bibliographic
- Added fields 370 and 388
- 382s is non repeatable
- $g added to 650 and 651
- $g now repeatable on 100,110,111,130,240,243,246,247,
600,610,611,630,700,710,711,730,800,810,811 and 830
2) Authority
- Added field 388
- New $g on 150,151,450,451,550,551,750 and 751
- New $i on 700,710,711,730,748,750,751,755,762,780,781,782 and 785
- New $4 on 700,710,711,730,748,750,751,755,762,780,781,782,785 and 788
- $g now repeatable on 100,110,111,130,400,410,411,430,500,
510,511,530,700,710,711 and 730
This patch updates MARC21 frameworks to Update No. 19 (October 2014)
Also updates values on database for MARC21 installs.
To test
1. Apply the patch
2. Run updatedatbase.pl, check that runs without error
3. Remove default frameworks, bibliographic and authorities (all of them),
load again. Check that both files load without errors.
4. Verify changes
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Wed, 8 Apr 2015 15:09:04 +0000 (17:09 +0200)]
Bug 9978: Replace license header with the correct license (GPLv3+)
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
http://bugs.koha-community.org/show_bug.cgi?id=9987
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Tue, 14 Apr 2015 13:43:44 +0000 (15:43 +0200)]
Bug 10285: Remove links from the error pages
The error page (400, 401, 402, 403, 404, 405 and 500) displays parts the old
staff client main page.
The user can easily browses using navigation links.
Test plan:
Go on the 400.pl, 401.pl, 402.pl, 403.pl, 404.pl, 405.pl and 500.pl
pages, and confirm all is fine and you don't get the old style blocks.
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
http://bugs.koha-community.org/show_bug.cgi?id=10258 Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Thu, 16 Apr 2015 11:01:03 +0000 (13:01 +0200)]
Bug 12847: Items issued today is considered as overdue
The date comparisons in C4::Members::IssueSlip does not work as
expected.
Is an item is issue yesterday and due today (23:59), it should not be
considered as an overdue yet.
Test plan:
Define a valid issue slip (code ISSUESLIP)
Check 2 items out and update the issuedate value for one of them as
yesterday (using the mariadb/mysql cli or similar)
Print the slip
Before this patch the item marked as issued yesterday is considered as
overdue.
Special cases:
- hourly loans
- Quick slip is impacted too
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Jonathan Druart [Thu, 9 Apr 2015 14:05:59 +0000 (16:05 +0200)]
Bug 13975: Remove compilation warning about encoding pragma deprecation
Test plan:
0/ Does not apply the patch
1/ Launch the export_borrowers.pl script to export data with unicode characters
% perl misc/export_borrowers.pl -w "borrowernumber=42" --field borrowernumber --field surname --field firstname
Use of the encoding pragma is deprecated at misc/export_borrowers.pl
7874,JOUBU,صةصةصة
2/ Apply this patch
3/ Repeat 1
% perl misc/export_borrowers.pl -w "borrowernumber=42" --field borrowernumber --field surname --field firstname
7874,JOUBU,صةصةصة
Note that the deprecated message is gone and the encoding is correct.
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
I confirm the warning (on Perl version above 5.14). And that the patch fix
the warning.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Robin Sheat [Tue, 14 Apr 2015 02:21:40 +0000 (14:21 +1200)]
Bug 13979: updates to allow installation on jessie
This patch makes the build script keep the shipped YUI JavaScript library
instead of explicitly deleting it and using the one the operating system
provides.
Development is done against the YUI library we ship, so this makes sense
even if Debian still shipped it.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10480: (QA followup) hide the EXAMPLE.pl plugin
The EXAMPLE.pl plugin remains on the source tree for documentation
purposes only, and shouldn't be listed when editing both biblio and
authority cataloguing frameworks.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marcel de Rooy [Thu, 11 Dec 2014 11:06:53 +0000 (12:06 +0100)]
Bug 10480: Follow-up for unimarc_field_686a/_700-4.pl
This patch fixes the pod errors on those two files by removing the pod
section that actually does not add anything useful.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marcel de Rooy [Thu, 11 Dec 2014 10:35:57 +0000 (11:35 +0100)]
Bug 10480: Remove useless routines and irrelevant pod lines
This patch makes the following cleanup actions for all plugins:
1- Remove sub plugin_parameters. This function is not used.
2- Remove empty plugin or empty plugin_javascript subs.
3- Remove empty Blur, Clic or Focus routines from javascript.
4- Remove pod lines (copy-pasta) only referring to the 3 plugin subs.
5- Remove the last 1; line. It is no longer needed.
Test plan:
Run the unit test t/db_dependent/FrameworkPlugins.t
Test some cataloguing plugins in addbiblio.
Test some item plugins in additem and neworderempty.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
I also checked the syntax of all plugins with perl -c.
And checked the pod (if any) with podchecker: Two files still produce a
warning; the follow-up deals with them: unimarc_field_686a/_700-4.pl.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marcel de Rooy [Fri, 24 Oct 2014 09:43:34 +0000 (11:43 +0200)]
Bug 10480: EXAMPLE plugin with associated template
The EXAMPLE plugin helps you to create a new style framework plugin by
providing a simple working example and additional documentation for
developers.
Test plan:
[1] Connect the EXAMPLE plugin to one or more fields.
[2] Try the following events:
a- Focus: If the field is empty, it should put EXAMPLE: into it.
b- MouseOver: If the field is empty and you move your mouse over it,
it should have the same effect as Focus.
c- Change: Edit the field in the editor and tab out of it, the color
of the text should toggle (randomly) between red, green and blue.
d- KeyPress: If you edit the field and you type @, it should give AT.
e- Click: Click on the tag editor. Change the value in the popup.
If you press OK, the field should be changed.
[3] Would the documentation in the perl script help you to create a plugin?
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marcel de Rooy [Mon, 20 Oct 2014 10:36:36 +0000 (12:36 +0200)]
Bug 10480: Use the framework plugin object in cataloguing
This patch implements the use of Koha::FrameworkPlugin in Cataloguing,
Authorities, Acquisition, Serials and Tools.
The main change is architectural: see the commit message of the previous
patch. No changes in behavior are expected, but the support of new events
may provide additional functionality in the future. Some small bugs are
resolved along the way.
The change primarily focuses on the MARC and items editor in Cataloguing.
But the MARC editor for Authorities and the item editor in Acquisition,
Serials and Tools are touched too. This commit message gives some comments
per module.
NOTE FOR CATALOGUING:
A new plugin without popup (or other click event code) now shows the title
No popup when hovering over the tag editor image. The image alerts the
user on a plugin, the title tells about its status. The noclick property
allows for further style modifications in the template. Note that a
follow-up patch will clean up the old style plugins too with the same
effect.
Some additional code in cataloging.js makes it possible to clone subfields
with plugins (although only theoretically useful). The clones use the
same javascript functions but event.data contains an updated id.
This effectively resolves bug 13306. Note that if old plugins do not use
the javascript parameter for the id but the perl variable, cloning does
still operate on the wrong field (with and without this patch set).
In the absence of report 12176 in master, it is not yet necessary to modify
additem.tt. When it gets pushed, it should be an easy rebase.
New style item plugins will no longer need an extra parameter. (The code in
the FrameworkPlugin object actually takes care of that.)
NOTE FOR AUTHORITIES:
This patch also adds class name tag_editor to the buttonDot anchors. This
effectively makes the same tag editor image appear as in Cataloguing.
Futhermore it removes the button from the tab sequence if there is no click
event (really effective after conversion to the new style, since the old
style plugins contain empty onclicks and launchers).
Both small adjustments increase consistency between auth and bib edits.
NOTE FOR ACQUISITION:
In Acquisition two scripts use an item editor, but in a different way.
The scripts addorderiso2709 and neworderempty both rely on the routine
PrepareItemrecordDisplay in C4::Items, but neworderempty creates item
blocks dynamically via an ajax call to services/itemrecorddisplay.pl.
In order to make the dynamic item blocks work with plugins, some code
changes were needed in additem.js. (Normally the event binding is done
at document ready time; now it must be done later.)
At this moment the routine in Items.pm contains the html tags, and this
makes changes to the following templates not necessary for now:
* acqui/addorderiso2709.tt
* services/itemrecorddisplay.tt
Report 13397 has been opened to address moving the html to the templates.
NOTE FOR SERIALS:
Script serial-edit relies also on C4::Items (just as in Acquisition).
This makes changes to serials/serials-edit.tt not necessary for now.
NOTE FOR TOOLS:
The current code in tools/batchMod.pl allows the use of plugins for batch
modification of items. This patch just converts that code to use the new
object. Most item plugins however may not be very useful for operating on
multiple items at once.
PERFORMANCE:
I have benchmarked build_tabs in addbiblio to see how especially the
additional processing of the javascript in the FrameworkPlugin object
would impact performance. Testing default MARC21 framework with 8 plugins
gave the following figures:
- Old situation: 851 ms
- New situation: 942 ms (+10,7%)
- New situation after plugin cleanup: 881 ms (+3,4%)
Note also that adding lines for event binding is compensated by removing
lines for unused events. Page load should essentially be the same.
TEST PLAN:
Suggestion: If you also apply the next patch with the EXAMPLE plugin, you
can test with a rather harmless plugin (with popup) on various places :)
But your test should also include old style plugins, with[out] popups.
If you want to test a new plugin without popup, rename/remove Click$id
in the javascript code of the $builder definition (temporarily).
[1] Test Cataloguing:
- Add/Edit biblio. Try plugins with and without popup.
- Add/Edit items. (EXAMPLE can be used as an item plugin with popup.)
- Clone a subfield with plugin (use EXAMPLE): Verify that the plugin
works on both original and clone with the respective field values.
Is the value put back in the right field too?
[2] Test Authorities:
Edit an authority record. Try plugins with an without popup.
[3] Test Acquisition:
Set system preference AcqCreateItem to "placing an order".
Check the item editor in the following two places:
a- addorderiso2709: Open a basket, add an order from a staged file.
Select a file, click Add orders, and go to tab Item information.
b- neworderempty: Open a basket, add an order from a new empty record.
[4] Test Serials:
Check the item editor on serials-edit. Go to subscription detail.
Click Receive. Choose "Click to add item". (Note that this subscription
should create an item record when receiving this serial.)
[5] Test Tools:
Check the item editor for batch item modification. Enter a few valid
barcodes and press Continue to reach the item editor.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Marcel de Rooy [Mon, 20 Oct 2014 10:36:36 +0000 (12:36 +0200)]
Bug 10480: New module and unit test for framework plugins
This patch introduces the Koha::FrameworkPlugin object to Koha.
This object supports the current "old-style" plugins while adding a new
style based on the concept of two anynomous subroutines for building and
launching.
I will summarize the advantages of this new approach, justifying the
additional lines of code in this patch:
[1] Centralizing the code for building and launching plugins.
[2] Extensive unit testing: this was not possible before.
[3] Simplicity: Only define what you need in the plugin.
A follow-up patch will delete 1500 lines with *empty* routines.
[4] Make it possible to restore the warnings pragma for all plugins.
New style plugins do no longer depend on redefinition.
[5] Event binding moved from HTML attributes moved to jQuery code.
This separates behavior and presentation.
[6] Much more documentation, including EXAMPLE plugin in follow-up.
[7] Improved error handling.
[8] Usability: property noclick tells you if plugin's buttonDot is active.
[9] More events supported: Change, keyboard/mouse events. See EXAMPLE.
NOTE ON EXAMPLE PLUGIN:
The example plugin is added in the third patch of this report. Since
it is new style, it can be used only after we start using this object. It
also contains an example for a keypress and mouseover event.
NOTE ON ITEM PLUGINS:
Old style plugins for items contain an additional parameter in the js
functions for Blur, Focus and Change. This distinction has no actual use
and is resolved for new plugins in the object code. When converting
item plugins, this minor correction will be addressed. In the meantime
old style item plugins behave as expected.
TEST PLAN:
Run the new test t/db_dependent/FrameworkPlugin.t
At this point in time, you do not need to do anything more. Follow-up
patches will incorporate the object in real-life Koha and provide
additional test plans.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Chris Cormack [Wed, 15 Apr 2015 09:15:08 +0000 (21:15 +1200)]
Bug 7143 Adding new developers and releases to the history
Signed-off-by: Nick Clemens <nick@quecheelibrary.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Colin Campbell [Tue, 28 Jun 2011 14:24:04 +0000 (15:24 +0100)]
Bug 13803 Flag to self check book has gone into transit
Ensure that the transit flag (in field CV) is set
if return message is 'wasTransfered'
CV is being set for other return conditions but not for
wasTransfered [sic] The presence of this flag is required to
route returns to the correct bin if the SC unit is so
enabled
Signed-off-by: Frederic Demians <f.demians@tamil.fr>
I agree with the solution to an issue I've already encountered and
patched localy that way. It would be nice to have a better doc of
C4::Circulation::AddReturn in order to see immediately that
WasTransfered is a valid feedback for a check-in.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>