Added Order finish_date

This commit is contained in:
Frank Schubert
2021-09-21 20:37:40 +02:00
parent 6b7bad66a0
commit 2320e1c782
4 changed files with 120 additions and 42 deletions
+52 -28
View File
@@ -20,10 +20,10 @@ class OrderController extends mfBaseController {
$filter = [];
$this->layout->set("filter", $this->request->filter);
if($this->request->filter) {
//if($this->request->filter) {
$filter = $this->getPreparedFilter($this->request->filter);
}
//}
//var_dump($filter);exit;
// pagination defaults
$pagination = [];
$pagination['start'] = 0;
@@ -100,18 +100,21 @@ class OrderController extends mfBaseController {
$lonelyOrders = [];
if(!count($filter)) {
//if(!count($filter)) {
unset($order_search["network_id"]);
$order_search['product_id'] = null;
if($this->me->isAdmin()) {
$lonelies = OrderModel::search(['product_id' => null]);
$lonelies = OrderModel::search($order_search);
} else {
$lonelies = OrderModel::search(['product_id' => null, 'create_by' => $this->me->id]);
$order_search['create_by'] = $this->me->id;
$lonelies = OrderModel::search($order_search);
}
foreach($lonelies as $order) {
if(!array_key_exists($order->id, $orders)) {
$lonelyOrders[$order->id] = $order;
}
}
}
//}
$this->layout()->set("orders", $orders);
$this->layout()->set("lonelyOrders", $lonelyOrders);
@@ -121,30 +124,43 @@ class OrderController extends mfBaseController {
private function getPreparedFilter($filter) {
$new_filter = [];
if(is_numeric($filter['networksection_id']) && $filter['networksection_id']) {
$section = new Networksection($filter['networksection_id']);
if($section->id) {
$filter['network_id'] = $section->network_id;
}
}
if(array_key_exists("termination_status", $filter)) {
$status = $filter['termination_status'];
if($status == "term_connected") {
$new_filter["termination_status_code"] = ">=".TT_TERMSTATUS_CONNECTED;
if(is_array($filter) && count($filter)) {
if(is_numeric($filter['networksection_id']) && $filter['networksection_id']) {
$section = new Networksection($filter['networksection_id']);
if($section->id) {
$filter['network_id'] = $section->network_id;
}
}
if($status == "building_connected") {
$new_filter["building_status_code"] = ">=".TT_BUILDINGSTATUS_CONNECTED;
}
if($status == "pipework_needed") {
$new_filter["building_status_code"] = "<".TT_BUILDINGSTATUS_CONNECTED;
if(array_key_exists("termination_status", $filter)) {
$status = $filter['termination_status'];
if($status == "term_connected") {
$new_filter["termination_status_code"] = ">=".TT_TERMSTATUS_CONNECTED;
}
if($status == "building_connected") {
$new_filter["building_status_code"] = ">=".TT_BUILDINGSTATUS_CONNECTED;
}
if($status == "pipework_needed") {
$new_filter["building_status_code"] = "<".TT_BUILDINGSTATUS_CONNECTED;
}
}
}
foreach($filter as $name => $value) {
$new_filter[$name] = $value;
if(array_key_exists("finished", $filter)) {
if($filter["finished"] == "1") {
$new_filter["finish_date"] = true;
} else {
$new_filter["finish_date"] = false;
}
}
//var_dump($new_filter);exit;
foreach($filter as $name => $value) {
$new_filter[$name] = $value;
}
} else {
$new_filter["finish_date"] = false;
}
return $new_filter;
@@ -371,7 +387,15 @@ class OrderController extends mfBaseController {
}
$order_data['edit_by'] = $this->me->id;
//var_dump($r);
if($r->order_finished == "1") {
if($r->finish_date) {
$order_data['finish_date'] = Layout::dateToInt($r->finish_date);
} else {
$order_data['finish_date'] = date("U");
}
}
//var_dump($order_data);exit;
if($mode == "add") {
$order = OrderModel::create($order_data);
} else {
+14 -3
View File
@@ -186,6 +186,8 @@ class OrderModel {
GROUP BY `Order`.id
ORDER BY `Order`.order_date ASC";
mfLoghandler::singleton()->debug($sql);
if(is_array($limit) && count($limit)) {
if(is_numeric($limit['start']) && is_numeric($limit['count'])) {
$sql .= " LIMIT ".$limit['start'].", ".$limit['count'];
@@ -212,21 +214,30 @@ class OrderModel {
if(array_key_exists("owner_id", $filter)) {
$ownerid= $filter['owner_id'];
if(is_numeric($ownerid)) {
$where .= " AND Order.owner_id=$ownerid";
$where .= " AND `Order`.owner_id=$ownerid";
}
}
if(array_key_exists("create_by", $filter)) {
$create_by = $filter['create_by'];
if(is_numeric($create_by)) {
$where .= " AND Order.create_by=$create_by";
$where .= " AND `Order`.create_by=$create_by";
}
}
if(array_key_exists("finish_date", $filter)) {
$finish_date = $filter['finish_date'];
if($finish_date) {
$where .= " AND `Order`.finish_date > 0";
} else {
$where .= " AND (`Order`.finish_date = 0 OR `Order`.finish_date IS NULL)";
}
}
if(array_key_exists("name", $filter)) {
$name = FronkDB::singleton()->escape($filter['name']);
if($name) {
$where .= " AND Order.name='$name'";
$where .= " AND `Order`.name='$name'";
}
}