Bug 27569: Fix ODS export - take empty string into account
If a cell contains an empty string it was not taken into account. Test plan: Same as CSV but with ODS Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> (cherry picked from commit93bc3af5a9) Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> (cherry picked from commit5dfc3942f6) Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> (cherry picked from commit7094c56ca6) Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
This commit is contained in:
parent
8b5898b7b3
commit
5bc7e65a04
|
|
@ -907,6 +907,8 @@ sub _processRows_Table
|
|||
my ($dataFields, $dataFieldsR) = _getDataFields($frameworkcode, $nodeR, \@fields, $format);
|
||||
if (scalar(@fields) == scalar(@$dataFieldsR)) {
|
||||
$ok = _processRow_DB($dbh, $table, $fields, $dataStr, $updateStr, $dataFieldsR, $dataFields, $PKArray, \@fieldsPK, $fields2Delete);
|
||||
} else {
|
||||
warn "$j don't match number of fields " . scalar(@fields) . ' vs ' . scalar(@$dataFieldsR) . "($dataStr)";
|
||||
}
|
||||
}
|
||||
$j++;
|
||||
|
|
@ -1079,7 +1081,7 @@ sub _getDataFields
|
|||
if ($format && $format eq 'ods') {
|
||||
($data, $repeated) = _getDataNodeODS($node2) if ($repeated <= 0);
|
||||
$repeated--;
|
||||
$ok = 1 if (defined($data));
|
||||
$ok = 1;
|
||||
} else {
|
||||
if ($node2->nodeType == 1 && $node2->nodeName =~ /(?:ss:)?Cell/) {
|
||||
my @nodes3 = $node2->getElementsByTagNameNS('urn:schemas-microsoft-com:office:spreadsheet', 'Data');
|
||||
|
|
@ -1090,6 +1092,7 @@ sub _getDataFields
|
|||
}
|
||||
}
|
||||
if ($ok) {
|
||||
$data //= '';
|
||||
$data = '' if ($data eq '#');
|
||||
$data = $frameworkcode if ($fields->[$i] eq 'frameworkcode');
|
||||
$dataFields->{$fields->[$i]} = $data;
|
||||
|
|
|
|||
Loading…
Reference in New Issue