Preordercampaigns can use city or district as city
This commit is contained in:
@@ -4,8 +4,8 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
private $campaigns = [];
|
||||
private $filter_salescluster_ids = [];
|
||||
private $campaigns_by_scluster = [];
|
||||
|
||||
private $allowed_preordertypes = [];
|
||||
private $district_is_city = false;
|
||||
|
||||
protected function init() {
|
||||
$db = $this->db(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
@@ -46,6 +46,10 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
$this->allowed_preordertypes[] = $type->type;
|
||||
}
|
||||
}
|
||||
|
||||
if($campaign->district_is_city == 1) {
|
||||
$this->district_is_city = true;
|
||||
}
|
||||
}
|
||||
|
||||
foreach(PreordercampaignOriginhostnameModel::search(['preordercampaign_id' => $campaign->id]) as $origin) {
|
||||
@@ -90,7 +94,11 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
$city_search['netzgebiet_id'] = $this->filter_salescluster_ids;
|
||||
}
|
||||
|
||||
$results = ADBGemeindeModel::search($city_search);
|
||||
if($this->district_is_city) {
|
||||
$results = ADBOrtschaftModel::search($city_search);
|
||||
} else {
|
||||
$results = ADBGemeindeModel::search($city_search);
|
||||
}
|
||||
|
||||
|
||||
$cities = [];
|
||||
@@ -214,7 +222,6 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
$search = trim($get['search']);
|
||||
$street = trim($get['street']);
|
||||
$city = trim($get['city']);
|
||||
$district = trim($get['district']);
|
||||
$zip = trim($get['zip']);
|
||||
|
||||
if(!$search && !$street && !$city && !$zip) {
|
||||
@@ -227,10 +234,18 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
|
||||
$where = "1=1";
|
||||
$street_search = ["name%" => $street];
|
||||
$street = $this->db()->escape($street);
|
||||
$where .= " AND strasse like '$street%'";
|
||||
if($city) {
|
||||
$street_search['gemeinde%'] = $city;
|
||||
$city = $this->db()->escape($city);
|
||||
$where .= " AND gemeinde like '$city%'";
|
||||
if($this->district_is_city) {
|
||||
$street_search['ortschaft%'] = $city;
|
||||
$city = $this->db()->escape($city);
|
||||
$where .= " AND ortschaft like '$city%'";
|
||||
} else {
|
||||
$street_search['gemeinde%'] = $city;
|
||||
$city = $this->db()->escape($city);
|
||||
$where .= " AND gemeinde like '$city%'";
|
||||
}
|
||||
}
|
||||
if($zip) {
|
||||
$street_search['plz%'] = $zip;
|
||||
@@ -293,7 +308,11 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
$where .= " AND ortschaft like '$search_district%'";
|
||||
}
|
||||
if($search_city && $search_city != "%") {
|
||||
$where .= " AND gemeinde like '$search_city%'";
|
||||
if($this->district_is_city) {
|
||||
$where .= " AND ortschaft like '$search_city%'";
|
||||
} else {
|
||||
$where .= " AND gemeinde like '$search_city%'";
|
||||
}
|
||||
}
|
||||
if($search_street && $search_street != "%") {
|
||||
$where .= " AND strasse like '$search_street%'";
|
||||
@@ -329,7 +348,7 @@ class AddressdbApicontroller extends mfBaseApicontroller {
|
||||
|
||||
$addresses[] = [
|
||||
'zip' => $data->plz,
|
||||
'city' => $data->gemeinde,
|
||||
'city' => ($this->district_is_city) ? $data->ortschaft : $data->gemeinde,
|
||||
'district' => $data->ortschaft,
|
||||
'street' => $data->strasse,
|
||||
'housenumber' => $data->hausnummer,
|
||||
|
||||
Reference in New Issue
Block a user