Added preorder network select to user/form

This commit is contained in:
Frank Schubert
2023-03-08 20:26:12 +01:00
parent 26babafa85
commit 0f047c8f60
7 changed files with 132 additions and 8 deletions

View File

@@ -11,7 +11,6 @@ class DashboardController extends mfBaseController {
}
protected function indexAction() {
if($this->me->is("preorderfront")) {
$this->redirect("Preorder");
}

View File

@@ -49,7 +49,16 @@ class PreorderController extends mfBaseController {
}
$this->layout()->set("my_campaigns", PreordercampaignModel::getAll());
} else {
$my_networks = $this->me->myNetworks(["netowner", "salespartner"]);
if($this->me->is("preorderfront")) {
$pns = json_decode($this->me->getFlag("preorder_networks"));
foreach($pns as $pn_id) {
$my_networks[] = new Network($pn_id);
}
//var_dump($my_networks);exit;
} else {
$my_networks = $this->me->myNetworks(["netowner", "salespartner"]);
}
//var_dump($my_networks);exit;
foreach($my_networks as $network) {

View File

@@ -185,6 +185,15 @@ class UserController extends mfBaseController {
}
$user->permissions->save();
// save networks
$pn = $user->getFlag("preorder_networks");
if($r->preorderfront == "true" && is_array($r->preorder_networks) && count($r->preorder_networks)) {
$pn->value(json_encode($r->preorder_networks));
$pn->save();
} else {
$pn->delete();
}
}
$this->layout()->setFlash("Benutzer gespeichert.", "success");

View File

@@ -0,0 +1,67 @@
<?php
class WorkerFlag {
private $db;
private $id;
private $worker_id = null;
private $name = null;
private $value = null;
private $user = null;
public function __construct($worker_id, $name) {
$this->db = new FronkDB();
$user = new User($worker_id);
$this->user = $user;
$name = $this->db->escape($name);
$this->name = $name;
$res = $this->db->select("WorkerFlag", "*", "worker_id=".$this->user->id." AND name='$name'");
if($this->db->num_rows($res)) {
$data = $this->db->fetch_object($res);
$this->id = $data->id;
$this->value = $data->value;
}
}
public function value($value = null) {
if($value !== null) {
$this->value = $value;
}
return $this->value;
}
public function save() {
$id = $this->id;
$values['worker_id'] = $this->user->id;
$values['name'] = $this->name;
$values['value'] = $this->value;
$values['edit_by'] = $this->user->id;
$values['edit'] = date('U');
if($id) {
// update
$this->db->update("WorkerFlag", $values, "id=$id");
} else {
// insert
$values['create_by'] = $this->user->id;
$values['create'] = date('U');
$id = $this->db->insert("WorkerFlag", $values);
$this->id = $id;
}
}
public function delete() {
if($this->id) {
$this->db->delete("WorkerFlag", "id=".$this->id, 1);
}
return true;
}
public function __toString() {
return (string) $this->value;
}
}