Koha/t/db_dependent
Nick Clemens 77f3d48dee Bug 26894: Handle subfield 0 and delete empty fields
This patch corrects handling of subfield 0 when copying/moving. Before these
patches copying from subfield 0 would copy the entire field.

We also correct an error that if moving a single subfield, we can leave behind empty
fields with no subfields. They should be deleted.

To test:
1 - Define a new MARC Modification template with actions:
        Delete field 100$0
        Add new field 100$0 with value Test
        Update existing or add new field 100$0 with value TestUpdated
        Move field 100$0 to 600$0
        Copy field 600$0 to 100$0
        Copy and replace field 245$0 to 700$0
2 - Define a new record like:
    LDR 00334nam a22001217a 4500
    003 ff
    005 20201102111604.0
    008 201102b        xxu||||| |||| 00| 0 eng d
    040 _ _ ‡cvsd
    100 1 _ ‡012345‡aKnuth, Donal Ervin‡d1938
    245 _ _ ‡012345‡aThe aty of computer programming‡cDonald E. Knuth
    650 _ 0 ‡042‡aComputer programming‡9462
3 - Modify this record using the template above
4 - Note that entier 245 is copied to 700, same for 600 field
5 - Apply patch
6 - Now only subfields 0 are copied

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-01-12 16:02:35 +01:00
..
Acquisition Bug 26584: Remove unused C4::Acquisition::CloseBasket function 2020-11-05 15:24:20 +01:00
api/v1 Bug 27015: Unit tests 2021-01-04 16:33:15 +01:00
Auth Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Authority Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Biblio Bug 26516: Don't accept incorrect values for copyrightdate/publicationyear 2020-11-16 14:25:21 +01:00
Circulation Bug 21301: (QA follow-up) Fix number of tests 2021-01-12 11:17:33 +01:00
CourseReserves Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Creators Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
cronjobs Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
data
Exporter Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Holds Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Illrequest Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Items Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Koha Bug 27149: Unit tests 2021-01-12 11:19:41 +01:00
Labels Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
LDAP Bug 21395: (QA follow-up) Remove some introduced issues 2020-06-29 12:37:02 +02:00
Letters Bug 26745: (QA follow-up) Add Unit Tests 2020-11-04 17:32:35 +01:00
Members Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
misc/translator Bug 25067: Adjust paths in tests 2020-11-06 16:59:40 +01:00
OAI Bug 25460: Add unit test for change to C4::OAI::Sets->UpdateOAISetsBiblio() 2020-10-15 12:56:31 +02:00
Patron Bug 26594: add Unit Test 2020-11-10 15:00:14 +01:00
Record Bug 25898: Fix new occurrences 2020-10-15 13:56:41 +02:00
Reports Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Reserves Bug 26634: Remove GetHoldRule subroutine in C4::Reserves 2020-12-21 10:07:38 +01:00
Search Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
selenium Bug 26847: (follow-up) fix get_attribute() call 2021-01-05 14:40:26 +01:00
Serials Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
SIP Bug 27196: Don't explode if item that is waiting if checked in by SIP 2020-12-26 17:58:40 +01:00
Template/Plugin Bug 26984: Make tests pass if AnonymousPatron is set 2020-11-20 08:16:02 +01:00
Utils Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
www Bug 26031: Remove the failing tests and the diag 2020-11-20 08:16:02 +01:00
00-strict.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
01-test_dbic.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Accounts.t Bug 26984: Make tests pass if AnonymousPatron is set 2020-11-20 08:16:02 +01:00
Acquisition.t Bug 26584: Remove unused C4::Acquisition::CloseBasket function 2020-11-05 15:24:20 +01:00
Amazon.t
ArticleRequests.t Bug 26250: Fix tests when SearchEngine=Elastic 2020-08-31 16:10:26 +02:00
AudioAlerts.t Bug 22001: Remove the RaiseError occurrences from tests 2020-03-27 08:52:56 +00:00
Auth.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Auth_with_cas.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Auth_with_ldap.t Bug 25172: Fix Auth_with_ldap.t 2020-04-22 15:43:16 +01:00
AuthorisedValues.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
AuthoritiesMarc.t Bug 25313: (QA follow-up) DelAuthority tests 2020-11-18 12:03:03 +01:00
AuthUtils.t Bug 26384: (QA follow-up) Fix two exceptions 2020-09-11 09:56:56 +02:00
BackgroundJob.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Barcodes.t Bug 26250: Fix tests when SearchEngine=Elastic 2020-08-31 16:10:26 +02:00
Barcodes_ValueBuilder.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Biblio.t Bug 26518: (QA follow-up) Expect warnings, don't supress them 2020-11-25 15:18:17 +01:00
Breeding.t Bug 24052: Fix Koha/XSLT/Base.t 2020-03-24 10:42:23 +00:00
Budgets.t Bug 26250: Fix tests when SearchEngine=Elastic 2020-08-31 16:10:26 +02:00
Cache.t Bug 16067: Remove FastMmap 2020-12-04 15:40:58 +01:00
Calendar.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Charset.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
check_kohastructure.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
check_sysprefs.t Bug 23895: Fix check_sysprefs.t 2020-10-14 15:52:29 +02:00
Circulation.t Bug 26593: Remove _get_discount_from_rule 2021-01-12 11:17:37 +01:00
Clubs.t
Context.t Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Contract.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
CourseReserves.t Bug 22001: Remove the RaiseError occurrences from tests 2020-03-27 08:52:56 +00:00
db_structure.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
DecreaseLoanHighHolds.t Bug 14866: Make high holds work with different item types 2020-11-06 15:55:17 +01:00
Filter_MARC_ViewPolicy.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Fines.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
FrameworkPlugin.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Heading.t
Heading_MARC21.t
Hold.t Bug 12556: Add new "in processing" state to holds 2020-10-14 14:50:07 +02:00
Holds.t Bug 26634: Remove GetHoldRule subroutine in C4::Reserves 2020-12-21 10:07:38 +01:00
HoldsQueue.t Bug 26367: Unit test 2021-01-07 15:37:15 +01:00
Holidays.t Bug 25723: Remove tests for removed method 2020-07-20 17:45:31 +02:00
Illcomments.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Illrequestattributes.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Illrequests.t Bug 22818: Fix TestBuilder.t 2020-11-11 18:03:17 +01:00
ILSDI_Services.t Bug 21301: add unit tests 2021-01-12 11:17:33 +01:00
ImportBatch.t Bug 23019: Add tests 2020-11-11 15:55:49 +01:00
ImportExportFramework.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Installer.t Bug 26325: Add primary_key_exists check to C4::Installer 2020-10-01 10:32:15 +02:00
Items.t Bug 26032: Add unit test 2020-11-04 12:59:32 +01:00
Koha.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Koha_Authority.t
Koha_Database.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Koha_Elasticsearch.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Koha_ExternalContent_OverDrive.t Bug 25527: Add logger to Koha::ExternalContent 2020-05-18 15:25:03 +01:00
Koha_ExternalContent_RecordedBooks.t
Koha_Misc_Files.t Bug 22001: Remove the RaiseError occurrences from tests 2020-03-27 08:52:56 +00:00
Languages.t
Letters.t Bug 26922: Regression tests 2020-11-20 15:44:20 +01:00
LibraryGroups.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Linker_Default.t
Linker_FirstMatch.t
Log.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
MarcModificationTemplates.t Bug 26894: Handle subfield 0 and delete empty fields 2021-01-12 16:02:35 +01:00
Members.t Bug 14708: Skip AnonymousPatron in GetBorrowersToExpunge 2020-11-06 09:40:25 +01:00
MungeMarcPrice.t
NewsChannels.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Overdues.t Bug 27079: Unit tests 2020-11-27 09:37:10 +01:00
Passwordrecovery.t Bug 22343: (follow-up) Remove traces of Mail::Sendmail 2020-10-05 11:15:51 +02:00
Patroncards.t
PatronLists.t
Patrons.t Bug 25683: Patron with no accountlines should have 0 outstanding (not NULL) 2020-08-06 11:37:06 +02:00
Record.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
RecordProcessor_EmbedSeeFromHeadings.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Reports.t
Reserves.t Bug 27012: Add test for C4::Reserves::MergeHolds 2020-11-16 13:45:07 +01:00
rollingloans.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
RotatingCollections.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Search.t Bug 12430: Fix Search.t failure 2020-12-09 10:52:17 +01:00
Serials.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Serials_2.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Service.t
ShelfBrowser.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Sitemapper.t Bug 24840: Replace DateTime->now with dt_from_string 2020-04-08 11:54:23 +01:00
Stats.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
StockRotationItems.t Bug 23432: (QA follow-up) Add a unit test 2020-10-26 00:04:18 +01:00
StockRotationRotas.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
StockRotationStages.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
SuggestionEngine_ExplodedTerms.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Suggestions.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
sysprefs.t Bug 22880: (follow-up) Loose ends: Better DB update, global inclusion, etc. 2020-02-24 13:24:25 +00:00
TablesSettings.t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
Tags.t
Templates.t
TestBuilder.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
Upload.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
UsageStats.t Bug 23420: (QA follow-up) Remove more AllowPurchaseSuggestionBranchChoice code 2020-10-09 12:22:01 +02:00
Virtualshelves.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
XISBN.t Bug 26364: Adjust unit tests 2021-01-07 15:37:15 +01:00
XSLT.t Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
zebra_config.pl Bug 24735: Remove QueryParser-related code 2020-03-02 11:13:03 +00:00