added Preorder filter
This commit is contained in:
@@ -57,9 +57,14 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-1">
|
||||
<label class="form-label" for="filter_email">Email</label>
|
||||
<input type="text" class="form-control" name="filter[email]" id="filter_email" value="<?=$filter['email']?>" />
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="filter_address">Anschlussadresse</label>
|
||||
<input type="text" class="form-control" name="filter[address]" id="filter_address" value="<?=$filter['address']?>" />
|
||||
</div>
|
||||
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="filter_kunde">Kunde</label>
|
||||
<input type="text" class="form-control" name="filter[kunde]" id="filter_kunde" value="<?=$filter['kunde']?>" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -62,6 +62,12 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label" for="homes_total">Homes gesamt *</label>
|
||||
<div class="col-lg-10">
|
||||
<input type="text" class="form-control" name="homes_total" id="homes_total" value="<?=$campaign->homes_total?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label" for="from">Von</label>
|
||||
|
||||
@@ -101,8 +101,8 @@
|
||||
<td>
|
||||
<a href="<?=self::getUrl("Preorder", "Index", ["filter" => ["preordercampaign_id" => $camp->id]])?>">
|
||||
<?=count($camp->active_preorders)?>
|
||||
<?php if($camp->total_homes): ?>
|
||||
/ <?=$camp->total_homes?> (<?=(round((count($camp->active_preorders) / $camp->total_homes) * 100, 2))?> %)
|
||||
<?php if($camp->homes_total): ?>
|
||||
/ <?=$camp->homes_total?> (<?=(round((count($camp->active_preorders) / $camp->homes_total) * 100, 2))?> %)
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</td>
|
||||
|
||||
@@ -18,26 +18,15 @@ class DashboardController extends mfBaseController {
|
||||
|
||||
|
||||
protected function testAction() {
|
||||
/*$b = new Building(7);
|
||||
var_dump($b->getNewObjectCode());exit;
|
||||
*/
|
||||
|
||||
/*$address = AddressModel::getOne(5);
|
||||
var_dump($address->types);exit;*/
|
||||
/*
|
||||
$a = new Address(1);
|
||||
var_dump($a->generateServicePin());exit;
|
||||
*/
|
||||
|
||||
/*
|
||||
$t = new Termination(45);
|
||||
$ports = $t->getLineworkportPairs();
|
||||
var_dump($ports);exit;
|
||||
*
|
||||
*/
|
||||
|
||||
$b = new Building(12);
|
||||
echo $b->getUsedTerminationCount(true);exit;
|
||||
$sql = "SELECT tt_preorder.* FROM `thetool_live`.Preorder tt_preorder
|
||||
LEFT JOIN `thetool_addressdb`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id)
|
||||
WHERE 1=1 AND deleted=0 AND preordercampaign_id=1 AND (adb_hausnummer.gemeinde like '%stift%' OR adb_hausnummer.plz like '%stift%' OR adb_hausnummer.strasse like '%stift%')
|
||||
ORDER By lastname, firstname";
|
||||
$res = $this->db()->query($sql);
|
||||
if($this->db()->num_rows($res)) {
|
||||
$data = $this->db()->fetch_object($res);
|
||||
var_dump($data);exit;
|
||||
}
|
||||
}
|
||||
|
||||
protected function pdfAction() {
|
||||
|
||||
@@ -23,7 +23,8 @@ class PreorderController extends mfBaseController {
|
||||
}
|
||||
|
||||
$this->layout->set("filter", $rfilter);
|
||||
|
||||
|
||||
$where = "";
|
||||
$filter = $this->getPreparedFilter($rfilter);
|
||||
|
||||
// pagination defaults
|
||||
@@ -50,6 +51,7 @@ class PreorderController extends mfBaseController {
|
||||
}
|
||||
}
|
||||
//var_dump($filter);exit;
|
||||
|
||||
$preorders = PreorderModel::search($filter);
|
||||
$this->layout()->set("preorders", $preorders);
|
||||
}
|
||||
@@ -69,6 +71,19 @@ class PreorderController extends mfBaseController {
|
||||
$new_filter['deleted'] = 0;
|
||||
}
|
||||
|
||||
$new_filter['add-where'] = "";
|
||||
|
||||
if(array_key_exists("address", $filter)) {
|
||||
$address = $this->db()->escape($filter['address']);
|
||||
$new_filter['add-where'] = " AND (adb_hausnummer.gemeinde like '%$address%' OR adb_hausnummer.plz like '%$address%' OR adb_hausnummer.strasse like '%$address%')";
|
||||
}
|
||||
|
||||
if(array_key_exists("kunde", $filter)) {
|
||||
$kunde = $this->db()->escape($filter['kunde']);
|
||||
$new_filter['add-where'] = " AND (firstname like '%$kunde%' OR lastname like '%$kunde%' OR street like '%$kunde%' OR zip like '%$kunde%' OR city like '%$kunde%')";
|
||||
}
|
||||
|
||||
|
||||
if(is_array($filter) && count($filter)) {
|
||||
foreach($filter as $name => $value) {
|
||||
$new_filter[$name] = $value;
|
||||
|
||||
@@ -112,7 +112,16 @@ class PreorderModel {
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("Preorder", "*", "$where ORDER BY lastname, firstname");
|
||||
|
||||
$sql = "SELECT tt_preorder.* FROM `".FRONKDB_DBNAME."`.Preorder tt_preorder
|
||||
LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id)
|
||||
WHERE $where
|
||||
ORDER BY lastname, firstname
|
||||
";
|
||||
|
||||
mfLoghandler::singleton()->debug($sql);
|
||||
|
||||
$res = $db->query($sql);
|
||||
if($db->num_rows($res)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[] = new Preorder($data);
|
||||
@@ -131,9 +140,6 @@ class PreorderModel {
|
||||
if(is_numeric($deleted)) {
|
||||
$where .= " AND deleted=$deleted";
|
||||
}
|
||||
/*if($deleted === null) {
|
||||
$where .= " AND deleted IS NULL";
|
||||
}*/
|
||||
}
|
||||
|
||||
if(array_key_exists("preordercampaign_id", $filter)) {
|
||||
@@ -196,7 +202,30 @@ class PreorderModel {
|
||||
}
|
||||
|
||||
|
||||
if(array_key_exists("gemeinde", $filter)) {
|
||||
$gemeinde = FronkDB::singleton()->escape($filter['gemeinde']);
|
||||
if($gemeinde) {
|
||||
$where .= " AND `".ADDRESSDB_DBNAME."`.view_hausnummer.gemeinde like '%$gemeinde%'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("plz", $filter)) {
|
||||
$plz = FronkDB::singleton()->escape($filter['plz']);
|
||||
if($plz) {
|
||||
$where .= " AND `".ADDRESSDB_DBNAME."`.view_hausnummer.plz like '%$plz%'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("strasse", $filter)) {
|
||||
$strasse = FronkDB::singleton()->escape($filter['strasse']);
|
||||
if($strasse) {
|
||||
$where .= " AND `".ADDRESSDB_DBNAME."`.view_hausnummer.strasse like '%$strasse%'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("add-where", $filter)) {
|
||||
$where .= " ".$filter['add-where'];
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
return $where;
|
||||
|
||||
@@ -137,6 +137,7 @@ class PreordercampaignController extends mfBaseController {
|
||||
$data['description'] = $r->description;
|
||||
$data['area'] = $r->area;
|
||||
$data['note'] = $r->note;
|
||||
$data['homes_total'] = (int)$r->homes_total;
|
||||
|
||||
if($r->from) {
|
||||
$data['from'] = self::dateToTimestamp($r->from);
|
||||
|
||||
Reference in New Issue
Block a user