Merge branch 'hotfix/4.7.1'

This commit is contained in:
yuri
2017-05-19 17:37:25 +03:00
+24 -1
View File
@@ -90,6 +90,7 @@ class Xlsx extends \Espo\Core\Injectable
$linkDefs = $this->getMetadata()->get(['entityDefs', $entityType, 'links']);
if (is_array($linkDefs)) {
foreach ($linkDefs as $link => $defs) {
if (empty($defs['type'])) continue;
if ($defs['type'] === 'belongsToParent') {
$linkList[] = $link;
} else if ($defs['type'] === 'belongsTo' && !empty($defs['noJoin'])) {
@@ -104,6 +105,15 @@ class Xlsx extends \Espo\Core\Injectable
$attributeList[] = $item . 'Name';
}
}
foreach ($fieldList as $field) {
$type = $this->getMetadata()->get(['entityDefs', $entityType, 'fields', $field, 'type']);
if ($type === 'currencyConverted') {
if (!in_array($field, $attributeList)) {
$attributeList[] = $field;
}
}
}
}
public function process($entityType, $params, $dataList)
@@ -221,6 +231,7 @@ class Xlsx extends \Espo\Core\Injectable
$defs = $this->getInjection('metadata')->get(['entityDefs', $entityType, 'fields', $name]);
if (!$defs) {
$defs = array();
$defs['type'] = 'base';
}
$link = null;
@@ -244,6 +255,17 @@ class Xlsx extends \Espo\Core\Injectable
->getNumberFormat()
->setFormatCode('[$'.$currencySymbol.'-409]#,##0.00;-[$'.$currencySymbol.'-409]#,##0.00');
}
} else if ($defs['type'] == 'currencyConverted') {
if (array_key_exists($name, $row)) {
$currency = $this->getConfig()->get('baseCurrency');
$currencySymbol = $this->getMetadata()->get(['app', 'currency', 'symbolMap', $currency], '');
$sheet->getStyle("$col$rowNumber")
->getNumberFormat()
->setFormatCode('[$'.$currencySymbol.'-409]#,##0.00;-[$'.$currencySymbol.'-409]#,##0.00');
$sheet->setCellValue("$col$rowNumber", $row[$name] ? $row[$name] : '');
}
} else if ($defs['type'] == 'personName') {
if (!empty($row['name'])) {
$sheet->setCellValue("$col$rowNumber", $row['name']);
@@ -359,7 +381,8 @@ class Xlsx extends \Espo\Core\Injectable
->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
} else {
switch($defs['type']) {
case 'currency': {
case 'currency':
case 'currencyConverted': {
} break;
case 'int': {