diff --git a/Layout/default/Preorder/Index.php b/Layout/default/Preorder/Index.php
index 289f7ea67..ddff5ae0d 100644
--- a/Layout/default/Preorder/Index.php
+++ b/Layout/default/Preorder/Index.php
@@ -57,9 +57,14 @@
-
diff --git a/Layout/default/Preordercampaign/Form.php b/Layout/default/Preordercampaign/Form.php
index 01256193b..faf90b5a0 100644
--- a/Layout/default/Preordercampaign/Form.php
+++ b/Layout/default/Preordercampaign/Form.php
@@ -62,6 +62,12 @@
+
diff --git a/Layout/default/Preordercampaign/Index.php b/Layout/default/Preordercampaign/Index.php
index 07f901287..a052f8191 100644
--- a/Layout/default/Preordercampaign/Index.php
+++ b/Layout/default/Preordercampaign/Index.php
@@ -101,8 +101,8 @@
["preordercampaign_id" => $camp->id]])?>">
=count($camp->active_preorders)?>
- total_homes): ?>
- / =$camp->total_homes?> (=(round((count($camp->active_preorders) / $camp->total_homes) * 100, 2))?> %)
+ homes_total): ?>
+ / =$camp->homes_total?> (=(round((count($camp->active_preorders) / $camp->homes_total) * 100, 2))?> %)
|
diff --git a/application/Dashboard/DashboardController.php b/application/Dashboard/DashboardController.php
index f618c7970..a71a17d88 100644
--- a/application/Dashboard/DashboardController.php
+++ b/application/Dashboard/DashboardController.php
@@ -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() {
diff --git a/application/Preorder/PreorderController.php b/application/Preorder/PreorderController.php
index 741ba7029..e1ed31fac 100644
--- a/application/Preorder/PreorderController.php
+++ b/application/Preorder/PreorderController.php
@@ -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;
diff --git a/application/Preorder/PreorderModel.php b/application/Preorder/PreorderModel.php
index 364736a01..8a88854eb 100644
--- a/application/Preorder/PreorderModel.php
+++ b/application/Preorder/PreorderModel.php
@@ -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;
diff --git a/application/Preordercampaign/PreordercampaignController.php b/application/Preordercampaign/PreordercampaignController.php
index eaf554dad..36ccab215 100644
--- a/application/Preordercampaign/PreordercampaignController.php
+++ b/application/Preordercampaign/PreordercampaignController.php
@@ -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);