Koha-clms/Koha
Fridolin Somers 37aa846127 Bug 21560: create Koha::Util::OpenDocument with subroutine for ODS generation
There is nearly the same code in misc/cronjobs/gather_print_notices.pl and reports/guided_reports.pl.
This patch creates a new module with subroutine called by both scripts.

If file path or content is undefined, subroutine will just return undef.
If content is an empty arrayref, empty ods file is still generated.

Unicode encoding is kept outisde because it may not be necessary.

Note that for print notices the first line of message is always the column names so it is extracted only from first message.

Test plan :
Run previous patches test plans and check ODS files are the same.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit ffb40290f8)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit c2531f6fef)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 3f68db17b9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2019-03-26 07:30:27 +01:00
..
Account Bug 14826: (QA follow-up) POD fixes 2017-10-20 17:14:32 -03:00
Acquisition Bug 15685: (QA follow-up) Address QA issues 2017-10-11 13:08:47 -03:00
ArticleRequest Bug 14610 - Add and update modules 2016-10-26 12:15:13 +00:00
Authority Bug 18811: [QA Follow-up] Resolved POD warnings 2017-09-12 11:30:40 -03:00
Biblio Bug 17196: Move marcxml out of the biblioitems table 2017-01-13 13:49:26 +00:00
BiblioUtils Bug 17196: [QA Follow-up] Adjust some text on marcxml 2017-01-13 13:49:30 +00:00
Cache Bug 16088: Introduce Koha::Cache::Memory::Lite to cache the language 2016-06-04 07:43:22 +00:00
Club Bug 19214: prevent crash if club_template_field is called in list context 2017-09-07 14:15:59 -03:00
Config Bug 11998: Use Koha::Cache to cache sysprefs 2016-03-15 07:08:28 +00:00
Edifact Bug 21425: Display basketno correctly in Order error msg 2018-10-11 14:59:37 +02:00
Exceptions Bug 21116: (RMaint follow-up) do not use Koha::Exceptions::Exception 2018-11-29 14:56:38 +01:00
Exporter Bug 18201: Export data -Fix "Remove non-local items" option and add "Removes non-local records" option for existing functionality 2018-01-10 12:48:02 +00:00
ExternalContent bug_16034 Koha::ExternalContent::OverDrive - a wrapper around WebService::ILS::Overdrive::Patron 2017-02-21 19:58:20 +00:00
Filter/MARC Bug 18579: Fix call to append_fields, fix tests 2017-05-12 08:43:18 -04:00
Illrequest Bug 7317: Remove traces of UnmediatedILL 2017-11-09 11:42:16 -03:00
Indexer Revert Bug 11081 - Port Koha::Contrib::Tamil indexer into Koha code base 2016-03-01 16:56:35 +00:00
Item Bug 16686: Add Koha::Object based class for Koha::Item::Transfer[s] 2016-09-02 13:56:03 +00:00
List Bug 19528: Fix a few typos like corrosponding 2017-10-27 14:09:04 -03:00
MetadataRecord Bug 17380: Do not use GuessAuthTypeCode in MetadataRecord::Authority 2017-09-12 12:07:47 -03:00
Middleware Bug 16520 (Follow up) Rebase fixes 2016-10-11 12:37:17 +00:00
Misc Bug 16011: $VERSION - Remove use vars qw(); 2016-03-24 17:20:39 +00:00
Notice Bug 17959 - Add the Koha::Notice::Message[s] packages (message_queue table) 2017-02-17 11:48:44 +00:00
Number Bug 21262: Do not format numbers for editing if too big 2018-09-24 12:16:42 +02:00
OAI/Server Bug 19725: OAI-PMH - Use biblio_metadata.timestamp 2018-01-15 13:40:31 +00:00
Object/Limit Bug 17755: (QA followup) Return $self when appropriate 2017-03-24 18:32:46 +00:00
Old Bug 17796: Move Koha::OldIssue[s] to Koha::Checkout[s] 2016-12-20 15:13:29 +00:00
Patron Bug 21134: Correctly throw the exception in Koha::Patron::Modification->approve 2018-09-21 11:46:26 +02:00
Plugins Bug 20669: Add upgrade method to plugins 2018-10-08 08:00:23 +02:00
QueryParser/Driver Bug 17664: Silence non-zebra warnings in t/db_dependent/Search.t 2017-10-06 12:09:57 -03:00
REST Bug 21116: Add API routes through plugins 2018-11-29 13:26:14 +01:00
RecordProcessor Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
SMS Bug 15548 [QA Followup] - More new uses of Koha::Borrower 2016-03-03 14:39:00 -07:00
Schema/Result Bug 21417: DBRev 17.11.11.002 2018-11-08 16:31:19 +01:00
SearchEngine Bug 21032: Fix using facet for searches made on specific index 2018-08-28 15:26:41 +02:00
Serial Bug 7677: QA followup 2016-09-12 09:13:57 +00:00
Sitemapper Bug 11190: (QA followup) for tests on jenkins 2015-08-31 10:32:34 -03:00
Subscription Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
SuggestionEngine Bug 9857 - Follow-up - Fix for searches with su= or su: 2017-09-01 13:02:24 -03:00
Template/Plugin Bug 21352: Allow plugins to add CSS and Javascript to Staff interface 2018-10-19 09:54:42 +02:00
Util Bug 21560: create Koha::Util::OpenDocument with subroutine for ODS generation 2019-03-26 07:30:27 +01:00
pdfformat Bug 22282: Fix PDF issue when exporting PDF in French format. 2019-02-15 08:07:01 +01:00
Account.pm Revert "Bug 21396: Add 2 missing use statements in Koha::Account" 2018-11-06 09:15:06 +01:00
AdditionalField.pm Bug 10855: Remove additional field values when subscription is removed 2015-10-02 15:10:31 -03:00
ArticleRequest.pm Bug 18477: Populate article_requests table values for AR_PENDING notices 2018-02-02 14:16:52 +00:00
ArticleRequests.pm Bug 14610 - Add and update modules 2016-10-26 12:15:13 +00:00
AudioAlert.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
AudioAlerts.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
AuthUtils.pm Bug 18298: Add server-side checks and refactor stuffs 2017-10-16 09:44:32 -03:00
AuthorisedValue.pm Bug 17935: Adjust some POD lines, fix a few typos 2017-02-14 14:12:50 +00:00
AuthorisedValueCategories.pm Bug 17216: Add Koha::AuthorisedValueCategory|ies classes 2016-10-11 07:30:30 +00:00
AuthorisedValueCategory.pm Bug 17216: Add Koha::AuthorisedValueCategory|ies classes 2016-10-11 07:30:30 +00:00
AuthorisedValues.pm Bug 17642: Do not explode if no authorised value exist 2016-11-18 15:52:01 +00:00
Authorities.pm Bug 9988: Add get_usage_count and linked_biblionumbers to Koha::Authority 2017-04-13 08:53:46 -04:00
Authority.pm Bug 9988: Add get_usage_count and linked_biblionumbers to Koha::Authority 2017-04-13 08:53:46 -04:00
Biblio.pm Bug 4319: (QA follow-up) Rename hasItemswaitingOrInTransit to has_items_waiting_or_intransit 2018-02-22 01:05:02 +00:00
BiblioFramework.pm Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
BiblioFrameworks.pm Bug 14889: Fix typo in Koha/BiblioFrameworks.pm 2016-03-03 20:32:47 +00:00
BiblioUtils.pm Bug 19040: Refactor GetMarcBiblio parameters 2017-08-25 10:23:42 -03:00
Biblioitem.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Biblioitems.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Biblios.pm Bug 14610 - Add and update modules 2016-10-26 12:15:13 +00:00
Cache.pm Bug 21955: Remove Cache::Memory as fallback for L2 cache 2018-12-19 14:09:23 +01:00
Caches.pm Bug 17935: Adjust some POD lines, fix a few typos 2017-02-14 14:12:50 +00:00
Calendar.pm Bug 9031: (QA follow-up) Final changes to Calendar::days_between 2017-10-27 14:09:04 -03:00
Checkout.pm Bug 18401: Add new method Koha::Checkout->patron 2017-04-28 08:58:46 -04:00
Checkouts.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
Cities.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
City.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Club.pm Bug 18870: Force scalar context for Koha::Club methods 2017-07-06 14:29:01 -03:00
Clubs.pm Bug 18557 [QA Followup] - Use dt_from_string 2017-05-12 08:53:21 -04:00
Config.pm Bug 19760: Die if koha-conf is not accessible 2018-01-15 14:07:08 +00:00
CsvProfile.pm Bug 15451: Add the 2 new modules Koha::CsvProfile[s] 2016-07-22 17:18:34 +00:00
CsvProfiles.pm Bug 15451: Add the 2 new modules Koha::CsvProfile[s] 2016-07-22 17:18:34 +00:00
Database.pm Bug 20229: Explicitly list the SQL modes we support 2018-04-06 14:18:16 +00:00
DateUtils.pm Bug 17502: Add info when throwing the exception 2017-04-21 07:36:25 -04:00
EDI.pm Bug 21417: EDI ordering fails when basket and EAN libraries do not match 2018-11-08 16:28:05 +01:00
Edifact.pm Bug 7736: Support Ordering via Edifact EDI messages 2016-04-01 20:03:17 +00:00
Email.pm Bug 9530: Adding a new Koha::Email module 2014-10-27 10:38:14 -03:00
Exceptions.pm Bug 17989: Centralize bad template check 2017-11-01 13:10:17 -03:00
ExternalContent.pm bug_16034 Koha::ExternalContent::OverDrive - a wrapper around WebService::ILS::Overdrive::Patron 2017-02-21 19:58:20 +00:00
FieldMapping.pm Bug 18269: Add Koha::FieldMapping[s] packages 2017-03-31 10:19:59 +00:00
FieldMappings.pm Bug 18269: Add Koha::FieldMapping[s] packages 2017-03-31 10:19:59 +00:00
FrameworkPlugin.pm Bug 9006: Remove AUTOLOAD in C4::Context 2015-07-20 10:11:41 -03:00
Hold.pm Bug 18856: (QA follow-up) Rename method to avoid confusion 2018-07-16 11:58:51 +02:00
Holds.pm Bug 16187: Add a script to cancel unfilled holds after a specified number of days 2017-10-20 16:51:20 -03:00
I18N.pm Bug 11848: (follow-up) update license statment 2014-05-05 04:51:42 +00:00
Illrequest.pm Bug 20001: Fix confusion between array and arrayref 2018-01-23 01:58:02 +00:00
Illrequestattribute.pm Bug 7317: Handle backend absense more gracefuly 2017-11-09 11:42:14 -03:00
Illrequestattributes.pm Bug 7317: QA followup 2017-11-09 11:42:14 -03:00
Illrequests.pm Bug 7317: QA followup 2017-11-09 11:42:14 -03:00
IssuingRule.pm Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
IssuingRules.pm Bug 17783: Prevent crash when providing an undefined value 2016-12-23 12:01:57 +00:00
Item.pm Bug 18402: Add the Koha::Item->checkout method 2017-04-28 09:01:35 -04:00
ItemType.pm Bug 21599: Fix item type creation by defining default values 2018-11-09 16:21:06 +01:00
ItemTypes.pm Bug 17835: Add an additional LEFT JOIN condition using DBIx::Class 2017-04-14 10:43:52 -04:00
Items.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Libraries.pm Bug 15758: Koha::Libraries - Move onlymine to C4::Context::only_my_library 2016-09-08 14:36:04 +00:00
Library.pm Bug 10132: (QA followup) Add POD to ->get_effective_marcorgcode 2017-09-19 09:47:28 -03:00
LibraryCategories.pm Bug 15446 [QA Followup] - Update new classes 2016-02-12 12:35:57 -07:00
LibraryCategory.pm Bug 15629: Koha::Libraries - Remove GetBranchesInCategory (1) 2016-02-24 03:55:05 +00:00
Linktracker.pm Bug 8917 : [ Sign followup ] Track clicks to links external to Koha 2013-03-07 11:14:25 -05:00
Localization.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Localizations.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Logger.pm Bug 17088: [Follow-up] Adjust POD in Logger.pm 2016-10-10 12:24:00 +00:00
MarcSubfieldStructure.pm Bug 17249: Remove GetKohaAuthorisedValuesFromField - Add classes MarcSubfieldStructure[s] 2016-10-21 15:13:55 +00:00
MarcSubfieldStructures.pm Bug 17249: Remove GetKohaAuthorisedValuesFromField - Add classes MarcSubfieldStructure[s] 2016-10-21 15:13:55 +00:00
MetaSearcher.pm Bug 16769: Uniformise calls to Koha::Cache->set_in_cache 2016-10-10 17:03:54 +00:00
MetadataIterator.pm Bug 12478 - authorities can now be stored in ES 2016-04-26 20:20:03 +00:00
MetadataRecord.pm Bug 17201: (bug 16431 follow-up) Remove occurrence of marcfromkohafield 2016-09-02 14:00:11 +00:00
MoreUtils.pm Bug 19069: (follow-up) Remove perlcritic error 2017-10-27 14:58:16 -03:00
News.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
NewsItem.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
NorwegianPatronDB.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Object.pm Bug 20767: Display a stack trace when a method is not covered by tests 2018-06-06 14:01:13 +02:00
Objects.pm Bug 20767: Display a stack trace when a method is not covered by tests 2018-06-06 14:01:13 +02:00
Patron.pm Bug 18635: Koha::Patron->guarantees() should return results alphabetically 2018-09-21 14:32:12 +02:00
Patrons.pm Bug 19599: Speed anonymise_issue_history up 2018-01-10 12:59:44 +00:00
Plugins.pm Bug 19081: Do not list plugins that have been uninstalled 2017-09-01 13:02:27 -03:00
Rating.pm Bug 17089: Mark out the boundaries of ratings 2016-09-09 09:31:30 +00:00
Ratings.pm Bug 17089: Koha::Ratings - Remove GetRating 2016-09-09 09:31:29 +00:00
RecordProcessor.pm Bug 15870: potential follow up to comment #8 2016-03-24 20:15:40 +00:00
RefundLostItemFeeRule.pm Bug 14048: (QA followup) Default to 1 if no default rule 2016-07-07 10:37:01 -06:00
RefundLostItemFeeRules.pm Bug 18182: Fix Koha::RefundLostItemFeeRules 2017-04-21 00:10:51 +00:00
Review.pm Bug 15839: Koha::Reviews - Remove approvereview & unapprovereview 2016-09-09 10:29:57 +00:00
Reviews.pm Bug 15839: Koha::Reviews - Add Koha::Review[s] classes 2016-09-09 10:29:31 +00:00
Schema.pm Bug 11891: (follow-up) remove custom storage class 2014-06-19 11:55:03 -03:00
SearchEngine.pm Bug 12478: make things using SimpleSearch use the new version 2016-04-26 20:20:07 +00:00
SearchField.pm Bug 12748: (QA followup) fix several tiny QA tools warnings 2016-04-26 20:20:13 +00:00
SearchFields.pm Bug 12748: (QA followup) fix several tiny QA tools warnings 2016-04-26 20:20:13 +00:00
SearchMarcMap.pm Bug 12748: (QA followup) fix several tiny QA tools warnings 2016-04-26 20:20:13 +00:00
SearchMarcMaps.pm Bug 12748: (QA followup) fix several tiny QA tools warnings 2016-04-26 20:20:13 +00:00
Serial.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Serials.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
SimpleMARC.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Sitemapper.pm Bug 11190: (QA followup) for tests on jenkins 2015-08-31 10:32:34 -03:00
Subscription.pm Bug 18785: Force scalar context in Koha::Subscription::biblio 2017-10-09 16:15:50 -03:00
Subscriptions.pm Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Suggestion.pm Bug 13012 - suggestion.suggesteddate should be set to NOW if not defined 2017-08-10 16:25:34 -03:00
SuggestionEngine.pm Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
Suggestions.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
Token.pm Bug 18124: [Follow-up] Handle default parameters in a sub 2017-03-30 09:07:08 +00:00
UploadedFile.pm Bug 17669: [QA Follow-up] More consistency in return values of delete 2017-04-21 13:55:25 -04:00
UploadedFiles.pm Bug 18300: [QA Follow-up] Fix return value inconsistency 2017-04-21 00:11:40 +00:00
Uploader.pm Bug 19420: (QA Follow-up) Fix test, correct POD 2017-11-08 13:31:37 -03:00
Virtualshelf.pm Bug 18672: Fix overwriting creation date with modification date when editing list 2017-07-17 13:19:24 -03:00
Virtualshelfcontent.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Virtualshelfcontents.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Virtualshelfshare.pm Bug 11943: Prevent double accepts in Koha::Virtualshelfshare 2018-05-22 10:28:49 +00:00
Virtualshelfshares.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Virtualshelves.pm Bug 18228: Implement the new columns in code 2017-07-05 13:35:23 -03:00
XSLT_Handler.pm Bug 17807: Add format parameter to XSLT_Handler->transform 2017-08-30 15:06:40 -03:00