diff --git a/Layout/default/Preorder/Index.php b/Layout/default/Preorder/Index.php
index f228f4f75..fe19c2e94 100644
--- a/Layout/default/Preorder/Index.php
+++ b/Layout/default/Preorder/Index.php
@@ -163,7 +163,7 @@
- is("preorderfront")): ?>| =$preorder->campaign->name?> |
+ is("preorderfront")): ?>=$preorder->campaign->name?> |
=__($preorder->type, "preorder")?> |
Aufgenommen |
building_id): ?>
diff --git a/Layout/default/User/Form.php b/Layout/default/User/Form.php
index d95a99745..5eae402f7 100644
--- a/Layout/default/User/Form.php
+++ b/Layout/default/User/Form.php
@@ -71,6 +71,23 @@
+
+
+
+ id,"preorder_networks"))->value());
+ if(!$pns) {
+ $pns = [];
+ }
+ ?>
+
+ Überschreibt Netzgebiete der Firma. Wenn leer werden Netzgebiete der Firma angezeigt
+
+
@@ -120,9 +137,30 @@
diff --git a/application/Dashboard/DashboardController.php b/application/Dashboard/DashboardController.php
index 9853a10ba..69c3c42fa 100644
--- a/application/Dashboard/DashboardController.php
+++ b/application/Dashboard/DashboardController.php
@@ -11,7 +11,6 @@ class DashboardController extends mfBaseController {
}
protected function indexAction() {
-
if($this->me->is("preorderfront")) {
$this->redirect("Preorder");
}
diff --git a/application/Preorder/PreorderController.php b/application/Preorder/PreorderController.php
index 2c541b74b..46466fcc1 100644
--- a/application/Preorder/PreorderController.php
+++ b/application/Preorder/PreorderController.php
@@ -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) {
diff --git a/application/User/UserController.php b/application/User/UserController.php
index be0e617fb..d8c29048c 100644
--- a/application/User/UserController.php
+++ b/application/User/UserController.php
@@ -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");
diff --git a/application/WorkerFlag/WorkerFlag.php b/application/WorkerFlag/WorkerFlag.php
new file mode 100644
index 000000000..849d2c6d0
--- /dev/null
+++ b/application/WorkerFlag/WorkerFlag.php
@@ -0,0 +1,67 @@
+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;
+ }
+}
\ No newline at end of file
diff --git a/lib/mvcfronk/mfBase/mfBaseController.php b/lib/mvcfronk/mfBase/mfBaseController.php
index f4fdf8299..4aa1cef52 100644
--- a/lib/mvcfronk/mfBase/mfBaseController.php
+++ b/lib/mvcfronk/mfBase/mfBaseController.php
@@ -12,8 +12,8 @@ class mfBaseController {
private $mfLayout;
private $mfMenu;
private $mfUser;
- private $mod;
- private $action;
+ protected $mod;
+ protected $action;
public function __construct($params = NULL) {
// load logging facility
@@ -235,6 +235,8 @@ class mfBaseController {
$url.="#$anker";
}
+ $url = preg_replace('#^/+#', "/", $url);
+
$log->debug("Redirecting to $url");
header("Location: $url");
exit;