* $batch batch object
*/
public static function create(&$params) {
- $op = 'edit';
- $batchId = $params['id'] ?? NULL;
- if (!$batchId) {
- $op = 'create';
+ if (empty($params['id']) && empty($params['name'])) {
$params['name'] = CRM_Utils_String::titleToVar($params['title']);
}
- CRM_Utils_Hook::pre($op, 'Batch', $batchId, $params);
- $batch = new CRM_Batch_DAO_Batch();
- $batch->copyValues($params);
- $batch->save();
-
- CRM_Utils_Hook::post($op, 'Batch', $batch->id, $batch);
-
- return $batch;
+ return self::writeRecord($params);
}
/**
'export' => [
'name' => ts('Export'),
'title' => ts('Export Batch'),
- 'url' => '#',
- 'extra' => 'rel="export"',
+ 'url' => 'civicrm/financial/batch/export',
+ 'qs' => 'reset=1&id=%%id%%&status=1',
],
'reopen' => [
'name' => ts('Re-open'),
*/
public static function exportFinancialBatch($batchIds, $exportFormat, $downloadFile) {
if (empty($batchIds)) {
- CRM_Core_Error::fatal(ts('No batches were selected.'));
- return;
+ throw new CRM_Core_Exception(ts('No batches were selected.'));
}
if (empty($exportFormat)) {
- CRM_Core_Error::fatal(ts('No export format selected.'));
- return;
+ throw new CRM_Core_Exception(ts('No export format selected.'));
}
self::$_exportFormat = $exportFormat;
$exporter = new $exporterClass();
}
else {
- CRM_Core_Error::fatal("Could not locate exporter: $exporterClass");
+ throw new CRM_Core_Exception("Could not locate exporter: $exporterClass");
}
$export = [];
$exporter->_isDownloadFile = $downloadFile;