| ... | ... |
@@ -216,6 +216,10 @@ $GLOBALS['TL_DCA']['tl_vr_wa_reservation'] = array |
| 216 | 216 |
'eval' => array('rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'clr w50 wizard'),
|
| 217 | 217 |
'sql' => "int(10) unsigned NOT NULL default '0'" |
| 218 | 218 |
), |
| 219 |
+ 'checked_in_export_generated' => array |
|
| 220 |
+ ( |
|
| 221 |
+ 'sql' => "char(1) NOT NULL default ''" |
|
| 222 |
+ ), |
|
| 219 | 223 |
'checked_in_nc_sent' => array |
| 220 | 224 |
( |
| 221 | 225 |
'sql' => "int(10) unsigned NOT NULL default '0'" |
| ... | ... |
@@ -83,6 +83,11 @@ class CheckInCompletedListener implements EventSubscriberInterface |
| 83 | 83 |
*/ |
| 84 | 84 |
private function generateCsvExport(array $reservationData, $reservationModel) |
| 85 | 85 |
{
|
| 86 |
+ // Do not execute if the export has already been generated |
|
| 87 |
+ if ($reservationModel->checked_in_export_generated) {
|
|
| 88 |
+ return; |
|
| 89 |
+ } |
|
| 90 |
+ |
|
| 86 | 91 |
// Create export directory if it doesn't exist |
| 87 | 92 |
$exportDir = $this->projectDir . '/export/check_in'; |
| 88 | 93 |
$filesystem = new Filesystem(); |
| ... | ... |
@@ -294,5 +299,8 @@ class CheckInCompletedListener implements EventSubscriberInterface |
| 294 | 299 |
), |
| 295 | 300 |
['contao' => new ContaoContext(__METHOD__, 'CHECK_IN_CSV_EXPORT')] |
| 296 | 301 |
); |
| 302 |
+ |
|
| 303 |
+ $reservationModel->checked_in_export_generated = '1'; |
|
| 304 |
+ $reservationModel->save(); |
|
| 297 | 305 |
} |
| 298 | 306 |
} |