+
+
+
+
@@ -451,8 +455,8 @@
-
-
-
- " placeholder="Anzahl/Menge" />
+
+ " placeholder="Anzahl/Menge" />
-
-
+
+
-
-
+
+
-
-
+
+
@@ -489,14 +493,14 @@
&& $product->product->attributes[TT_ATTRIB_TERMINATION_REQUIRED_NAME]->value == 1)
|| $product->termination_id
): ?>
-
+
-
+
-
-
+
+
@@ -510,35 +514,137 @@
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Max. 6 Monate
+
+ is("Admin")): ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -546,9 +652,9 @@
-
+
-
+
@@ -584,7 +690,7 @@
" id="termination_id-new-line">
-
+
@@ -597,7 +703,7 @@
-
+
@@ -623,7 +729,7 @@
-
+
-->
@@ -739,7 +845,8 @@
@@ -758,10 +865,10 @@
diff --git a/Layout/default/Order/Index.php b/Layout/default/Order/Index.php
index e49ca8a9e..b34aa1c7c 100644
--- a/Layout/default/Order/Index.php
+++ b/Layout/default/Order/Index.php
@@ -277,6 +277,7 @@
Kontakt
Details
Dokumente
+
Technische Herstellung
@@ -538,6 +539,19 @@
+
+
diff --git a/Layout/default/User/Form.php b/Layout/default/User/Form.php
index 85c9d0def..2e76f7a39 100644
--- a/Layout/default/User/Form.php
+++ b/Layout/default/User/Form.php
@@ -57,6 +57,13 @@
+
+
+
+
+
+
+
diff --git a/application/Order/OrderController.php b/application/Order/OrderController.php
index fdc96c22c..95613800c 100644
--- a/application/Order/OrderController.php
+++ b/application/Order/OrderController.php
@@ -646,14 +646,17 @@ class OrderController extends mfBaseController {
//var_dump($r->products);exit;
// validate and add products
if(is_array($r->products) && count($r->products)) {
- foreach($r->products as $product_id => $p) {
- //var_dump($p);
- if(!$product_id || !$p["product_id"]) {
+ foreach($r->products as $pos => $p) {
+ $orderproduct_id = $p["orderproduct_id"];
+
+ //var_dump($r);exit;
+ //var_dump($pos, $p);exit;
+ if(!$p["product_id"]) {
continue;
}
if($p['delete'] == 1) {
- $product = new OrderProduct($product_id);
+ $product = new OrderProduct($orderproduct_id);
$product->delete();
continue;
}
@@ -661,6 +664,7 @@ class OrderController extends mfBaseController {
$prod = new Product($p['product_id']);
if(!$prod->id) {
$this->log->warn(__CLASS__."::save() Invalid product: ".$p['product_id']);
+ continue;
}
$product_data = [];
@@ -706,10 +710,10 @@ class OrderController extends mfBaseController {
}
- if($product_id == "new") {
+ if(!$orderproduct_id) {
$product = OrderProductModel::create($product_data);
} else {
- $product = new OrderProduct($product_id);
+ $product = new OrderProduct();
$product->update($product_data);
}
@@ -886,11 +890,18 @@ class OrderController extends mfBaseController {
if($r->filter) {
$query["filter"] = $r->filter;
}
+ if($r->return != "index") {
+ $query['id'] = $new_id;
+ }
$qs = http_build_query($query);
$this->layout()->setFlash("Bestellung erfolgreich gespeichert.", "success");
- $this->redirect("Order", "Index", $qs, "order=$new_id-details");
+ if($r->return == "index") {
+ $this->redirect("Order", "Index", $qs, "order=$new_id-details");
+ } else {
+ $this->redirect("Order", "edit", $qs, "order=$new_id-details");
+ }
}
diff --git a/application/Order/OrderModel.php b/application/Order/OrderModel.php
index b6a9e5845..fec1d3ba5 100644
--- a/application/Order/OrderModel.php
+++ b/application/Order/OrderModel.php
@@ -389,6 +389,7 @@ class OrderModel {
$status_parts[] = "(Building.network_id = $net_id AND Terminationstatus.code >= ".TT_TERMSTATUS_CONNECTED.")";
}
if($filter['network_linked_status'][$net_id] == "building_connected") {
+ // sometimes terminations are of higher status when buildings are not yet finished, so we get them as well
$status_parts[] = "(Building.network_id = $net_id AND (Buildingstatus.code >= ".TT_BUILDINGSTATUS_CONNECTED." OR Terminationstatus.code >= ".TT_TERMSTATUS_ASSIGNED."))";
}
if($filter['network_linked_status'][$net_id] == "pipework_needed") {
diff --git a/application/User/UserController.php b/application/User/UserController.php
index acffbc5c9..5993d6bdb 100644
--- a/application/User/UserController.php
+++ b/application/User/UserController.php
@@ -133,6 +133,13 @@ class UserController extends mfBaseController {
} else {
$user->permissions->admin = "false";
}
+
+ if($r->technician == "true") {
+ $user->permissions->technician = "true";
+ } else {
+ $user->permissions->technician = "false";
+ }
+
$user->permissions->save();
}
diff --git a/application/WorkerPermission/WorkerPermission.php b/application/WorkerPermission/WorkerPermission.php
index 507c3451c..51307fac2 100644
--- a/application/WorkerPermission/WorkerPermission.php
+++ b/application/WorkerPermission/WorkerPermission.php
@@ -3,6 +3,7 @@
class WorkerPermission extends mfBaseModel {
public $isAdmin = false;
public $isTicketadmin = false;
+ public $isTechnician = false;
public function loadByUserId($userid) {
$res = $this->db->select($this->table,"*","worker_id=$userid");
@@ -25,6 +26,9 @@ class WorkerPermission extends mfBaseModel {
if($this->ticketadmin == 'true') {
$this->isTicketadmin = true;
}
+ if($this->technician == 'true') {
+ $this->isTechnician = true;
+ }
}
}
\ No newline at end of file