diff --git a/Layout/default/Preordercampaign/Admin.php b/Layout/default/Preordercampaign/Admin.php index 99c547f3a..009c88ce2 100644 --- a/Layout/default/Preordercampaign/Admin.php +++ b/Layout/default/Preordercampaign/Admin.php @@ -96,7 +96,27 @@ - +
+
+

OAIDs auf Wohneinheiten updated

+
+
+
+
+ Speichert OAID in Wohneinheit falls fehlt oder inkorrekt: +
+
+ +
+ + +
+
+
diff --git a/application/Preordercampaign/PreordercampaignController.php b/application/Preordercampaign/PreordercampaignController.php index d9ffe1a42..1d6dbe9be 100644 --- a/application/Preordercampaign/PreordercampaignController.php +++ b/application/Preordercampaign/PreordercampaignController.php @@ -459,6 +459,38 @@ class PreordercampaignController extends mfBaseController { $this->layout()->set("campaign", $campaign); } + protected function updateUnitOAIDs() { + $this->layout()->setTemplate("Preordercampaign/Admin"); + + $id = $this->request->id; + if(!is_numeric($id) || !$id) { + $this->layout()->setFlash("Vorbestellkampagne nicht gefunden", "error"); + $this->redirect("Preordercampaign"); + } + + $campaign = new Preordercampaign($id); + if(!$campaign->id) { + $this->layout()->setFlash("Vorbestellkampagne nicht gefunden", "error"); + $this->redirect("Preordercampaign"); + } + + $updated_units = 0; + + foreach(PreorderModel::search(["preordercampaign_id" => $id, 'deleted' => 0]) as $preorder) { + if(!$preorder->adb_wohneinheit_id) continue; + if(!$preorder->oaid) continue; + $unit = $preorder->adb_wohneinheit; + + if(!$preorder->oaid || $unit->oaid != $preorder->oaid) { + $preorder->save(); + $updated_units++; + } + } + + $this->layout()->setFlash("$updated_units Wohneinheiten aktualisiert", "success"); + $this->redirect("Preordercampaign", "Admin", ["id" => $id]); + + } protected function assignOpenAccessIdsToPreorders() { $this->layout()->setTemplate("Preordercampaign/Admin");