Added Order finish_date
This commit is contained in:
@@ -604,18 +604,34 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2"></label>
|
||||
<div class="col-lg-10">
|
||||
<button type="submit" class="btn btn-primary">Speichern</button>
|
||||
<span id="form-error" class="text-danger hidden">Bitte alle benötigten Felder ausfüllen!</span>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2"></label>
|
||||
<div class="col-lg-10">
|
||||
<label class="form-check-label"><input type="checkbox" class="form-check-input" name="order_finished" value="1" id="order_finished" <?=($order->allow_contact) ? "checked='checked'" : ""?> /> Bestellung abschließen</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row" id="finish_date_field">
|
||||
<label class="col-lg-2 col-form-label" for="finish_date">Abgeschlossen am</label>
|
||||
<div class="col-lg-4">
|
||||
<input type="text" class="form-control" name="finish_date" id="finish_date" value="<?=($order->finish_date) ? date("d.m.Y", $order->finish_date) : date("d.m.Y")?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2"></label>
|
||||
<div class="col-lg-10">
|
||||
<button type="submit" class="btn btn-primary">Speichern</button>
|
||||
<span id="form-error" class="text-danger hidden">Bitte alle benötigten Felder ausfüllen!</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -663,6 +679,14 @@
|
||||
}
|
||||
});
|
||||
|
||||
$('#order_finished').change(function() {
|
||||
if($('#order_finished').is(":checked")) {
|
||||
$('#finish_date_field').show();
|
||||
} else {
|
||||
$('#finish_date_field').hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#order_date').datepicker({
|
||||
language: 'de',
|
||||
format: "dd.mm.yyyy",
|
||||
@@ -679,6 +703,14 @@
|
||||
autoclose: true
|
||||
});
|
||||
|
||||
$('#finish_date').datepicker({
|
||||
language: 'de',
|
||||
format: "dd.mm.yyyy",
|
||||
showWeekDays: true,
|
||||
todayBtn: 'linked',
|
||||
autoclose: true
|
||||
});
|
||||
|
||||
|
||||
// disable mousewheel on input number field when in focus
|
||||
$('form').on('focus', 'input[type=number]', function (e) {
|
||||
@@ -891,6 +923,10 @@
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
<?php if(!$order->finish_date): ?>
|
||||
$('#finish_date_field').hide();
|
||||
<?php endif; ?>
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -71,7 +71,14 @@
|
||||
<input type="text" class="form-control" name="filter[building_street]" id="filter_building_street" value="<?=$filter['building_street']?>" />
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="filter_finish_date">Bestellstatus</label>
|
||||
<select name="filter[finish_date]" id="filter_finish_date" class="form-control">
|
||||
<option></option>
|
||||
<option value="0" <?=( (!array_key_exists("finish_date", $filter) || $filter["finish_date"] != "1") ? 'selected="selected"' : "")?>>Offen</option>
|
||||
<option value="1" <?=($filter["finish_date"] == "1" ? 'selected="selected"' : "")?>>Fertiggestellt</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
@@ -90,7 +97,7 @@
|
||||
<div class="card">
|
||||
<div class="card-body mb-3">
|
||||
<div class="float-left">
|
||||
<h4 class="header-title">Bestellungen ohne Produkte</h4>
|
||||
<h4 class="header-title">Bestellungen ohne Produkt</h4>
|
||||
</div>
|
||||
|
||||
<table class="table table-striped table-hover">
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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'";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user