Bugzilla – Attachment 114776 Details for
Bug 27164
Fix item search CSV export
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 27164: Fix item search CSV export
Bug-27164-Fix-item-search-CSV-export.patch (text/plain), 6.46 KB, created by
Fridolin Somers
on 2021-01-04 08:18:29 UTC
(
hide
)
Description:
Bug 27164: Fix item search CSV export
Filename:
MIME Type:
Creator:
Fridolin Somers
Created:
2021-01-04 08:18:29 UTC
Size:
6.46 KB
patch
obsolete
>From 7a9c7d238a850bc3d13e8fd357bdbb05c717833e Mon Sep 17 00:00:00 2001 >From: Fridolin Somers <fridolin.somers@biblibre.com> >Date: Mon, 7 Dec 2020 17:03:40 +0100 >Subject: [PATCH] Bug 27164: Fix item search CSV export > >In item search CSV export, data cells are exported with double quotes. >There should also be double quotes in header cells. >Also some spaces can be removed. >Delimiter must be from system preference 'delimiter'. >TT filter must be $raw not html, only double quotes must be espaped by >duplication of it. > >This may help to open the CSV with any table/calc software. > >Test plan : >1.0) Create a record with title : Laurel & "Hardy" >1.2) Create an item on this record >2.0) Without patch >2.1) Perform an item search on title 'Laurel' >2.2) Export as a CSV file and save the file locally >2.3) Open the file with a table/calc software >3.0) Apply patch >3.1) Perform same item search >3.2) Export as a CSV file and save the file locally >3.3) Open the file with a table/calc software >4.0) Compare files with diff/meld >=> you see double quotes arround header cells > and removal of space after coma >4.1) Check that delimiter is from system preference 'delimiter' >4.2) In table/calc software they should look the same >--- > .../catalogue/itemsearch_item.csv.inc | 32 ++++++++++++++++- > .../csv_headers/catalogue/itemsearch.tt | 35 ++++++++++++++++++- > 2 files changed, 65 insertions(+), 2 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc >index bb625bae23..57602e0ac2 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc >@@ -1,7 +1,37 @@ >+[%- USE raw -%] > [%- USE Branches -%] > [%- USE Koha -%] > [%- USE ItemTypes -%] > [%- USE AuthorisedValues -%] > [%- SET biblio = item.biblio -%] > [%- SET biblioitem = item.biblioitem -%] >-"[% biblio.title | html %] [% IF ( Koha.Preference( 'marcflavour' ) == 'UNIMARC' && biblio.author ) %]by [% END %][% biblio.author | html %]", "[% (biblioitem.publicationyear || biblio.copyrightdate) | html %]", "[% biblioitem.publishercode | html %]", "[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => item.ccode ) | html %]", "[% item.barcode | html %]", "[% item.itemcallnumber | html %]", "[% Branches.GetName(item.homebranch) | html %]", "[% Branches.GetName(item.holdingbranch) | html %]", "[% AuthorisedValues.GetDescriptionByKohaField(frameworkcode => biblio.frameworkcode, kohafield => 'items.location', authorised_value => item.location) | html %]", "[% ItemTypes.GetDescription(item.itype) | html %]", "[% item.stocknumber | html %]", "[% AuthorisedValues.GetDescriptionByKohaField(frameworkcode => biblio.frameworkcode, kohafield => 'items.notforloan', authorised_value => item.notforloan) | html %]","[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => item.itemlost ) || "" | html %]","[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => item.withdrawn ) || "" | html %]", "[% (item.issues || 0) | html %]" >+[%- SET delimiter = Koha.Preference( 'delimiter' ) || ',' -%] >+"[% biblio.title | replace('"', '""') | $raw %] [% IF ( Koha.Preference( 'marcflavour' ) == 'UNIMARC' && biblio.author ) %]by [% END %][% biblio.author | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% (biblioitem.publicationyear || biblio.copyrightdate) | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% biblioitem.publishercode | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => item.ccode ) | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% item.barcode | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% item.itemcallnumber | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% Branches.GetName(item.homebranch) | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% Branches.GetName(item.holdingbranch) | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% AuthorisedValues.GetDescriptionByKohaField(frameworkcode => biblio.frameworkcode, kohafield => 'items.location', authorised_value => item.location) | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% ItemTypes.GetDescription(item.itype) | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% item.stocknumber | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% AuthorisedValues.GetDescriptionByKohaField(frameworkcode => biblio.frameworkcode, kohafield => 'items.notforloan', authorised_value => item.notforloan) | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => item.itemlost ) || "" | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => item.withdrawn ) || "" | replace('"', '""') | $raw %]" >+[%- delimiter | $raw -%] >+"[% (item.issues || 0) | $raw %]" >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt b/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt >index aa1ce57f5f..c36cfa6005 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt >@@ -1 +1,34 @@ >-[%- BLOCK -%]Title, Publication date, Publisher, Collection, Barcode, Call number, Home library, Current library, Shelving location, Item type, Inventory number, Not for loan status, Lost status, Withdrawn status, Checkouts[%- END -%] >+[%- USE raw -%] >+[%- USE Koha -%] >+[%- SET delimiter = Koha.Preference( 'delimiter' ) || ',' -%] >+[%- BLOCK -%] >+"Title" >+[%- delimiter | $raw -%] >+"Publication date" >+[%- delimiter | $raw -%] >+"Publisher" >+[%- delimiter | $raw -%] >+"Collection" >+[%- delimiter | $raw -%] >+"Barcode" >+[%- delimiter | $raw -%] >+"Call number" >+[%- delimiter | $raw -%] >+"Home library" >+[%- delimiter | $raw -%] >+"Current library" >+[%- delimiter | $raw -%] >+"Shelving location" >+[%- delimiter | $raw -%] >+"Item type" >+[%- delimiter | $raw -%] >+"Inventory number" >+[%- delimiter | $raw -%] >+"Not for loan status" >+[%- delimiter | $raw -%] >+"Lost status" >+[%- delimiter | $raw -%] >+"Withdrawn status" >+[%- delimiter | $raw -%] >+"Checkouts" >+[%- END -%] >-- >2.30.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 27164
:
114233
|
114261
|
114262
|
114268
|
114315
|
114687
|
114776
|
114934