Koha-clms/t/db_dependent
Aleisha Amohia 39b17d0526
Bug 30358: Strip leading/trailing whitespace characters from input fields when cataloguing
This enhancement adds a system preference StripWhitespaceChars which,
when enabled, will strip leading and trailing whitespace characters from
all fields when cataloguing both bibliographic records and authority
records. Whitespace characters that will be stripped are:
- spaces
- newlines
- carriage returns
- tabs

To test:
1. Apply patch and install database updates
2. Go to Administration, system preferences, find the new
StripWhitespaceChars preference. It should be "Don't strip" by default.
Change it to "Strip".
3. Search for a biblio record and edit it. Put some leading or trailing
whitespace characters in input fields and textarea fields and save.
4. Confirm these characters are removed when you save the record.
5. Repeat steps 3 and 4 for authority records.
6. Confirm tests pass t/db_dependent/Biblio/ModBiblioMarc.t

Sponsored-by: Educational Services Australia SCIS

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) Also strip inner newlines

This patch amends the StripWhitespaceChars system preference to also
strip inner newlines (line breaks and carriage returns) when enabled.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) Inner newlines should be replaced with a space

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) Fixing tests and including for inner newlines

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) Clarify syspref wording about fields affected

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) Consider field has multiple subfields of same key

To test:

1) Click the clone subfield button to make multiple subfields with the
same key, i.e. 500$a$a$a
2) Save the record and confirm that the fields contain the correct data
after whitespaces are stripped.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) Put multiple subfields fix on auth side

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) stripWhitespaceChars subroutine and tests

To test:

Confirm test plan above still works as expected and tests pass in
t/Koha_MetadataRecord.t

Sponsored-by: Catalyst IT

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) Fixing ModBiblioMarc.t tests

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) Do not strip whitespace from control fields

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 30358: (follow-up) Simplify regex

The regex does the following:
1. Replace newlines and carriage returns with a space
2. Replace leading and trailing whitespace with nothing (strip)

Signed-off-by: Hammat Wele <hammat.wele@inlibro.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-05-16 15:17:26 -03:00
..
Acquisition Bug 11844: Add tests 2023-05-16 12:58:38 +02:00
Auth
…
AuthoritiesMarc
…
Authority
…
Biblio Bug 30358: Strip leading/trailing whitespace characters from input fields when cataloguing 2023-05-16 15:17:26 -03:00
Budgets
…
Circulation Bug 31735: Avoid re-fetcing objects from database by passing them directly instead of ids to various subroutines 2023-05-12 12:40:21 -03:00
CourseReserves Bug 32351: Fix CourseItems.t 2022-11-30 15:58:18 -03:00
Creators
…
Exporter Bug 25503: Add failing test for _get_biblio_for_export 2023-05-10 15:26:19 -03:00
Holds Bug 31735: Avoid re-fetcing objects from database by passing them directly instead of ids to various subroutines 2023-05-12 12:40:21 -03:00
Illrequest Bug 21548: ILLLIBS patron category / partner_code seems extraneous 2023-03-31 12:14:51 +02:00
Items Bug 31196: Remove 'default_value_for_mod_marc-' clear_from_cache calls 2022-10-25 11:16:57 -03:00
Koha Bug 33098: Revert suggestion status when orders are cancelled 2023-05-16 10:17:12 -03:00
LDAP
…
Labels
…
Letters Bug 31735: Avoid re-fetcing objects from database by passing them directly instead of ids to various subroutines 2023-05-12 12:40:21 -03:00
Members
…
OAI
…
Patron Bug 14251: Allow use of CSS in discharge letter 2023-03-27 11:53:16 +02:00
Record
…
Reports
…
Reserves Bug 33210: Add unit test 2023-04-21 10:36:26 -03:00
SIP Bug 33580: Fix tests 2023-05-15 08:53:45 -03:00
Search
…
Serials
…
Template/Plugin Bug 32127: Add unit test 2023-04-14 11:35:24 -03:00
Utils
…
api/v1 Bug 31799: (follow-up) Tidy up and fix duplicate barcode handling 2023-05-09 10:57:56 -03:00
cronjobs
…
data
…
misc/translator
…
selenium Bug 33419: (QA follow-up) Remove changes to basic_workflow.t 2023-05-05 10:18:40 -03:00
www Bug 33020: (QA follow-up) POD and chmod 2023-02-27 11:33:50 -03:00
00-strict.t
…
01-test_dbic.t
…
Accounts.t
…
Acquisition.t Bug 25655: Store invoice price and currency even if no currency change 2023-03-06 13:57:53 -03:00
Amazon.t
…
ArticleRequests.t
…
AudioAlerts.t
…
Auth.t Bug 33197: Rename GDPR_Policy system preference 2023-05-05 10:18:54 -03:00
AuthUtils.t
…
Auth_with_cas.t
…
Auth_with_ldap.t
…
AuthorisedValues.t Bug 32997: Add tests 2023-03-02 12:00:16 -03:00
AuthoritiesMarc.t
…
AuthoritiesMarc_GetTagsLabels.t
…
BackgroundJob.t
…
Barcodes.t
…
Barcodes_ValueBuilder.t
…
Biblio.t Bug 28328: Adjust tests 2023-05-10 15:26:17 -03:00
Biblio_holdsqueue.t
…
Breeding.t
…
Budgets.t Bug 32351: Fix Budgets.t 2022-11-30 15:58:15 -03:00
Cache.t
…
Calendar.t
…
Charset.t
…
Circulation.t Bug 31735: Avoid re-fetcing objects from database by passing them directly instead of ids to various subroutines 2023-05-12 12:40:21 -03:00
Circulation_holdsqueue.t
…
Clubs.t
…
Context.t Bug 32687: Get server version in Context::get_versions 2023-02-24 17:52:28 -03:00
Contract.t
…
CourseReserves.t
…
DecreaseLoanHighHolds.t Bug 29102: Do not count patron's own hold against limits 2022-11-04 19:20:24 -03:00
Filter_MARC_ViewPolicy.t Bug 32648: Clear cache in Filter_MARC_ViewPolicy.t 2023-05-16 11:24:26 +02:00
Fines.t
…
FrameworkPlugin.t
…
Heading.t Bug 33557: Add LinkerConsiderThesaurus system preference 2023-05-10 15:26:26 -03:00
Heading_MARC21.t Bug 33277: Do not search using thesaurus when linking non 6XX fields 2023-05-10 15:26:22 -03:00
Hold.t
…
Holds.t Bug 31735: Avoid re-fetcing objects from database by passing them directly instead of ids to various subroutines 2023-05-12 12:40:21 -03:00
HoldsQueue.t Bug 31557: (QA follow-up) Make tests more robust 2023-05-12 11:22:48 -03:00
Holidays.t
…
ILSDI_Services.t
…
Illcomments.t
…
Illrequestattributes.t
…
Illrequests.t Bug 32548: Add tests 2023-05-09 11:46:58 -03:00
ImportBatch.t Bug 32804: (QA follow-up) Typo ahs and fix ImportBatch.t 2023-03-17 09:59:12 -03:00
ImportExportFramework.t
…
Installer.t
…
Items.t Bug 32456: Unit tests 2022-12-27 10:42:19 -03:00
Koha.t
…
Koha_Database.t
…
Koha_Elasticsearch.t
…
Koha_ExternalContent_OverDrive.t
…
Koha_ExternalContent_RecordedBooks.t
…
Koha_MetadataRecord_Authority.t
…
Koha_Misc_Files.t
…
Languages.t Bug 32775: (QA follow-up) remove useless empty line 2023-05-15 18:23:54 -03:00
Letters.t Bug 33403: Fix Letters.t if number pattern with id=1 does not exist 2023-05-10 15:26:27 -03:00
LibraryGroups.t
…
Linker_Default.t
…
Linker_FirstMatch.t
…
Log.t Bug 32057: (QA follow-up) Add a simple test 2023-03-14 08:49:34 -03:00
MarcModificationTemplates.t
…
Members.t Bug 32426: (follow-up) Fix for Members.t / Patrons.t 2023-03-28 14:54:03 +02:00
Message.t Bug 33192: (QA follow-up) Fix it-IT sample data and unit tests 2023-04-14 11:35:40 -03:00
MungeMarcPrice.t
…
Overdues.t
…
Passwordrecovery.t
…
PatronLists.t
…
Patroncards.t
…
Patrons.t
…
Record.t
…
RecordProcessor_EmbedSeeFromHeadings.t
…
Reports.t
…
Reserves.t Bug 31735: Avoid re-fetcing objects from database by passing them directly instead of ids to various subroutines 2023-05-12 12:40:21 -03:00
RotatingCollections.t
…
Search.t Bug 33719: Silence warnings on ContentWarningField in Search.t 2023-05-16 12:39:21 +02:00
Serials.t
…
Serials_2.t
…
Service.t
…
ShelfBrowser.t
…
Sitemapper.t
…
Stats.t Bug 30928: Add tests 2023-05-10 14:19:21 -03:00
StockRotationItems.t
…
StockRotationRotas.t
…
StockRotationStages.t
…
SuggestionEngine_ExplodedTerms.t
…
Suggestions.t
…
TablesSettings.t
…
Tags.t Bug 31517: Remove unused get_tag function 2022-11-04 19:30:56 -03:00
Templates.t
…
TestBuilder.t Bug 32350: Add subtest for bad columns 2022-11-30 12:40:33 -03:00
Upload.t
…
UsageStats.t
…
Virtualshelves.t Bug 30418: Unit tests 2023-05-15 18:23:58 -03:00
XISBN.t
…
XSLT.t Bug 33733: Move to db_dependent 2023-05-16 12:38:16 +02:00
check_kohastructure.t
…
check_sysprefs.t
…
db_structure.t
…
rollingloans.t
…
sysprefs.t
…
yaml.t
…
zebra_config.pl
…