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]])?>"> active_preorders)?> - total_homes): ?> - / total_homes?> (active_preorders) / $camp->total_homes) * 100, 2))?> %) + homes_total): ?> + / homes_total?> (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);