export delimiter

This commit is contained in:
Yuri Kuznetsov
2014-06-10 14:27:41 +03:00
parent 92451934af
commit 80e440c875
10 changed files with 43 additions and 6 deletions
@@ -40,6 +40,7 @@ return array (
'weekStart' => 0,
'thousandSeparator' => ',',
'decimalMark' => '.',
'exportDelimiter' => ',',
'currencyList' =>
array (
),
@@ -40,7 +40,8 @@ class Preferences extends \Espo\Core\ORM\Repository
'thousandSeparator',
'weekStart',
'timeZone',
'language'
'language',
'exportDelimiter'
);
protected $data = array();
@@ -18,6 +18,7 @@
"ScheduledJob": "Scheduled Jobs"
},
"labels": {
"Misc": "Misc",
"Merge": "Merge",
"None": "None",
"by": "by",
@@ -17,7 +17,9 @@
"smtpUsername": "Username",
"emailAddress": "Email",
"smtpPassword": "Password",
"smtpEmailAddress": "Email Address"
"smtpEmailAddress": "Email Address",
"exportDelimiter": "Export Delimiter"
},
"links": {
},
@@ -25,7 +25,9 @@
"recordsPerPage": "Records Per Page",
"recordsPerPageSmall": "Records Per Page (Small)",
"tabList": "Tab List",
"quickCreateList": "Quick Create List"
"quickCreateList": "Quick Create List",
"exportDelimiter": "Export Delimiter"
},
"options": {
"weekStart": {
@@ -22,5 +22,11 @@
[{"name": "smtpUsername"}],
[{"name": "smtpPassword"}]
]
},
{
"label": "Misc",
"rows": [
[{"name": "exportDelimiter"}]
]
}
]
@@ -4,7 +4,8 @@
"rows": [
[{"name": "useCache"}]
]
},{
},
{
"label": "Locale",
"rows": [
[{"name": "dateFormat"}, {"name": "timeZone"}],
@@ -74,6 +74,12 @@
"language": {
"type": "enum",
"default": "en_US"
},
"exportDelimiter": {
"type": "varchar",
"default": ",",
"required": true,
"maxLength": 1
}
}
}
@@ -113,6 +113,12 @@
"type": "enum",
"options": ["en_US"],
"default": "en_US"
},
"exportDelimiter": {
"type": "varchar",
"default": ",",
"required": true,
"maxLength": 1
}
}
}
+13 -2
View File
@@ -42,6 +42,7 @@ class Record extends \Espo\Core\Services\Base
'serviceFactory',
'fileManager',
'selectManagerFactory',
'preferences'
);
protected $entityName;
@@ -104,6 +105,11 @@ class Record extends \Espo\Core\Services\Base
return $this->injections['config'];
}
protected function getPreferences()
{
return $this->injections['preferences'];
}
protected function getMetadata()
{
return $this->injections['metadata'];
@@ -531,12 +537,17 @@ class Record extends \Espo\Core\Services\Base
$row[$field] = $entity->get($field);
}
$arr[] = $row;
}
$delimiter = $this->getPreferences()->get('exportDelimiter');
if (empty($delimiter)) {
$delimiter = ',';
}
$fp = fopen('php://temp', 'w');
fputcsv($fp, array_keys($arr[0]));
fputcsv($fp, array_keys($arr[0]), $delimiter);
foreach ($arr as $row) {
fputcsv($fp, $row);
fputcsv($fp, $row, $delimiter);
}
rewind($fp);
$csv = stream_get_contents($fp);