Added Preorder Admin function update Unit OAID

This commit is contained in:
Frank Schubert
2023-09-28 12:30:49 +02:00
parent dce1d053dc
commit dfec9721d3
2 changed files with 53 additions and 1 deletions

View File

@@ -96,7 +96,27 @@
</div>
<div class="card">
<div class="card-body">
<h4>OAIDs auf Wohneinheiten updated</h4>
<div class="row justify-content-end">
<div class="col-10">
<div class="row">
<div class="col">
Speichert OAID in Wohneinheit falls fehlt oder inkorrekt:
</div>
</div>
<div class="row mt-1">
<div class="col">
<a href="<?=self::getUrl("Preordercampaign","updateUnitOAIDs", ["id" => $campaign->id])?>" class="btn btn-primary"><i class="far fa-r"></i> <i class="far fa-gears"></i> Wohneinheiten OAID Update</a><br />
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -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");