Added owner_address filter to Order/Index

This commit is contained in:
Frank Schubert
2022-04-22 15:29:08 +02:00
parent c747a41d48
commit e65cb7a6af
9 changed files with 165 additions and 8 deletions

View File

@@ -87,16 +87,23 @@
<input type="text" class="form-control" name="filter[building_code]" id="filter_building_code" value="<?=$filter['building_code']?>" />
</div>
<div class="col-1">
<label class="form-label" for="filter_building_street">Straße (Anschluss)</label>
<input type="text" class="form-control" name="filter[building_street]" id="filter_building_street" value="<?=$filter['building_street']?>" />
</div>
<div class="col-1">
<label class="form-label" for="filter_owner">Kunde</label>
<input type="text" class="form-control" name="filter[owner]" id="filter_owner" value="<?=$filter['owner']?>" />
</div>
<div class="col-2">
<label class="form-label" for="filter_building_street">Straße</label>
<input type="text" class="form-control" name="filter[building_street]" id="filter_building_street" value="<?=$filter['building_street']?>" />
<div class="col-1">
<label class="form-label" for="filter_owner">Straße (Kunde)</label>
<input type="text" class="form-control" name="filter[owner_address]" id="filter_owner_address" value="<?=$filter['owner_address']?>" />
</div>
<div class="col-1">
<label class="form-label" for="filter_partner_number">Partnernummer</label>
<input type="text" class="form-control" name="filter[partner_number]" id="filter_partner_number" value="<?=$filter['partner_number']?>" />

View File

@@ -0,0 +1,66 @@
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/header.php"); ?>
<!-- start page title -->
<div class="row">
<div class="col-12">
<div class="page-title-box">
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="<?=self::getUrl("Dashboard")?>"><?=MFAPPNAME_SLUG?></a></li>
<li class="breadcrumb-item"><a href="<?=self::getUrl("Preordercampaign")?>">Vorbestellkampagnen</a></li>
<li class="breadcrumb-item active">Vorbestellungen</li>
</ol>
</div>
<h4 class="page-title">Vorbestellungen<?=($campaign) ? " - ".$campaign->name : ""?></h4>
</div>
</div>
</div>
<!-- end page title -->
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body mb-3">
<div class="float-left">
<h4 class="header-title">Liste aller Vorbestellungen<?=($campaign) ? " - ".$campaign->name : ""?></h4>
</div>
<div class="float-right">
<a class="btn btn-primary mb-2" href="<?=self::getUrl("Preordercampaign", "add")?>"><i class="fas fa-plus"></i> Neue Vorbestellung anlegen</a>
</div>
<table class="table table-striped table-hover">
<tr>
<th>Kampagne</th>
<th>Typ</th>
<th>Kunde</th>
<th>Adresse</th>
<th>Partner ID</th>
<th>Anschluss</th>
<th>erstellt</th>
<th>bearbeitet</th>
<th></th>
</tr>
<?php foreach($preorders as $preorder): ?>
<tr>
<td><?=$preorder->campaign->name?></td>
<td><?=$preorder->type?></td>
<td><?=($preorder->company) ? $preorder->company : $preorder->firstname." ".$preorder->lastname?></td>
<td><?=$preorder->street?><br /><?=$preorder->zip?> <?=$preorder->city?></td>
<td><?=$preorder->partner->getNameOrCompany()?></td>
<td><?=($preorder->termination) ? $preorder->termination->code : ""?></td>
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
<a href="<?=self::getUrl("Preordercampaign", "edit", ["id" => $camp->id])?>"><i class="far fa-edit" title="Vorbestellkampagne Bearbeiten"></i></a>
<a href="<?=self::getUrl("Preordercampaign", "delete", ["id" => $camp->id])?>" class="text-danger" onclick="if(!confirm('Vorbestellkampagne wirklich löschen?')) return false;" title="Vorbestellkampagne Löschen"><i class="fas fa-trash"></i></a>
</td>
</tr>
<?php endforeach; ?>
</table>
</div>
</div>
</div>
</div>
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.php"); ?>

View File

@@ -66,7 +66,7 @@
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="from">Von</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="from" id="from" value="<?=($campaign->from) ? date('d.m.Y', $campaign->from) : ""?>" />
<input type="text" class="form-control datepicker" name="from" id="from" value="<?=($campaign->from) ? date('d.m.Y', $campaign->from) : ""?>" />
</div>
</div>
@@ -74,7 +74,7 @@
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="to">Bis</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="to" id="to" value="<?=($campaign->to) ? date('d.m.Y', $campaign->to) : ""?>" />
<input type="text" class="form-control datepicker" name="to" id="to" value="<?=($campaign->to) ? date('d.m.Y', $campaign->to) : ""?>" />
</div>
</div>

View File

@@ -72,6 +72,7 @@
<table class="table table-striped table-hover">
<tr>
<th></th>
<th></th>
<th>Netzgebiete</th>
<th>Name</th>
@@ -82,7 +83,7 @@
<th></th>
</tr>
<?php foreach($campaigns as $camp): ?>
<tr>
<tr style="<?=(date('U') >= $camp->from && date('U') <= $camp->to) ? "background-color: #f0fff0" : ""?>">
<td class="text-right">
<?php if(date('U') >= $camp->from && date('U') <= $camp->to): ?>
<span class="fa-stack" title="Vorbestellkampagne aktiv">
@@ -91,6 +92,9 @@
</span>
<?php endif; ?>
</td>
<td class="text-right">
<a class="btn btn-sm btn-outline-primary" href="<?=self::getUrl("Preorder", "add", ["preordercampaign_id" => $camp->id])?>"><i class="fas fa-plus" title="Vorbestellung hinzufügen"></i></a>
</td>
<td><?=$camp->network->name?></td>
<td><?=$camp->name?></td>
<td><?=$camp->area?></td>

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>thetool | Log in</title>
<title><?=MFAPPNAME_FULL?> | Log in</title>
<!-- Tell the browser to be responsive to screen width -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="assets/images/favicon.ico">

View File

@@ -240,6 +240,14 @@ class OrderModel {
$where .= " AND (Address.company like '%$owner%' OR Address.firstname like '%$owner%' OR Address.lastname like '%$owner%' OR Address.customer_number like '%$owner%')";
}
}
if(array_key_exists("owner_address", $filter)) {
$owner_address = FronkDB::singleton()->escape($filter['owner_address']);
if($owner_address) {
$where .= " AND (Address.street like '%$owner_address%' OR Address.zip like '%$owner_address%' OR Address.city like '%$owner_address%')";
}
}
/*
if(array_key_exists("owner", $filter)) {
$owner = FronkDB::singleton()->escape($filter['owner']);

View File

@@ -1,5 +1,59 @@
<?php
class Preorder extends mfBaseModel {
private $campaign;
private $partner;
public function getProperty($name) {
if($this->$name == null) {
if($name == "campaign") {
$this->campaign = new Preordercampaign($this->id);
return $this->campaign;
}
if($name == "partner") {
$this->partner = mfValuecache::singleton()->get("mfObjectmodel-Address-".$this->partner_id);
if(!$this->partner) {
$this->partner = new Address($this->partner_id);
mfValuecache::singleton()->set("mfObjectmodel-Address-".$this->partner_id, $this->partner);
}
return $this->partner;
}
if($name == "creator") {
$user = mfValuecache::singleton()->get("Worker-id-".$this->create_by);
if($user) {
$this->creator = $user;
return $this->creator;
}
$this->creator = new User($this->create_by);
if($this->creator->id) {
mfValuecache::singleton()->set("Worker-id-".$this->create_by, $this->creator);
}
return $this->creator;
}
if($name == "editor") {
$this->editor = new User($this->edit_by);
return $this->editor;
}
$classname = ucfirst($name);
$idfield = $name."_id";
$this->$name = mfValuecache::singleton()->get("mfObjectmodel-$name-".$this->$idfield);
if(!$this->$name) {
$this->$name = new $classname($this->$idfield);
}
if($this->$name->id) {
mfValuecache::singleton()->set("mfObjectmodel-$name-".$this->$name->id, $this->$name);
return $this->$name;
} else {
return null;
}
}
return $this->$name;
}
}

View File

@@ -15,6 +15,23 @@ class PreorderController extends mfBaseController {
}
protected function indexAction() {
$this->layout()->setTemplate("Preorder/Index");
$campaign_filter = [];
if($this->request->campaign_id) {
$campaign_id = $this->request->campaign_id;
if(is_numeric($campaign_id) && $campaign_id > 0) {
$campaign = new Preordercampaign($ampaign);
$this->layout()->set("campaign", $campaign);
}
$campaign_filter["preordercampaign_id"] = $campaign_id;
}
$preorders = PreorderModel::search($campaign_filter);
$this->layout()->set("preorders", $preorders);
}

View File

@@ -159,7 +159,8 @@ class PreordercampaignController extends mfBaseController {
}
$this->layout()->setFlash("Vorbestellkampagne erfolgreich gespeichert.", "success");
$this->redirect("Preordercampaign", "Edit", ['id' => $new_id]);
//$this->redirect("Preordercampaign", "Edit", ['id' => $new_id]);
$this->redirect("Preordercampaign");
}