Added hausnummer_add_zusatz flag to campaigns
This commit is contained in:
@@ -145,7 +145,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label" for="adb_netzgebiet_ids">Ortsteil ist Ort</label>
|
||||
<label class="col-lg-2 col-form-label" for="district_is_city">Ortsteil ist Ort</label>
|
||||
<div class="col-lg-10">
|
||||
<select class="form-control" name="district_is_city" id="district_is_city">
|
||||
<option value="0" <?=(!$campaign->district_is_city) ? "selected='selected'" : ""?>>Nein</option>
|
||||
@@ -155,6 +155,16 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label" for="hausnummer_add_zusatz">Adresszusatz an Hausnummer anhängen</label>
|
||||
<div class="col-lg-10">
|
||||
<select class="form-control" name="hausnummer_add_zusatz" id="hausnummer_add_zusatz">
|
||||
<option value="0" <?=(!$campaign->hausnummer_add_zusatz) ? "selected='selected'" : ""?>>Nein</option>
|
||||
<option value="1" <?=($campaign->hausnummer_add_zusatz) ? "selected='selected'" : ""?>>Ja</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
private $campaigns_by_scluster = [];
|
||||
private $allowed_preordertypes = [];
|
||||
private $district_is_city = false;
|
||||
private $hausnummer_add_zusatz = false;
|
||||
|
||||
protected function init() {
|
||||
$db = $this->db(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
@@ -50,6 +51,10 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
if($campaign->district_is_city == 1) {
|
||||
$this->district_is_city = true;
|
||||
}
|
||||
|
||||
if($campaign->hausnummer_add_zusatz == 1) {
|
||||
$this->hausnummer_add_zusatz = true;
|
||||
}
|
||||
}
|
||||
|
||||
foreach(PreordercampaignOriginhostnameModel::search(['preordercampaign_id' => $campaign->id]) as $origin) {
|
||||
@@ -347,12 +352,20 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
}
|
||||
}
|
||||
|
||||
$housenumber = $data->hausnummer;
|
||||
if($this->hausnummer_add_zusatz) {
|
||||
if($data->zusatz) {
|
||||
$housenumber .= " (".$data->zusatz.")";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$addresses[] = [
|
||||
'zip' => $data->plz,
|
||||
'city' => ($this->district_is_city) ? $data->ortschaft : $data->gemeinde,
|
||||
'district' => $data->ortschaft,
|
||||
'street' => $data->strasse,
|
||||
'housenumber' => $data->hausnummer,
|
||||
'housenumber' => $housenumber,
|
||||
'block' => $data->block,
|
||||
'stock' => $data->stock,
|
||||
'stiege' => $data->stiege,
|
||||
|
||||
@@ -11,6 +11,7 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
|
||||
private $allowed_preordertypes = [];
|
||||
private $district_is_city = false;
|
||||
private $hausnummer_add_zusatz = false;
|
||||
|
||||
protected function init() {
|
||||
$db = $this->db(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
@@ -46,6 +47,11 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
if($campaign->district_is_city == 1) {
|
||||
$this->district_is_city = true;
|
||||
}
|
||||
|
||||
if($campaign->hausnummer_add_zusatz == 1) {
|
||||
$this->hausnummer_add_zusatz = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -131,12 +137,24 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
}
|
||||
}
|
||||
|
||||
$zusatz = false;
|
||||
if($this->hausnummer_add_zusatz) {
|
||||
$m = [];
|
||||
if(preg_match('/^(.*) \((.+)\)$/', trim($address_search['hausnummer']), $m)) {
|
||||
$address_search['hausnummer'] = $this->db()->escape($m[1]);
|
||||
$zusatz = $m[2];
|
||||
}
|
||||
}
|
||||
|
||||
$unit_search = [];
|
||||
foreach(['block','stiege','stock','tuer'] as $key) {
|
||||
if(property_exists($this->post['address'], $key) && trim($this->post['address']->$key)) {
|
||||
$unit_search[$key] = trim($this->post['address']->$key);
|
||||
}
|
||||
}
|
||||
if($zusatz) {
|
||||
$unit_search['zusatz'] = $zusatz;
|
||||
}
|
||||
|
||||
/*
|
||||
* check customer
|
||||
@@ -173,13 +191,15 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
}
|
||||
|
||||
$address = $this->db()->fetch_object($res);
|
||||
|
||||
//var_dump($address);exit;
|
||||
|
||||
/*
|
||||
* search wohneinheit
|
||||
*/
|
||||
$where = "1=1 ";
|
||||
$unit = false;
|
||||
if(count($unit_search)) {
|
||||
//var_dump($unit_search);exit;
|
||||
foreach($unit_search as $field => $value) {
|
||||
if($field == "stock" || $field == "stiege") continue; // only check for block and tuer
|
||||
$where .= " AND `$field` = '$value'";
|
||||
@@ -191,6 +211,7 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM view_wohneinheit WHERE $where AND hausnummer_id=".$address->hausnummer_id;
|
||||
$this->log->debug($sql);
|
||||
$res = $this->db()->query($sql);
|
||||
if($this->db()->num_rows($res)) {
|
||||
$unit = $this->db()->fetch_object($res);
|
||||
@@ -200,14 +221,19 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
} else {
|
||||
// if all unit values are empty try to find the unit with all empty values
|
||||
// failure is not an error, but must be checked by a human at some point
|
||||
|
||||
$where = "hausnummer_id=".$address->hausnummer_id." AND (block = '' OR block IS NULL) AND (stiege = '' OR stiege IS NULL) AND (stock = '' OR stock IS NULL) AND (tuer = '' OR tuer IS NULL)";
|
||||
if($zusatz) {
|
||||
$where .= " AND zusatz='$zusatz'";
|
||||
} else {
|
||||
$where .= " AND (zusatz = '' OR zusatz IS NULL)";
|
||||
}
|
||||
// filter salesclusters
|
||||
if(count($this->filter_salescluster_ids)) {
|
||||
$where .= " AND netzgebiet_id IN (".implode(',', $this->filter_salescluster_ids).")";
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM view_wohneinheit WHERE $where";
|
||||
$this->log->debug($sql);
|
||||
$res = $this->db()->query($sql);
|
||||
if($this->db()->num_rows($res)) {
|
||||
$unit = $this->db()->fetch_object($res);
|
||||
|
||||
@@ -243,6 +243,11 @@ class PreordercampaignController extends mfBaseController {
|
||||
$data['district_is_city'] = 0;
|
||||
}
|
||||
|
||||
if($r->hausnummer_add_zusatz == 1) {
|
||||
$data['hausnummer_add_zusatz'] = 1;
|
||||
} else {
|
||||
$data['hausnummer_add_zusatz'] = 0;
|
||||
}
|
||||
|
||||
$data['edit_by'] = $this->me->id;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ class PreordercampaignModel {
|
||||
public $to;
|
||||
public $required_preorder_fields;
|
||||
public $district_is_city;
|
||||
|
||||
public $hausnummer_add_zusatz;
|
||||
public $note;
|
||||
|
||||
public $create_by;
|
||||
|
||||
Reference in New Issue
Block a user