Added dates to Order/Index orders
This commit is contained in:
@@ -116,20 +116,20 @@
|
||||
<th></th>
|
||||
</tr>
|
||||
<?php foreach($lonelyOrders as $order): ?>
|
||||
<tr>
|
||||
<td><?=$order->id?></td>
|
||||
<td>
|
||||
<tr class="building-list-tr" id="order-<?=$order->id?>">
|
||||
<td onclick="toggleOrder(<?=$order->id?>)"><?=$order->id?></td>
|
||||
<td onclick="toggleOrder(<?=$order->id?>)">
|
||||
<?=nl2br($order->owner->getCompanyOrName())?>
|
||||
<?=($order->owner->spin) ? "<br /><span class='text-pink'>".$order->owner->spin."</span>" : ""?>
|
||||
</td>
|
||||
<td>
|
||||
<td onclick="toggleOrder(<?=$order->id?>)">
|
||||
<?=$order->owner->street?><br />
|
||||
<?=$order->owner->zip?> <?=$order->owner->city?>
|
||||
</td>
|
||||
|
||||
<td class="text-monospace"><?=date("d.m.Y", $order->order_date)?></td>
|
||||
<td class="text-monospace"><?=date("d.m.Y", $order->edit)?></td>
|
||||
<td class="text-monospace"><?=$order->editor->name?></td>
|
||||
<td onclick="toggleOrder(<?=$order->id?>)" class="text-monospace"><?=date("d.m.Y", $order->order_date)?></td>
|
||||
<td onclick="toggleOrder(<?=$order->id?>)" class="text-monospace"><?=date("d.m.Y", $order->edit)?></td>
|
||||
<td onclick="toggleOrder(<?=$order->id?>)" class="text-monospace"><?=$order->editor->name?></td>
|
||||
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
|
||||
<a href="<?=self::getUrl("Order", "downloadServicePin", ["id" => $order->id])?>"><i class="fas fa-file-alt" title="Service PIN als PDF herunterladen"></i></a>
|
||||
<a href="<?=self::getUrl("Order", "sendServicePin", ["id" => $order->id])?>" onclick="if(!confirm('Soll der Service-PIN an den Vertragsinhaber gesendet werden?')) return false;"><i class="fas fa-paper-plane" title="Service PIN als PDF per Email an Vertragsinhaber"></i></a>
|
||||
@@ -137,6 +137,51 @@
|
||||
<a href="<?=self::getUrl("Order", "delete", ["id" => $order->id])?>" onclick="if(!confirm('Bestellung wirklich löschen?')) return false;" class="text-danger" title="Löschen"><i class="fas fa-trash"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="order-detail-<?=$order->id?>" class="hidden" style="background-color:#fff">
|
||||
<td colspan="9">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<div class="card-header bg-primary text-white pl-2 pr-2 pt-1 pb-1">Bestelljournal</div>
|
||||
<div class="card mb-1" style="border: 1px solid #ddd">
|
||||
<div class="card-header bg-light"><button type="button" class="btn btn-sm btn-info" onclick="$('#new-journal-<?=$order->id?>').toggle()"><i class="fas fa-plus"></i> Neuer Eintrag</button></div>
|
||||
<div id="new-journal-<?=$order->id?>" class="card-body hidden">
|
||||
<form method="post" action="<?=self::getUrl("OrderJournal", "save")?>">
|
||||
<input type="hidden" name="order_id" value="<?=$order->id?>" />
|
||||
<textarea name="text" class="form-control mb-2" style="height:120px;"></textarea>
|
||||
<button class="btn btn-sm btn-primary" type="submit"><i class="fas fa-save"></i> Speichern</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if(is_array($order->journals) && count($order->journals)): ?>
|
||||
<?php foreach($order->journals as $journal): ?>
|
||||
<div class="card mb-1" style="border: 1px solid #ddd">
|
||||
<div class="card-header bg-light text-muted pl-2 pr-2 pt-1 pb-1"><span class="text-monospace font-weight-bold" style="float: right"><i class="fas fa-clock"></i> <?=date("d.m.Y H:i:s",$journal->create)?></span> Eingetragen von <strong><?=$journal->creator->name?></strong></div>
|
||||
<div class="card-body pl-2 pr-2 pt-1 pb-1">
|
||||
<?=nl2br($journal->text)?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="display:none;">
|
||||
<td colspan="9"></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</div>
|
||||
@@ -269,7 +314,26 @@
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
<div class="card-header bg-primary text-white">Bestelljournal</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">Tiefbau: <input type="text" class="form-control" name="bautermin" placeholder="--.--.----" value="<?=$order->terminations[0]->workflowitems["bautermin"]->value->value_string?>" readonly="readonly" /></div>
|
||||
<div class="col-md-2">Backbone Bautermin: <input type="text" class="form-control" name="leitungsbautermin" placeholder="--.--.----" value="<?=$order->terminations[0]->workflowitems["backbone_setup_date"]->value->value_string?>" readonly="readonly" /></div>
|
||||
<div class="col-md-2">Kunde Bautermin: <input type="text" class="form-control" name="leitungsbautermin" placeholder="--.--.----" value="<?=$order->terminations[0]->workflowitems["customer_setup_date"]->value->value_string?>" readonly="readonly" /></div>
|
||||
<div class="col-md-2">Versandtermin: <input type="text" class="form-control" name="versandtermin" placeholder="--.--.----" value="" readonly="readonly" /></div>
|
||||
<div class="col-md-2">
|
||||
Vorortinstallation:
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control datepicker" id="vororttermin-<?=$order->id?>" name="vororttermin" value="<?=date("d.m.Y",$order->install_date)?>" placeholder="--.--.----" />
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-outline-primary" id="vororttermin-button-<?=$order->id?>" type="button" title="Vororttermin speichern" onclick="saveVororttermin(<?=$order->id?>)"><i class="fas fa-save"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="card-header bg-primary text-white pl-2 pr-2 pt-1 pb-1">Bestelljournal</div>
|
||||
<div class="card mb-1" style="border: 1px solid #ddd">
|
||||
<div class="card-header bg-light"><button type="button" class="btn btn-sm btn-info" onclick="$('#new-journal-<?=$order->id?>').toggle()"><i class="fas fa-plus"></i> Neuer Eintrag</button></div>
|
||||
<div id="new-journal-<?=$order->id?>" class="card-body hidden">
|
||||
@@ -284,8 +348,8 @@
|
||||
<?php if(is_array($order->journals) && count($order->journals)): ?>
|
||||
<?php foreach($order->journals as $journal): ?>
|
||||
<div class="card mb-1" style="border: 1px solid #ddd">
|
||||
<div class="card-header bg-light p-2"><span class="text-monospace font-weight-bold" style="float: right"><i class="fas fa-clock"></i> <?=date("d.m.Y H:i:s",$journal->create)?></span> Eingetragen von <strong><?=$journal->creator->name?></strong></div>
|
||||
<div class="card-body p-2">
|
||||
<div class="card-header bg-light text-monospace text-muted pl-2 pr-2 pt-1 pb-1"><span class="font-weight-bold" style="float: right"><i class="fas fa-clock"></i> <?=date("d.m.Y H:i:s",$journal->create)?></span> Eingetragen von <strong><?=$journal->creator->name?></strong></div>
|
||||
<div class="card-body pl-2 pr-2 pt-1 pb-1">
|
||||
<?=nl2br($journal->text)?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -343,6 +407,30 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.datepicker').each(function() {
|
||||
$(this).datepicker({
|
||||
language: 'de',
|
||||
format: "dd.mm.yyyy",
|
||||
showWeekDays: true,
|
||||
todayBtn: 'linked',
|
||||
autoclose: true
|
||||
});
|
||||
});
|
||||
|
||||
var order;
|
||||
var hash = window.location.hash.substr(1);
|
||||
var match = hash.match(/order=(\d+)/);
|
||||
if(match && match[1]) {
|
||||
order = match[1]
|
||||
toggleOrder(order);
|
||||
//$('body').scrollTop($('#order-' + order).offset() - 50);
|
||||
scrollToDiv('#order-' + order);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
function toggleOrder(id) {
|
||||
$('#order-detail-' + id).toggle();
|
||||
if($('#order-detail-' + id).is(":hidden")) {
|
||||
@@ -353,6 +441,54 @@
|
||||
$('#order-' + id).addClass("table-info");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function scrollToDiv(element){
|
||||
element = element.replace("link", "");
|
||||
$('html,body').unbind().animate({scrollTop: $(element).offset().top-180},'slow');
|
||||
};
|
||||
|
||||
function saveVororttermin(id) {
|
||||
date = $('#vororttermin-' + id).val();
|
||||
if(!date) {
|
||||
$('#vororttermin-button-' + id).addClass("btn-danger");
|
||||
$('#vororttermin-button-' + id).removeClass("btn-outline-success");
|
||||
$('#vororttermin-button-' + id).removeClass("btn-outline-primary");
|
||||
$('#vororttermin-' + id).addClass("is-invalid");
|
||||
return false;
|
||||
}
|
||||
|
||||
$.post('<?=self::getUrl("Order", "saveVororttermin")?>',
|
||||
{
|
||||
'id': id,
|
||||
install_date: date
|
||||
},
|
||||
function(data) {
|
||||
console.log(data);
|
||||
id = data.order.id;
|
||||
if(data.status == "OK") {
|
||||
$('#vororttermin-button-' + id).addClass("btn-outline-success");
|
||||
$('#vororttermin-button-' + id).removeClass("btn-danger");
|
||||
$('#vororttermin-button-' + id).removeClass("btn-outline-primary");
|
||||
$('#vororttermin-' + id).addClass("is-valid");
|
||||
$('#vororttermin-' + id).removeClass("is-invalid");
|
||||
setTimeout(function() {
|
||||
$('#vororttermin-' + id).removeClass("is-valid");
|
||||
$('#vororttermin-button-' + id).removeClass("btn-outline-success");
|
||||
$('#vororttermin-button-' + id).addClass("btn-outline-primary");
|
||||
}, 3000, id);
|
||||
} else {
|
||||
$('#vororttermin-button-' + id).addClass("btn-danger");
|
||||
$('#vororttermin-button-' + id).removeClass("btn-outline-success");
|
||||
$('#vororttermin-button-' + id).removeClass("btn-outline-primary");
|
||||
$('#vororttermin-' + id).addClass("is-invalid");
|
||||
$('#vororttermin-' + id).removeClass("is-valid");
|
||||
}
|
||||
},
|
||||
"json"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php include(realpath(dirname(__FILE__)."/../")."/footer.php"); ?>
|
||||
|
||||
@@ -651,7 +651,36 @@ class OrderController extends mfBaseController {
|
||||
|
||||
}
|
||||
|
||||
public function deleteAction() {
|
||||
protected function saveVorortterminAction() {
|
||||
$r = $this->request;
|
||||
|
||||
$order_id = $r->id;
|
||||
if(!is_numeric($order_id) || $order_id < 1) {
|
||||
$this->returnJson(["status" => "error", "order" => ['id' => $order_id]]);
|
||||
}
|
||||
|
||||
$order = new Order($order_id);
|
||||
if(!$order->id) {
|
||||
$this->returnJson(["status" => "error", "order" => ['id' => $order_id]]);
|
||||
}
|
||||
|
||||
$date = $r->install_date;
|
||||
if(!$date) {
|
||||
$this->returnJson(["status" => "error", "order" => ['id' => $order_id]]);
|
||||
}
|
||||
|
||||
$date = Layout::dateToInt($date);
|
||||
if(!$date) {
|
||||
$this->returnJson(["status" => "error", "order" => ['id' => $order_id]]);
|
||||
}
|
||||
|
||||
$order->install_date = $date;
|
||||
$order->save();
|
||||
|
||||
$this->returnJson(["status" => "OK", "order" => ['id' => $order_id]]);
|
||||
}
|
||||
|
||||
protected function deleteAction() {
|
||||
if(!$this->me->is(["Admin","salespartner"])) {
|
||||
$this->layout()->setFlash("Keine Berechtigung", "error");
|
||||
$this->redirect("Order");
|
||||
|
||||
Reference in New Issue
Block a user