Browse code

Disable all reservation fields in backend after check-in export has been generated

Benjamin Roth authored on01/09/2025 14:16:09
Showing1 changed files
... ...
@@ -357,4 +357,23 @@ class WeinanlieferungReservationContainerListener
357 357
             $this->eventDispatcher->dispatch($event, CheckInCompletedEvent::NAME);
358 358
         }
359 359
     }
360
+
361
+    /**
362
+     * @Callback (table="tl_vr_wa_reservation", target="config.onload")
363
+     */
364
+    public function onLoadCallback(DataContainer $dc)
365
+    {
366
+        if ($_GET['act'] == 'edit' && ($reservation = WeinanlieferungReservationModel::findByPk($dc->id)) !== null && $reservation->checked_in_export_generated)
367
+        {
368
+            foreach ($GLOBALS['TL_DCA'][$dc->table]['fields'] as &$field)
369
+            {
370
+                $field['eval']['disabled'] = true;
371
+                $field['eval']['readonly'] = true;
372
+                if (!empty($field['eval']['chosen']))
373
+                {
374
+                    $field['eval']['chosen'] = false;
375
+                }
376
+            }
377
+        }
378
+    }
360 379
 }