Galen Charlton [Tue, 4 Feb 2014 23:03:08 +0000 (23:03 +0000)]
Bug 11666: remove SQL as an option for MARC framework exports and imports
The SQL option for MARC framework imports was subject to a bug whereby
somebody could use it to gain access to arbitrary information in the
database by uploading an SQL file containing unexpected statements.
As it is difficult to securely sanitize SQL, this patch removes the
option to use SQL as an import or export format.
To test:
[1] Verify that SQL no longer appears as an import or export option
for the MARC frameworks.
[2] Verify that exports and imports in CSV, Excel XML, and ODS formats
still work.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as advertised. The UI doesn't offer exporting/importing in the SQL format.
Crafting the URL to export SQL fallbacks to a spreadsheet format (ODS).
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes all tests and QA script.
Galen Charlton [Tue, 4 Feb 2014 15:54:33 +0000 (15:54 +0000)]
Bug 11666: add permission check for MARC framework import/export
This patch makes the MARC framework import/export script require
that the staff user be logged in with appropriate permissions for
managing the MARC frameworks.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I can confirm the bug and the solution. After applying the patch
downloading the file without logging in first is no longer possible.
Also passes tests and QA script.
Galen Charlton [Sat, 1 Feb 2014 02:11:38 +0000 (02:11 +0000)]
Bug 11662: remove disused member-picupload.pl
This script is no longer used, and in addition has problematic
handling of its parameters that could lead to writing to
arbitrary files on the server.
To test:
[1] Verify that member-picupload.pl is no longer referred
to in the codebase after applying this patch.
[2] Verify that there are no regressions in patron
photo management.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Found no regressions in removing this script.
Chris Cormack [Sat, 1 Feb 2014 02:06:58 +0000 (15:06 +1300)]
Bug 11661: sanitize file names supplied to edithelp.pl
This patch corrects an issue whereby edithelp.pl could
be used to create or modify arbitrary files on the server
with the permissions of the Apache user.
Owen Leonard [Fri, 9 Aug 2013 13:50:49 +0000 (09:50 -0400)]
Bug 7478: fix template translation problem in catalogue_out.tt
The items with no checkouts template has a sections that uses DEFAULT to
set some strings: [% DEFAULT loopro.itemcallnumber="No Call Number" %]
This appears to be untranslatable with our current translation tool.
This patch changes the template so that it uses a simple [% IF %] block
to display the default text if no value is set. Added is use of the
Branches template plugin to show library name instead of code.
This patch also fixes an error introduced in my fix for Bug 8124 causing
the page to default to CSV download instead of output to screen.
To test, apply the patch and confirm that the default text appears
onscreen in reports which include results that have a missing barcode,
title, or call number. Results should be displayed on screen correctly.
Run "perl translate update" for any language and confirm that the newly
generated po file includes "No call number," "No barcode," and "NO
TITLE" for catalogue_out.tt
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works nicely, thx Owen!
Fridolyn SOMERS [Tue, 13 Aug 2013 12:55:32 +0000 (14:55 +0200)]
Bug 10718: fix items with no checkouts report
Bug 8124 has commented the option to download results items with no
checkouts report into a file. But the perl code of this page uses
the export into a file has default behavior since the input "output"
is no more present. The consequence is that there are never results
in page.
This patch removes the code concerning file output from template and perl.
Such a feature exists in guided reports.
Test plan :
Play with cgi-bin/koha/reports/catalogue_out.pl form and see if you get results
Bug 10718 - select user branch as default
In cgi-bin/koha/reports/catalogue_out.pl report, select in library filter the user logged-in.
Test plan :
- Log into intranet with a normal user
- Got to "Items with no checkouts" reports
=> Your branch is selected
- Run report
=> You see "Filtered on : Branch = <your branch>"
- Come back to report
- Select "Any library"
- Run report
=> You do not see "Filtered on : Branch"
Bug 10718 - items with no checkouts report permission is execute_reports
This report only executes SQL to change reports/catalogue_out.pl permissions from all reports subpermissions to reports/execute_reports.
Test plan :
Test you can access and run this report with only execute_reports subpermission into reports permission.
Bug 10718 - redefine limit input
In reports/catalogue_out.pl form, the limit input is by defaut none.
So by default the report queries all the catalogue.
This may take a very long time (fall into timeout) and since now the results are displayed in page, the page may be huge.
This patch modifies limit input to removes the "none" option.
Also reduces the number of options (same options as guided reports results per page).
Test plan:
- Go to reports/catalogue_out.pl
=> first value "10" is selected
- Launch report
=> You see "Filtered on: limit = 10"
Bug 10718 - perltidy on reports/catalogue_out.pl
Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Tested all of these things, all ok - squashed patch for neatness.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Fixed a tab in one of the comments.
Improves script, but more work needed.
Bug 10564 - use OPACURLOpenInNewWindow in UNIMARCslim2OPACResults.xsl
When using UNIMARC XSLT for OPAC detail page, if record has an 856$u,
its content is displayed as a link. The syspref OPACURLOpenInNewWindow
adds the option of opening in a new window (attribute target="_blank").
856$u is also used in UNIMARC results XSLT but the use of
OPACURLOpenInNewWindow syspref is missing. It exists for MARC21.
This patch adds the use of OPACURLOpenInNewWindow in UNIMARCslim2OPACResults.xsl.
Test plan :
- In a UNIMARC catalog, enable XSLT for OPAC results page
- Create a record with a link in 856$u and set second indicator to 0
- Set OPACURLOpenInNewWindow syspref on
- At OPAC, perform a search that contains the record
=> You should see the link : "Click here to access online"
- click on it
=> You shoud get to a new window (or tab depending on your browser configuration)
- Set OPACURLOpenInNewWindow syspref off
- re-perform the search
- click on the link
=> You shoud stay in same window
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Work as described, no koha-qa errors
Tested following plan after applying patch
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
XSLT change only, works as described.
To test: Catalog 856$u and $a, 2nd indicator = 0.
Janusz Kaczmarek [Fri, 24 May 2013 11:38:10 +0000 (14:38 +0300)]
Bug 10331 - Little errors in unimarc_field_4XX.pl (punctuation)
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Work as described, no koha-qa errors
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Copying the test plan from the bug report:
A.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 700 $a, $b, $f filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
fetch data from biblio rec. mentioned in 2)
4) see the punctuation in $a -- it will be wrong (no closing bracket)
B.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 700 $a, $b, $c, $f filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
fetch data from biblio rec. mentioned in 2)
4) see the punctuation in $a -- it will be wrong (dash instead of
semicolon between original $c and $f, no closing bracket)
C.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 702 $a, $b, $c filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
fetch data from biblio rec. mentioned in 2)
4) see the punctuation in $a -- it will be wrong (unnecessary semicolon
after original $c, n.b. lacking space).
D.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 712 $a, $b filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
fetch data from biblio rec. mentioned in b)
4) see the punctuation in $a -- it will be wrong (unnecessary opening
bracket at the end).
Test plan, all tests and QA script pass.
Thx Bernardo for his testing and explanations!
Kyle M Hall [Fri, 1 Feb 2013 15:40:50 +0000 (10:40 -0500)]
Bug 9531: Make SIP2 message terminator configurable via SIPconfig.xml
Add a terminator option to SIPConfig.xml, choices for 'terminator' are
'CR' or 'CRLF'. The default continues to be 'CRLF' if 'terminator' is
undefined.
Test Plan:
1) Apply patch
2) Start SIP server
3) Run C4/SIP/t/04patron_status.t
4) Stop SIP server
5) Add terminator="CR" for account login 'term1'
6) Run 04patron_status.t again, you should see no change
Owen Leonard [Mon, 19 Aug 2013 14:55:52 +0000 (10:55 -0400)]
Bug 8670 - Update POD of C4::Branch::GetBranches() to use TT syntax
This patch updates the example template syntax in the POD for
C4::Branch::GetBranches() to use Template Toolkit syntax.
To test, view the POD for C4::Branch::GetBranches() and confirm that it
looks correct.
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Checked the POD with "perldoc C4/Branch.pm" before and after applying
the patch. The example now uses TT syntax, and looks sensible.
Owen Leonard [Mon, 19 Aug 2013 15:16:51 +0000 (11:16 -0400)]
Bug 10763 - [SIGNED-OFF] Update POD of C4::Creators::Lib::html_table() to use TT syntax
This patch updates the example template syntax in the POD for
C4::Creators::Lib::html_table() to use Template Toolkit syntax.
To test, view the POD for C4::Creators::Lib::html_table() and confirm
that it looks correct.
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Checked the POD with "perldoc C4/Creators/Lib.pm" before and after applying
the patch. The example now uses TT syntax, and looks sensible.
Owen Leonard [Mon, 19 Aug 2013 15:37:55 +0000 (11:37 -0400)]
Bug 10764 - Update POD of C4::Items::GetItemStatus() to use TT syntax
This patch updates the example template syntax in the POD for
C4::Items::GetItemStatus() to use Template Toolkit syntax.
To test, view the POD for C4::Items::GetItemStatus() and confirm that it
looks correct.
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
This patch works as advertised (verified with "perldoc C4::Items"),
for GetItemStatus, but it does not fix a a similar example for
GetItemLocation in the same file, which still has the old template
syntax. So a followup or separate bug for that is called for.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
It seems the default option is not in used in templates.
Owen Leonard [Mon, 19 Aug 2013 16:06:31 +0000 (12:06 -0400)]
Bug 10765 - [SIGNED-OFF] Update POD of C4::Koha::GetSupportList() to use TT syntax
This patch updates the example template syntax in the POD for
C4::Koha::GetSupportList() to use Template Toolkit syntax.
To test, view the POD for C4::Koha::GetSupportList() and confirm that
it looks correct.
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
This patch works as advertised (verified with "perldoc C4::Koha"),
for GetSupportList, but it does not fix a a similar example for
GetItemTypes, getauthtypes and getframework in the same file,
which still has the old template syntax. So a followup or separate
bug(s) for those are called for.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
It seems the default option is not in used in templates.
Jonathan Field [Fri, 9 Aug 2013 10:38:31 +0000 (11:38 +0100)]
Bug 10704: make OPAC highlighting work across previous/next travel
To test
Enable 'OpacHighlightedWords'
1) Run a search with multiple results
2) Click on a title of one of the results to get the full record
display. Hit highlighting SHOULD work on this page.
3) Use either the "Next" or "Previous" buttons on this page
(opac-detail) to move to the next or previous record.
4) Moving forward or back, the highlighting should still be working on
the page.
Galen Charlton [Wed, 14 Aug 2013 14:53:25 +0000 (14:53 +0000)]
bug 10728: fix additional log noise generated by subscription-renew.pl
To test:
[1] Use the renew link to bring up the subscription renewal form.
[2] Verify that a warning message containing the text
'Problem = a value of 1 has been passed to param without key'
was not added to the Apache error log.
Colin Campbell [Wed, 14 Aug 2013 14:26:34 +0000 (15:26 +0100)]
Bug 10728: fix log noise generated by subscription-renew.pl
Error log is showing warnings because mode is undefined
and we are doing string comparisons on it.
Set it to a default value (we were already assigning it a variable
which we were not using) and use the the result in the comparison
To test, after applying the patch:
[1] Use the renew link from the subscription detail page to renew
a subscription.
[2] Verifying that doing this did not add a warning containing
'subscription-renew.pl: Use of uninitialized value $mode in string eq '
to the Apache error log.
Bug 10642: fix inappropriate uses of $sth->finish() in C4::RotatingCollections.pm
From the man page
finish()
Indicate that no more data will be fetched from this statement handle
before it is either executed again or destroyed.
You almost certainly do not need to call this method.
Adding calls to "finish" after loop that fetches all rows is a common
mistake, don't do it, it can mask genuine problems like uncaught fetch errors.
To test:
Verify that prove -v t/db_dependent/RotatingCollections.t passes
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, passes UT provided by bug 10653
Marc Veron [Sun, 7 Oct 2012 17:54:44 +0000 (19:54 +0200)]
Bug 8887: only display desired result when doing exact syspref search
This patch fixes an issue where entering the complete name of a system
preference when doing a syspref search in the staff interface resulted
in the display of *all* preferences belonging to the desired one's
module.
Since providing a more specific search string should result in getting
back more specific results, the previous behavior was not intuitive.
Test scenario:
a) In sysprefs, do a search with partial match (e.g. intranetcolor)
-> Result shows one entry: intranetcolorstylesheet
b) Do an exact search. e.g. intranetcolorstylesheet
-> Result shows all Staff Client preferences
Apply patch, test again. Now b) behaves like a).
Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised.
Jonathan Druart [Mon, 17 Jun 2013 12:56:22 +0000 (14:56 +0200)]
Bug 10481: FIX No enrollment fee when changing patron category.
When a patron changes to a category with enrollment fee, they
are not generated.
Test plan:
- Choose a category without fee (e.g. Kid)
- Add an enrollment fee for another category (e.g. Young adult)
- Choose a kid and change his category to "Young adult".
- Note the warning message "Fees & Charges: Patron has Outstanding fees
& charges of XX" on the check out page.
This patch also moves all instances of adding the enrollment fee
to a new routine in C4::Members, AddEnrolmentFeeIfNeeded(), so
additional tests include:
- Register a new patron and give it a category that has
an enrollment fee. Verify that the fee is charged.
- Renew the patron. Verify that the additional fee is charged.
- Register a new patron with a child patron category.
- Use the 'update child to adult' menu option to change the
patron's category to one that is fee-bearing. Verify that the
enrollment fee was charged.
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit f8eb19163bd4e59e99b6dae90a5712b6a7be52f6) Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 98397ed4b10b03fb0b00e9550b571c3cc47407dc) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit 98397ed4b10b03fb0b00e9550b571c3cc47407dc)
This patch changes the MARC21 007 plugin editor so that it uses
1 character instead of 4 characters for position 01.
TEST PLAN:
1) Create new record/edit an existing record
2) Using the tag editor for the 007 field, choose "Videorecording"
3) Click OK
4) Change the second character in the 007 from "c" to "d"
5) Open the tag editor again
6) Note that position 01 will still say "c - Videocartridge" rather
than "d - Videodisc".
7) Exit tag editor
8) Apply patch
9) Reload the page (Shift + Refresh is always useful)
10) Open the tag editor again
11) Note that position 01 will now say "d - Videodisc"
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 73ac970f734b0f04fff5561aa35bb9d9d47aa943) Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Fix worked as expected.
(cherry picked from commit 8a407d8d02463cd15423735dc6030da2c8f5e3a7) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit 8a407d8d02463cd15423735dc6030da2c8f5e3a7)
Fridolyn SOMERS [Mon, 17 Jun 2013 15:01:33 +0000 (17:01 +0200)]
Bug 10483: fix item uniqueness check on order form
When syspref "UniqueItemFields" is defined, the item uniqueness is
tested in acquisition by an AJAX call to check_uniqueness.pl. This
patch fixes an issue where check_uniqueness.pl wasn't looking
at the correct CGI parameters.
Test plan :
- Select an existing item with barcode
- Add "barcode" to "UniqueItemFields" syspref (use space as separator
for multiple values)
- Set "AcqCreateItem" syspref to "Create an item when placing an order"
- Go to an acquisition basket
- Create a new order from empty
- Enter existing barcode in item form and save
=> You get an alert that barcode already exists and order is not saved
- Enter a non-existing barcode in item form and save
=> Order and item are created
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 1c9135262b9233f59fd05e34c90980e7dc8be338) Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit df428a49e5c8b9106771d308bd1c1dea62d64429) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit df428a49e5c8b9106771d308bd1c1dea62d64429)
Kyle M Hall [Fri, 16 Aug 2013 11:21:10 +0000 (07:21 -0400)]
Bug 10664 [QA Followup] - fix error in overdue_notices.pl if there is no active currency
Fixes the following koha-qa.pl error:
FAIL misc/cronjobs/overdue_notices.pl
OK pod
OK forbidden patterns
OK valid
FAIL critic
# Variables::ProhibitConditionalDeclarations:
Sophie Meynieux [Wed, 31 Jul 2013 06:04:25 +0000 (08:04 +0200)]
Bug 10664: fix error in overdue_notices.pl if there is no active currency
If there is no active currency, when running overdue_notices.pl
you get a sofware error "Can't use an undefined value as a HASH
reference" on GetCurrency() function call.
With this patch, if there is no active currency, fines are formated
by default 0.00 and notices are correctly generated.
Test plan :
- have at least one borrower with overdue that should trigger a notice
- verify that there is no active currency (Adminitration > Currency &
Exchange rates)
- run misc/cronjobs/overdue_notices.pl -v -n (to get the notice directly
on output)
=> without the patch you get the software error
=> with the patch, notices are correctly generated
If an active currency is defined, the script overdue_notices.pl runs
the same with or without patch
Fridolyn SOMERS [Tue, 28 May 2013 13:43:05 +0000 (15:43 +0200)]
Bug 10362: ensure that all messages and alerts are shown upon checkin
If an item is returned and has mutiple error or warnings (e.g.,
it both needs to be transferred and the patron was debarred
in the course of the return), because of a bug in the template,
not all of the messages would be displayed.
This patch changes the template to show both messages and alerts.
Test plan :
- Perform an checkout that will a checkin :
* need a transfert (return in a different branch)
* set user debarred (depends on issuing rules)
- Perform check-in
=> You get tranfert message and debarment alert
Colin Campbell [Mon, 12 Aug 2013 15:15:37 +0000 (16:15 +0100)]
Bug 10712: Save missing config variables to install log
The variables for AUTH_INDEX_MODE and ZEBRA_TOKENIZER were not
being saved to the koha_install_log file. As a result when using the
--prev-install-log option in Makefile.PL the user was still prompted
to select them.
This patch adds the appropriate variables to the list saved in
the install log.
To test:
On a (non-package) system installed/upgraded without the patch running
'perl Makefile.PL --prev-install-log /path/to/koha-install-log' will
still prompt you to choose authorities indexing mode and select
between chr and icu, after upgrading with this patch applied the same
command should get the responses from the install log and not require
user intervention.
The values can be seen written into misc/koha-install-log
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 40e6f6a8f22b8af7adef79a0ece80a61a69ccc50) Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 521d260a5931119c688fd872c30041ffe1c5c692) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit 521d260a5931119c688fd872c30041ffe1c5c692)
Bug 10643: fix inappropriate uses of $sth->finish() in C4::ClassSource.pm
This patch gets rid of finish() and replace prepare_cached by prepare.
From the man page
finish()
Indicate that no more data will be fetched from this statement handle
before it is either executed again or destroyed.
You almost certainly do not need to call this method.
Adding calls to "finish" after loop that fetches all rows is a common
mistake, don't do it, it can mask genuine problems like uncaught fetch errors.
To test:
prove t/db_dependent/ClassSource.t
t/db_dependent/ClassSource.t .. 1/24 prepare_cached(SELECT * FROM `class_sort_rules` WHERE `class_sort_rule` = ?) statement handle DBI::st=HASH(0x92dbedc) still Active at C4/ClassSource.pm line 249
prepare_cached(SELECT * FROM `class_sources` WHERE cn_source = ?) statement handle DBI::st=HASH(0x926876c) still Active at C4/ClassSource.pm line 137
attempting to use non-existent class sorting routine routine1
prepare_cached(SELECT * FROM `class_sort_rules` WHERE `class_sort_rule` = ?) statement handle DBI::st=HASH(0x92dbedc) still Active at C4/ClassSource.pm line 249
prepare_cached(SELECT * FROM `class_sources` WHERE cn_source = ?) statement handle DBI::st=HASH(0x926876c) still Active at C4/ClassSource.pm line 137
t/db_dependent/ClassSource.t .. ok
All tests successful.
Files=1, Tests=24, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.12 cusr 0.01 csys = 0.15 CPU)
Result: PASS
Bug 10621: use correct from-address for subscription alert emails
From-address and to-address were the same (patron's email) for
subscription alerts. This patch changes 'from' the branch or
kohaadminemailaddress
To test
- add a subscription in staff/serials in case you don't have any
- enable patron notifications or the subscription
- in the OPAC, subscribe to the serial
- in staff/serial, receive an issue of the serial
Before applying the patch, the email that is supposed to be sent
has the patron's email as 'from' and 'to' (and is likely to fail).
If you follow the steps after applying the patch, the email alert
should have the 'from' address of the patron's branch or
kohaadminemiladdress -- which should also work fine with the MTA/SMTP
you have set up for messaging.
Owen Leonard [Fri, 28 Jun 2013 19:10:14 +0000 (15:10 -0400)]
Bug 10516 - Improve titles, breadcrumbs, and confirmation messages for Z39.50 server adds and updates
The template for adding/editing Z39.50 servers shows the same title,
breadcrumbs, etc. for add and edit operations. This patch creates
separate text for each case.
To test, try both adding and editing a Z39.50 server. The page title,
breadcrumb, and heading should correctly reflect the operation you
perform.
Signed-off-by: Liz Rea <wizzyrea@gmail.com> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works nicely and all strings are translatable.
Mathieu Saby [Fri, 3 May 2013 21:07:37 +0000 (23:07 +0200)]
Bug 10189: Translate values in UNIMARC 128b/c cataloguing plugins to English
Cataloguing plugins for UNIMARC 128b and 128c fields are only in Ffrench.
This patch translates them.
Source : http://blue.lins.fju.edu.tw/mao/marc/unicon.htm
Note : 128b and 128c are deprecated in last version of UNIMARC Manual (field 145 used instread).
But they are still used in French Sudoc network.
To test : in a UNIMARC english Koha, edit a record and use 128b and 128c
cataloguing plugins. Check everything is in english.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Thx for translating those!
Verified new strings get parsed into the po files.
Templates still contain lots of tabs, those can be fixed separately.
Colin Campbell [Tue, 9 Jul 2013 10:18:49 +0000 (11:18 +0100)]
Bug 10507: improve warning about duplicate patron attribute value
If a warning about a duplicated patron attribute is returned,
the value was being passed back for display in the warning
message with the same name as the variable in errors
As the message is displayed in the context of errors
the error value 1 was being displayed not the value
duplicated as intended.
Pass the value to the template with a unique name.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
I fixed another tiny typo while signing off: "is already in use" instead
of "is already is use."
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised.
Katrin Fischer [Mon, 1 Jul 2013 21:44:39 +0000 (23:44 +0200)]
Bug 4907: make 'Organize by' filter in suggestions reflect selected option
When using the 'Organize by' option to change the display of the
suggestions, the option is applied, but the pull down always jumps
back to the first entry 'Status'.
This patch fixes that.
To test:
- Try out all settings and verify that after the page reloads the selected
option is applied to your suggestions and the pull down shows
the option you selected.
Note: Until bug 10519 is properly fixed the tabs will not show
the correct descriptions, but the URL will show you the selected
option as parameter: displayby=acceptedby
Bug 5858: Followup for INSERT IGNOREs in marc21_framework_DEFAULT.sql
Changes 8 INSERTs into INSERT IGNOREs.
This allows current installs to benefit easier from the new tags/subfields.
Note that running with --force will not achieve the same! The multi-value
inserts will still be aborted, though execution continues.
Test plan:
Run the file or do a new install.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Ran the file on a current install manually.
Bug 5858: update default MARC21 framework to April 2013 revision
Applies to new installs, although with the follow-up
patch, users can run the installer/data/mysql/en/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.sql
script through the mysql client to add new tag and
subfield entries.
To test:
1) Delete MARC21 default framework
2) Apply patch
3) Test that new default framework loads without problem
Signed-off-by: Mason James <mtj@kohaaloha.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Run this file with and without this patch.
This patch adds 24 tags (338 vs 314) and 323 subfields (3951 vs 3628).
Verified that last QA comments were incorporated.
Followup Bug 9353: Missing subfields on MARC21 frameworks
This followup changes updatedatabase.pl.
Only touch frameworks that have the missing subfields.
If both patches are applied, the test plan changes.
To test:
1) dev master system with default and example MARC21 frameworks
2) Go to Home > Administration > MARC frameworks
3) Click on 'MARC structure' of any framework
4) Search for tag 029 (or 863/4/5)
5) Click 'Subfields', there are none.
6) Apply both patches
7) run 'perl installer/data/mysql/updatedatabase.pl'
8) Repeat steps 2-4
9) Click 'Subfields', now they are.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Update works nicely. Checked various frameworks and
results were ok. Also new fields are hidden. Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
(cherry picked from commit da4bc6a6315a7f5aca1bb3105549758b8acd7592) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit da4bc6a6315a7f5aca1bb3105549758b8acd7592)
Solved conflict in updatedatabase.pl
This two are necessary for Bug 5858 Signed-off-by: Chris Hall <followingthepath@gmail.com>
(cherry picked from commit 459422c8bad09a8301cf47a7b39abf15a3b265ff)
863abcdefghijklmnopqstvwxz68 (same for 864/5)
(http://www.loc.gov/marc/holdings/hd863865.html)
To test:
1) dev master system with default and example MARC21 frameworks
2) Go to Home > Administration > MARC frameworks
3) Click on 'MARC structure' of any framework
4) Search for tag 029 (or 863/4/5)
5) Click 'Subfields', there are none.
6) Apply the patch
7) Replace old frameworks, easiest by command line:
mysql -uuser -ppass kohadb -e 'delete from biblio_framework; delete from marc_tag_structure; delete from marc_subfield_structure'
mysql -uuser -ppass kohadb < installer/data/mysql/en/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.sql
mysql -uuser -ppass kohadb < installer/data/mysql/en/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
8) Repeat steps 2-4
9) Click 'Subfields', now they are.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Updated frameworks are ok.
Note: Only en frameworks are updated, so if other languages need
those fields too, we need some followups. Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
(cherry picked from commit d0f3a49d9672cd018a51168b05db7a9d1f17f250) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit d0f3a49d9672cd018a51168b05db7a9d1f17f250) Signed-off-by: Chris Hall <followingthepath@gmail.com>
(cherry picked from commit e22738e3b16593ef5282b493818fe220fb889d24)
Owen Leonard [Wed, 5 Jun 2013 18:03:51 +0000 (14:03 -0400)]
Bug 10346 - "Add multiple copies" should be labelled "Add multiple items"
The Koha interface standardizes on the term "item" instead of "copy," so
the "Add multiple copies" button would be more correctly labeled "Add
multiple items."
To test, view the add item screen for an existing or new record. You
should see a button labeled "Add multiple items."
Signed-off-by: Cedric Vita <cedric.vita@dracenie.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 79df5211d6faff8ab31b46c815ed50c70093a057) Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 7000aa561c7fb33c422f9b60c4f7590a6071ee08)
Owen Leonard [Mon, 10 Sep 2012 12:34:33 +0000 (08:34 -0400)]
Bug 7598: make strings in acquisitions JavaScript translatable
English strings in acq.js cannot be processed by the translation script.
This patch moves the strings to the templates to be set as JS variables
for use by the script.
To test:
- On the uncertain prices page, enter an invalid price and click save.
You should see a JavaScript alert pointing this out.
- When adding a fund to an existing budget, enter an amount which
exceeds the amount in the parent budget. You should see a JavaScript
alert pointing this out. There is a similar function which has been
corrected, checkBudgetParent(), but I don't know how to trigger it for
testing.
The closebasketgroup function has been updated but as far as I can tell
it's not actually in use.
Signed-off-by: Srdjan <srdjan@catalyst.net.nz> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit f69e13665da007a6ab28e4c1d5a7d1a50f3ac3ac) Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit d8eeb697c873b1ba9366bbce275a14d004931f40)
David Cook [Thu, 27 Jun 2013 06:02:08 +0000 (16:02 +1000)]
Bug 9801: display facet labels in search results only when there are facet values
Currently, the headings for facets (such as location) are showing even
if there are no actual values/links for that facet type.
This patch simply checks if the facet array contains any facets before
printing the heading and HTML for each facet value/link.
Test Plan:
Before applying:
0) If you want to check the location facet (which is easiest),
enable singlebranch mode in the globals system preferences.
1) Do a search for records/items that you have no shelving location
specified (or simply remove the shelving location for a small range
of records that you can find in a search query).
2) Note that "Location" appears amongst the facets even though there
are no values/links present. (If you look at the HTML source, you'll
see some empty HTML tags have been printed out.)
Apply patch.
3) Flush your cache and refresh your page.
4) You should no longer see a "Location" facet (or those empty HTML
tags) on the facet sidebar.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Template changes only.
Checked according to test plan, made sure location facet
still shows up when values exist, otherwise it's hidden.
It might make sense to add ids to the facets so libraries
can decide to hide some of them easily. Or alternatively
add a system preference to make that possible.
David Cook [Thu, 13 Jun 2013 06:46:46 +0000 (16:46 +1000)]
Bug 10457: fix SQL error when using 'export select items data' in serials claims page
Currently, if you use the "check all" checkbox next to the "Vendor"
table header, and try to "Export selected items data", you'll
see the following SQL error in the Apache error log:
DBD::mysql::st execute failed: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for
the right syntax to use near 'on ORDER BY title' at line 12 at
/.../lib/C4/Serials.pm line 1828.
This is because the Javascript that produces the re-direct URL is
including the value of the checkall checkbox, which is "on",
as a "serialid".
We need to only take checkboxes with a name of "serialid" when
crafting the re-direct link.
This patch adds the [name=serialid] attribute selector to the Jquery
that creates the URL to lateissues-excel.pl from claims.pl.
Test Plan:
Before applying the patch:
1) Go to Serials > Claims (found on the left navigation bar of Serials)
2) Choose a vendor that has serials to claim (or create some late
serials for a vendor so that they will show up)
3) Click on the checkbox to the left of the "Vendor" table heading.
4) Click "Export selected items data" at the bottom of the page
5) Check the Apache error log. Notice that you'll get a SQL error
like the one in the message above.
Apply the patch.
Repeat Steps 1-4.
Note that you should now have a CSV file downloading rather than
getting a SQL error.
Owen Leonard [Mon, 8 Jul 2013 18:37:03 +0000 (14:37 -0400)]
Bug 10553: make public lists available on OPAC login page
If you are not logged in to the OPAC, looking at the login page, and you
click the Lists button to see public lists it says there are none. This
patch corrects Auth.pm so that it loads the list of public lists in this
situation.
To test you must have at least one public list. Make sure you are logged
out of the OPAC and visit the login page (/cgi-bin/koha/opac-user.pl).
Clicking the "Lists" button should show you a list of public shelves.
Signed-off-by: Liz Rea <liz@catalyst.net.nz>
works as described, and list button is not shown when opacpublic is disabled.
bug 10559: remove spurious "statement handle still active" warnings
Generating (e.g.) overdue notices can result in spurious warnings in
the cronjob logs:
$ ./misc/cronjobs/overdue_notices.pl -t -library CPL
prepare_cached(SELECT * FROM issues WHERE itemnumber = ?) statement handle DBI::st=HASH(0x54a7828) still Active at C4/Letters.pm line 589
This patch removes the warning by making sure that the relevant statement
handle is finished after fetching its first row of results.
To test:
[1] Set up an overdue loan such that running overdue_notices.pl will
trigger the generation of a notice.
[2] Run overdue_notices.pl -t and note the warning message.
[3] Apply the patch.
[4] Run overdue_notices.pl -t again and note that the warning message
is no longer displayed.
[5] Check the message_queue table and verify that the overdue
notices generated in steps 2 and 4 have the same text.
Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Srdjan <srdjan@catalyst.net.nz> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2bab95cac5f43b034adec36ec62a8c8f7f520627) Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 5e7452758949e037fcf286cead721b559dd7d0e3) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit 5e7452758949e037fcf286cead721b559dd7d0e3) Signed-off-by: Chris Hall <followingthepath@gmail.com>
(cherry picked from commit cca7c4fbde1ba5074937251d9fd3c8b3d86deef7)
Bug 10595: don't display OpacTopissue page when system preference is turned off
When the syspref is turned off, the link is hidden but the page is still
accessible. This patch checks the syspref and redirects to 404 if it is disabled.
Test plan:
Before applying the patch
Enable OpacTopissue
Observe there is a link to opac-topissues.pl next to Advanced search etc.
Follow that link, observe that opac-topissues.pl is loading
Disable OpacTopissue
Observe the link is gone
Manually open /koha/opac-topissues.pl and check that it is loading even though the feature is disabled
Apply patch
(OpacTopissue still diabled)
Manually open /koha/opac-topissues.pl and observe that you are being redirected to the 404 page.
Enable OpacTopissue
Follow the link or manuall open opac-topissues.pl and check that it is working
bug 10549: make the ILS-DI services advertise that they return UTF-8
This patch changes a few occurences of ISO-8859-1 to UTF-8
within the XML generation of the ILS-DI module.
To test:
- Activate ILS-DI system preference
- Go to [youropac]/cgi-bin/koha/ilsdi.pl
- Check all examples in the documentation for the correct
encoding
- Check GetAvailability gives you the correct encoding and
check the source for the correct encoding
David Cook [Fri, 5 Jul 2013 02:00:36 +0000 (12:00 +1000)]
Bug 10541: enable cross-browser AJAX in additem.js
Currently, the additem.js is using "indexOf" to search
for a value in an array. While this works in Chrome, Firefox,
and IE > 9, it fails miserably in IE 8 and 7 (which don't have
the indexOf method). This means that users aren't able to add
items using the acquisitions module!
Instead of using "indexOf", we should be using the jQuery function
$.inArray. It was added in jQuery v1.2 (3.8.0 uses v1.3.2 so even
our oldest supported release can use this method). It's perfectly
cross-browser compatible...works in Chrome, Firefox, and every
version of IE that I've tried (i.e. 7, 8, 9).
Test Plan:
Before applying patch:
0) Switch to Internet Explorer 7, or 8, or 9, or 10.
If you're using IE 9 or 10, you'll need to change the Document Mode to
IE7 standards or IE8 standards.
You can do this by opening Internet Explorer 9 or 10, pressing F12 (or
clicking on the gear in the top right corner and choosing
F12 Developer Tools), and then clicking on "Document Mode" on the
top toolbar. There, you can change to IE7 or IE8 standards.
N.B. This is not always a perfect emulation in every case, but this
time it does show you the bug.
1) Set the system preference AcqCreateItem to "receiving an order"
2) Go to Acquisitions
3) Either:
a) Receive a shipment for a basket with items
b) Create a new basket, create an order, close the basket, and
then do 3a)
4) In the "Item" fieldset, fill out some fields such as barcode,
Date acquiried, Public note, etc.
5) Click "Add" at the bottom of the fieldset
6) Note that while the item may have been added, the "Item" fieldset
is not being shown again. You may also notice a Javascript error
appearing in a pop-up window or you might see a yellow warning flag
on the bottom status bar.
APPLY THE PATCH
7) Do a full refresh of the page (hold down shift and press the refresh
button on the browser next to the address bar), and try adding items
again.
8) Note that you receive no warnings and that items are added correctly
as they would be in Firefox or Chrome.
OPTIONALLY
9) To be sure that I haven't broken anything, go through the same steps
in IE9 (with IE9 standards) or Chrome or Firefox. Everything should be
working.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Tested in IE10 in IE7 mode and IE9 mode. Also tested in Firefox.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised.
C4:Circulation:GetUpcomingDueIssues is used in the advance_notices.pl
script. This patch corrects an error in its handling of the maxdays
parameter that resulted in it picking up *all* upcoming due loans and
recently overdue loans.
Test plan :
- Create an issue with a date due in the paste
- Create an issue with a date due in two days
- Launch advance notices with due date in max 2 days : perl misc/cronjobs/advance_notices.pl -c -n -v -m=2
=> You get a warn "found 0 issues"
- Launch advance notices with due date in max 3 days : perl misc/cronjobs/advance_notices.pl -c -n -v -m=3
=> You get a warn "found 1 issues"
Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
I did the following test :
- 1 book to check in 2 days
- 2 books to check in in the past
before applying the patch :
$perl ../misc/cronjobs/advance_notices.pl -c -n -v -m=2
getting upcoming due issues at ../misc/cronjobs/advance_notices.pl line 203.
found 1 issues at ../misc/cronjobs/advance_notices.pl line 205.
I changed the value of "-m" : 0, 1, 2, 3, 4
=> always 1 issue found (the book to check in in 2 days)
after applying the patch :
$perl ../misc/cronjobs/advance_notices.pl -c -n -v -m=2
found 0 issues
for m = 0, 1, 2 => 0 issues
$perl ../misc/cronjobs/advance_notices.pl -c -n -v -m=3
found 1 issues
for m = 3,4,5 => 1 issues (the book to check in in 2 days)
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised.
Katrin Fischer [Wed, 10 Jul 2013 20:43:41 +0000 (22:43 +0200)]
Bug 10563: Fix broken 'Edit' link on check expiration page
This fixes the broken 'Edit' (subscription) link on the
check expiration page in serials.
To test:
- Add a subscription
- Go to the check expiration page
- Search for your subscription, use an expiration date in the
far future
- Verify the edit link on the result list doesn't work right
before applying the patch, but works after
Sophie Meynieux [Fri, 26 Apr 2013 13:06:40 +0000 (15:06 +0200)]
Bug 10127 : Printoverdues.sh should tar only pdf files
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
From the bug report:
At the end of printoverdues.sh, an archive is generated
containing all files present in directory given as parameter.
As archives are generated in this given directory, they
contain previously generated tar files, creating oversized files.
Only .pdf files should be archived
All tests and QA script pass.
Worked ok in my tests, only packign PDF in the given directory.
This routine is not in used and does not make sense. It should not be
used later.
Signed-off-by: Srdjan <srdjan@catalyst.net.nz> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, not references to get_branch_code_from_name found.
Owen Leonard [Tue, 2 Jul 2013 13:59:21 +0000 (09:59 -0400)]
Bug 10422 - Remove references to unused and non-existent wizard.css
doc-head-close.inc contains a reference to "wizard.css" which doesn't
exist. The option to include it never evaluates as true, and that
section can be removed from the template.
To test, apply the patch and view any page in the staff client.
Everything should be styled as before. A search of the Koha source
should return no references to "wizard.css" or a "wizard" variable.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
No occurrence of "wizard" in pl/pm files.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl
Jason Etheridge [Fri, 8 Mar 2013 15:41:06 +0000 (10:41 -0500)]
Bug 9770: fix sorting of Dewey call numbers that contain prefixes
C4::ClassSortRoutine::Dewey can pad the wrong part of a call number internally.
The subroutine get_class_sort_key tokenizes a call number string (splitting on
periods and whitespace) and counts the number of tokens that solely contain
digits. If there is only one such digit group, a comment in the code states
that it will pad said digit group. However, the bug is that the code assumes
said digit group is the first token, when this may not be the case.
In practice, this can cause poor sorting when used a call number is in the form
of PREFIX _space_ 3DIGITS.
To test:
[1] Create two item records whose class scheme is set to
'ddc' (Dewey) and whose call numbers contain prefixes, e.g.,
J DVD 700.1 ABC and J DVD 850 DEF.
[2] Use the inventory tool to produce a list of item items that include
the two created in step 1. Obsere that that items are sorted
in the incorrect order, with "J DVD 850 DEF" coming before
"J DVD 700.1 ABC". Alternatively, run the following SQL
to see the incorrect sort order:
SELECT cn_sort, itemcallnumber
FROM items
WHERE itemcallnumber LIKE 'J DVD%'
ORDER BY cn_sort;
[4] Apply this patch.
[5] Run misc/maintenance/touch_all_items.pl to force cn_sort to be
recalculated.
[6] Repeat step 2 and verify that the call numbers are now sorted
corrected.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit dba36a7a1216238a260ea5fbe2218627487e9f19) Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit f05642589d94c25ef1b1f01b4a2606fe455400b8) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit f05642589d94c25ef1b1f01b4a2606fe455400b8) Signed-off-by: Chris Hall <followingthepath@gmail.com>
(cherry picked from commit 404a931efa9365ae084f088111382eb2076a0a7e)
Jason Etheridge [Fri, 21 Jun 2013 19:31:32 +0000 (15:31 -0400)]
Bug 9770: test case for sorting of Dewey call numbers that contain prefixes
This adds a test for C4::ClassSortRoutine::Dewey to check that the
call number "JR DVD 800.1" sorts before "JR DVD 900"
To test:
[1] Apply just this patch.
[1] Run prove -v t/ClassSortRoutine_Dewey.t
[2] Test #7 should fail.
Signed-off-by: Jason Etheridge <jason@esilibrary.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes test plan and QA script. Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit bce45b4bf55e82345efed2850d9cb5fd77f3c483) Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
(cherry picked from commit 926e455f19852c1c7b69aa00bd587caff8bccd14) Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
(cherry picked from commit 926e455f19852c1c7b69aa00bd587caff8bccd14) Signed-off-by: Chris Hall <followingthepath@gmail.com>
(cherry picked from commit 74b2f3fb4acec7b4adf54f32bb4eabcf51ca3353)
David Cook [Wed, 12 Jun 2013 01:24:09 +0000 (11:24 +1000)]
Bug 10448: can now change framework after duplicating bib record
Changing the framework in the MARC editor immediately after duplicating
a bib record no longer clears the fields.
This patch changes the Changefwk Javascript function so that it passes
the "op" value and the "biblionumberdata" (as the biblionumber) from
addbiblio.pl back to itself, when submitting the form in order to
change the framework.
The reason we need to do this is because the form in addbiblio.tt
is hard-coded to always submit an "op" value of "addbiblio". Currently,
we need to have it hard-coded to "addbiblio", because all the magic
happens in addbiblio.pl when there is an "op" of "addbiblio". If we
always passed the "actual" "op" value, such as "duplicate", nothing
would ever happen when we clicked "save". It seems to me that this
is a flaw in the design of addbiblio.pl.
If we pass the "op" and "biblionumber" when changing frameworks, we're
able to tell addbiblio.pl that we're still wanting to "duplicate" this
"X" biblionumber. However, by having the form still hard-coded to
"addbiblio", when we hit save, the form will do the magic, check if
it's a duplicate, and save the record (or prompt for action if it
is a duplicate).
--
I also noticed that if you make changes to a record, then change
the framework before saving, your changes get cleared (since the
original record from the database is loaded when the page reloads).
It seems to me that this is a bug. Changing the framework should
change the layout while preserving the content. I think most users
would assume that when changing the framework.
This patch also introduces another hidden input into addbiblio.tt and
the Changefwk Javascript called "changed_framework". Basically, if
the Changefwk Javascript is run, it tells addbiblio.pl that the
framework is changed, and it uses the posted data from the form
(which we have been modifying) instead of reloading the record from
the database.
--
Test Plan:
A) Before Applying Patch:
To Show That Changing the Framework Erases All Fields When
Duplicating a Record:
1) Go to any bib record
2) Go to Edit > Edit as new (duplicate). You should see filled
in fields.
3) Change the framework to any other framework than the one
that is currently specified.
4) Note that every single field is now blank
To Show That Changing the Record then Changing the Framework
Ignores Changes, When Editing a Record
5) Go to any bib record
6) Go to Edit.
7) Change the title of the record to "I've changed the title".
8) Change the framework to any other framework than the one that is currently specified.
9) Look at the title. You'll notice it is the original title, and NOT "I've changed the title".
B) Apply the Patch
Also, clear your memcache and shift+refresh your screen. You don't want to use cached templates/javascript.
C) After Applying the Patch
Repeat Steps 1-3 and 5-8.
You should now notice that changing the framework when duplicating the item does not clear all the fields.
You should also notice that any changes you make prior to changing the framework will still exist after changing it.