Added apiuser selection to preordercampaign

This commit is contained in:
Frank Schubert
2022-09-12 13:51:01 +02:00
parent 076adfb406
commit c66ffb1d2f
6 changed files with 171 additions and 1 deletions
@@ -6,6 +6,7 @@ class Preordercampaign extends mfBaseModel {
private $types;
private $setup_products;
private $gemeinden;
private $apiusers;
public function addTypes(Array $types) {
@@ -94,6 +95,14 @@ class Preordercampaign extends mfBaseModel {
return $this->gemeinden;
}
if($name == "apiusers") {
$items = PreordercampaignApiuserModel::search(["preordercampaign_id" => $this->id]);
foreach($items as $poa) {
$this->apiusers[$poa->worker_id] = $poa;
}
return $this->apiusers;
}
if($name == "creator") {
$user = mfValuecache::singleton()->get("Worker-id-".$this->create_by);
if($user) {
@@ -194,6 +194,19 @@ class PreordercampaignController extends mfBaseController {
}
}
foreach(PreordercampaignApiuserModel::search(['preordercampaign_id' => $campaign->id]) as $pca) {
$pca->delete();
}
if(is_array($r->apiusers) && count($r->apiusers)) {
foreach($r->apiusers as $user_id) {
$pca = PreordercampaignApiuserModel::getFirst(['preordercampaign_id' => $campaign->id, 'worker_id' => $user_id]);
if($pca) continue;
$pca = PreordercampaignApiuserModel::create(['preordercampaign_id' => $campaign->id, 'worker_id' => $user_id]);
$pca->save();
}
}
$this->layout()->setFlash("Vorbestellkampagne erfolgreich gespeichert.", "success");
//$this->redirect("Preordercampaign", "Edit", ['id' => $new_id]);
$this->redirect("Preordercampaign");