@@ -296,22 +387,22 @@
@@ -387,7 +478,25 @@
$("#setup_product_id").val($("#setup-activation input.value").val());
}
-
+
+ $('#new_address_street').autoComplete({minLength: 2}).keydown(preventEnter).change(updateCustomerAddressFromNewAddress).on("autocomplete.select", updateCustomerAddressFromNewAddress);
+ $('#new_address_zip').autoComplete({minLength: 1}).keydown(preventEnter).change(updateCustomerAddressFromNewAddress).on("autocomplete.select", updateCustomerAddressFromNewAddress);
+ $('#new_address_city').autoComplete({minLength: 2}).keydown(preventEnter).change(updateCustomerAddressFromNewAddress).on("autocomplete.select", updateCustomerAddressFromNewAddress);
+ $('#new_address_district').autoComplete({minLength: 2}).keydown(preventEnter);
+ $('#new_address_housenumber').keydown(preventEnter).change(updateCustomerAddressFromNewAddress).on("autocomplete.select", updateCustomerAddressFromNewAddress);
+ $('#new_address_block').keydown(preventEnter);
+ $('#new_address_stiege').keydown(preventEnter);
+ $('#new_address_stock').keydown(preventEnter);
+ $('#new_address_tuer').keydown(preventEnter);
+
+
+ function preventEnter() {
+ if(event.keyCode == 13) {
+ event.preventDefault();
+ return false;
+ }
+ }
+
$("#product_id").select2({
allowClear: true,
@@ -421,7 +530,15 @@
dataType: 'json'
},
minimumInputLength: 3,
- placeholder: "Suche nach Straße, Hausnummer, Ort"
+ placeholder: "Suche nach Straße, Hausnummer, Ort",
+ allowClear: true
+ });
+
+ $('#adb_hausnummer_id').on('select2:close', function(e) {
+ if(!$('#adb_hausnummer_id').val()) {
+ $('#new-address-toggle').show();
+ }
+
});
@@ -429,6 +546,28 @@
var hausnummer_id = $('#adb_hausnummer_id').val();
if(!hausnummer_id) return;
+ $('#new-address-toggle').hide();
+ $('#new-address').hide();
+
+ $.get('=self::getUrl("AddressDB", "Api")?>',
+ {
+ do: "getAddressByHousenumber",
+ hausnummer_id: hausnummer_id
+ },
+ function(success) {
+ if(success.status != "OK") {
+ return;
+ }
+ var address = success.result;
+ console.log(address);
+ $('#new_address_street').val(address.strasse);
+ $('#new_address_housenumber').val(address.hausnummer);
+ $('#new_address_zip').val(address.plz);
+ $('#new_address_city').val(address.ort);
+ $('#new_address_district').val(address.ortschaft);
+ },
+ 'json');
+
$.get('=self::getUrl("AddressDB", "Api")?>',
{
@@ -487,6 +626,14 @@
"json");
});
+ function updateCustomerAddressFromNewAddress() {
+ $('input[name=street]').val($('#new_address_street').val());
+ $('input[name=housenumber]').val($('#new_address_housenumber').val());
+ $('input[name=zip]').val($('#new_address_zip').val());
+ $('input[name=city]').val($('#new_address_city').val());
+ }
+
+
$('#adb_wohneinheit_id').change(function() {
val = $('#adb_wohneinheit_id').val();
@@ -611,6 +758,12 @@
'json');
}
+
+ function toggleNewAddress() {
+ $('#new-address').toggle();
+ $('#wohneinheit_row').toggle();
+ event.preventDefault();
+ }
\ No newline at end of file
diff --git a/application/ADBGemeinde/ADBGemeindeModel.php b/application/ADBGemeinde/ADBGemeindeModel.php
index cccdc428b..a5a518228 100644
--- a/application/ADBGemeinde/ADBGemeindeModel.php
+++ b/application/ADBGemeinde/ADBGemeindeModel.php
@@ -40,7 +40,16 @@ class ADBGemeindeModel {
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
$where = self::getSqlFilter($filter);
- $res = $db->select("Gemeinde", "*", "$where ORDER BY name,code,kennziffer LIMIT 1");
+ $sql = "SELECT Gemeinde.* FROM Gemeinde
+ LEFT JOIN Plz ON (Plz.gemeinde_id = Gemeinde.id)
+ LEFT JOIN GemeindeNetzgebiet ON (GemeindeNetzgebiet.gemeinde_id = Gemeinde.id)
+ LEFT JOIN Netzgebiet ON (GemeindeNetzgebiet.netzgebiet_id = Netzgebiet.id)
+ LEFT JOIN Ortschaft ON (Ortschaft.gemeinde_id = Gemeinde.id)
+ WHERE $where
+ GROUP BY Gemeinde.id
+ ORDER BY name,code,kennziffer
+ LIMIT 1";
+ $res = $db->query($sql);
if($db->num_rows($res)) {
$data = $db->fetch_object($res);
$item = new ADBGemeinde($data);
diff --git a/application/ADBHausnummer/ADBHausnummerModel.php b/application/ADBHausnummer/ADBHausnummerModel.php
index e7c5dbcd9..0b13876e0 100644
--- a/application/ADBHausnummer/ADBHausnummerModel.php
+++ b/application/ADBHausnummer/ADBHausnummerModel.php
@@ -1,6 +1,7 @@
select("Ortschaft", "*", "$where ORDER BY name,kennziffer LIMIT 1");
+ $sql = "SELECT Ortschaft.* FROM Ortschaft
+ LEFT JOIN Gemeinde ON (Ortschaft.gemeinde_id = Gemeinde.id)
+ LEFT JOIN Plz ON (Plz.gemeinde_id = Gemeinde.id)
+ LEFT JOIN GemeindeNetzgebiet ON (GemeindeNetzgebiet.gemeinde_id = Gemeinde.id)
+ LEFT JOIN Netzgebiet ON (GemeindeNetzgebiet.netzgebiet_id = Netzgebiet.id)
+ WHERE $where
+ ORDER BY gemeinde_id,Ortschaft.name,Ortschaft.kennziffer
+ LIMIT 1";
+
+ $res = $db->query($sql);
if($db->num_rows($res)) {
$data = $db->fetch_object($res);
$item = new ADBOrtschaft($data);
diff --git a/application/ADBPlz/ADBPlzModel.php b/application/ADBPlz/ADBPlzModel.php
index b4fe7526b..219432934 100644
--- a/application/ADBPlz/ADBPlzModel.php
+++ b/application/ADBPlz/ADBPlzModel.php
@@ -40,7 +40,16 @@ class ADBPlzModel {
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
$where = self::getSqlFilter($filter);
- $res = $db->select("Plz", "*", "$where ORDER BY plz LIMIT 1");
+ $sql = "SELECT Plz.* FROM Plz
+ LEFT JOIN Gemeinde ON (Gemeinde.id = Plz.gemeinde_id)
+ LEFT JOIN GemeindeNetzgebiet ON (GemeindeNetzgebiet.gemeinde_id = Plz.gemeinde_id)
+ LEFT JOIN Netzgebiet ON (GemeindeNetzgebiet.netzgebiet_id = Netzgebiet.id)
+ WHERE $where
+ GROUP BY Plz.id
+ ORDER BY plz
+ LIMIT 1";
+ mfLoghandler::singleton()->debug($sql);
+ $res = $db->query($sql);
if($db->num_rows($res)) {
$data = $db->fetch_object($res);
$item = new ADBPlz($data);
diff --git a/application/ADBStrasse/ADBStrasseModel.php b/application/ADBStrasse/ADBStrasseModel.php
index 9b33eac79..4a51a0fde 100644
--- a/application/ADBStrasse/ADBStrasseModel.php
+++ b/application/ADBStrasse/ADBStrasseModel.php
@@ -41,7 +41,17 @@ class ADBStrasseModel {
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
$where = self::getSqlFilter($filter);
- $res = $db->select("Strasse", "*", "$where ORDER BY gemeinde_id,kennziffer,name LIMIT 1");
+ $sql = "SELECT Strasse.* FROM Strasse
+ LEFT JOIN Hausnummer ON (Hausnummer.strasse_id = Strasse.id)
+ LEFT JOIN Plz ON (Plz.id = Hausnummer.plz_id)
+ LEFT JOIN Gemeinde ON (Gemeinde.id = Strasse.gemeinde_id)
+ LEFT JOIN GemeindeNetzgebiet ON (GemeindeNetzgebiet.gemeinde_id = Strasse.gemeinde_id)
+ LEFT JOIN Netzgebiet ON (GemeindeNetzgebiet.netzgebiet_id = Netzgebiet.id)
+ WHERE $where
+ GROUP BY Strasse.id
+ ORDER BY gemeinde_id,name,kennziffer
+ LIMIT 1";
+ $res = $db->query($sql);
if($db->num_rows($res)) {
$data = $db->fetch_object($res);
$item = new ADBStrasse($data);
diff --git a/application/AddressDB/AddressDBController.php b/application/AddressDB/AddressDBController.php
index e269a9517..73bd24149 100644
--- a/application/AddressDB/AddressDBController.php
+++ b/application/AddressDB/AddressDBController.php
@@ -28,12 +28,24 @@ class AddressDBController extends mfBaseController {
case "getFilteredBuildings":
$return = $this->getFilteredBuildingsApi();
break;
+ case "getAddressByHousenumber":
+ $return = $this->getAddressByHousenumberApi();
+ break;
case "getUnits":
$return = $this->getUnitsApi();
break;
+ case "findStreets":
+ $return = $this->findStreetsApi();
+ break;
+ case "findDistricts":
+ $return = $this->findDistrictsApi();
+ break;
case "findCities":
$return = $this->findCitiesApi();
break;
+ case "findZips":
+ $return = $this->findZipsApi();
+ break;
case 'findBuildings':
$return = $this->findBuildingsApi();
break;
@@ -189,15 +201,109 @@ class AddressDBController extends mfBaseController {
return ['units' => $results];
}
- private function findCitiesApi() {
- $cities = [];
- $search = $this->request->search;
+ private function getAddressByHousenumberApi() {
+ $zips = [];
+ $hausnummer_id = trim($this->request->hausnummer_id);
- $ort_ids = [];
+ if(!is_numeric($hausnummer_id) || $hausnummer_id < 1) {
+ return false;
+ }
+ $hausnummer = new ADBHausnummer($hausnummer_id);
+
+ $result = [
+ 'hausnummer_id' => $hausnummer->id,
+ 'strasse' => $hausnummer->strasse->name,
+ 'hausnummer' => $hausnummer->hausnummer,
+ 'plz' => $hausnummer->plz->plz,
+ 'ort' => $hausnummer->strasse->gemeinde->name,
+ 'ortschaft' => $hausnummer->ortschaft->name
+ ];
+
+ return $result;
+ }
+
+ private function findStreetsApi() {
+ $streets = [];
+ $search = trim($this->request->q);
+
+ foreach(ADBStrasseModel::search(['name%' => $search]) as $street) {
+ if(!in_array($street->name, $streets)) {
+ $streets[] = $street->name;
+ }
+ }
+
+ $this->returnJson($streets);
+ }
+
+ private function findZipsApi() {
+ $zips = [];
+ $search = trim($this->request->q);
+ $campaign_id = trim($this->request->campaign_id);
+
+ $plz_search = [];
+
+ if($campaign_id) {
+ $campaign = new Preordercampaign($campaign_id);
+ if(!$campaign->id) {
+ header("Content-Type: application/json");
+ echo json_encode(["results" => []]);
+ exit;
+ }
+
+ $scluster_ids = [];
+ foreach($campaign->salesclusters as $scluster) {
+ $scluster_ids[] = $scluster->id;
+ }
+ $plz_search['netzgebiet_id'] = $scluster_ids;
+ }
+
+ $plz_search['plzstring%'] = $search;
+
+
+ foreach(ADBPlzModel::search($plz_search) as $zip) {
+ if(!in_array($zip->plz, $zips)) {
+ $zips[] = $zip->plz;
+ }
+ }
+
+ $this->returnJson($zips);
+ }
+
+ private function findDistrictsApi() {
+ $districts = [];
+ $search = trim($this->request->q);
+ $autocomplete = $this->request->autocomplete;
+ $campaign_id = trim($this->request->campaign_id);
+
+ $district_search = [];
+
+ if($campaign_id) {
+ $campaign = new Preordercampaign($campaign_id);
+ if(!$campaign->id) {
+ header("Content-Type: application/json");
+ echo json_encode(["results" => []]);
+ exit;
+ }
+
+ $scluster_ids = [];
+ foreach($campaign->salesclusters as $scluster) {
+ $scluster_ids[] = $scluster->id;
+ }
+ $district_search['netzgebiet_id'] = $scluster_ids;
+ }
+
+ $district_search['name%'] = "%".$search;
+
+ foreach(ADBOrtschaftModel::search($district_search) as $district) {
+ if(!in_array($district->name, $districts)) {
+ $districts[] = $district->name;
+ }
+ }
+ /*
if(is_numeric($search)) {
$adb = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
- $sql = "SELECT ortschaft_id from view_wohneinheit WHERE plz like '%$search%' GROUP BY ortschaft_id";
+ $sql = "SELECT ortschaft_id from view_wohneinheit WHERE ortschaft like '%$search%' GROUP BY ortschaft_id";
$res = $adb->query($sql);
if($adb->num_rows($res)) {
@@ -215,9 +321,18 @@ class AddressDBController extends mfBaseController {
$results = ADBOrtschaftModel::search(['name%' => $search]);
}
+ if($autocomplete) {
+ foreach($results as $city) {
+ if(!in_array($city->name, $cities)) {
+ $cities[] = $city->name;
+ }
+ }
+ $this->returnJson($cities);
+ }
+
foreach($results as $city) {
$gemeinde = new ADBGemeinde($city->gemeinde_id);
-
+
$data = [];
$data['id'] = $city->id;
$data['gemeinde_id'] = $city->gemeinde_id;
@@ -226,8 +341,43 @@ class AddressDBController extends mfBaseController {
$data['name'] = $city->name;
$cities[] = $data;
}
+ */
+ $this->returnJson($districts);
+ //return ['cities' => $cities];
+ }
+
+ private function findCitiesApi() {
+ $cities = [];
+ $search = $this->request->q;
+ //$autocomplete = $this->request->autocomplete;
+ $campaign_id = trim($this->request->campaign_id);
+
+ $city_search = [];
+
+ if($campaign_id) {
+ $campaign = new Preordercampaign($campaign_id);
+ if(!$campaign->id) {
+ header("Content-Type: application/json");
+ echo json_encode(["results" => []]);
+ exit;
+ }
+
+ $scluster_ids = [];
+ foreach($campaign->salesclusters as $scluster) {
+ $scluster_ids[] = $scluster->id;
+ }
+ $city_search['netzgebiet_id'] = $scluster_ids;
+ }
+
+ $city_search['name%'] = "%".$search;
+
+ foreach(ADBGemeindeModel::search($city_search) as $city) {
+ if(!in_array($city->name, $cities)) {
+ $cities[] = $city->name;
+ }
+ }
+ $this->returnJson($cities);
- return ['cities' => $cities];
}
private function getFilteredBuildingsApi() {
diff --git a/application/Preorder/Preorder.php b/application/Preorder/Preorder.php
index 6e1d42085..0cd6d6548 100644
--- a/application/Preorder/Preorder.php
+++ b/application/Preorder/Preorder.php
@@ -34,7 +34,7 @@ class Preorder extends mfBaseModel {
}
return $ucode;
}
-
+
public function getApiArray() {
if(!$this->id) {
return false;
diff --git a/application/Preorder/PreorderController.php b/application/Preorder/PreorderController.php
index 505ac361d..aec93e37b 100644
--- a/application/Preorder/PreorderController.php
+++ b/application/Preorder/PreorderController.php
@@ -182,7 +182,7 @@ class PreorderController extends mfBaseController {
protected function saveAction() {
$r = $this->request;
- //var_dump($r);
+ //var_dump($r);exit;
/*
* add or edit
@@ -301,16 +301,173 @@ class PreorderController extends mfBaseController {
} else {
$preorder->update($data);
}
-
- /*
- * validation
- */
$campaign = new Preordercampaign($preorder->preordercampaign_id);
if(!$campaign->id) {
$this->layout()->setFlash("Keine Kampagne ausgewählt!", "error");
$this->redirect("Preordercampaign");
}
+ //var_dump($preorder, $r);exit;
+ // handle new address creation
+ if(!$preorder->adb_hausnummer_id) {
+ // check if new address was submitted
+ $this->log->debug("check if new address was submitted");
+ if($r->new_address_street && $r->new_address_housenumber && $r->new_address_zip && $r->new_address_city && $r->new_address_district) {
+ $city_search = trim($r->new_address_city);
+ $district_search = trim($r->new_address_district);
+ $zip_search = trim($r->new_address_zip);
+ $street_search = trim($r->new_address_street);
+ $housenumber_search = trim($r->new_address_housenumber);
+
+ $block = trim($r->new_address_block);
+ $stiege = trim($r->new_address_stiege);
+ $stock = trim($r->new_address_stock);
+ $tuer = trim($r->new_address_tuer);
+
+ $preorder->new_address_city = $city_search;
+ $preorder->new_address_district = $district_search;
+ $preorder->new_address_zip = $zip_search;
+ $preorder->new_address_street = $street_search;
+ $preorder->new_address_housenumber = $housenumber_search;
+
+
+ $netzgebiet_ids = [];
+ foreach($campaign->salesclusters as $scluster) {
+ $netzgebiet_ids[] = $scluster->id;
+ }
+ $netzgebiet_id = $netzgebiet_ids[0];
+ if(!$netzgebiet_id) {
+ $this->layout()->setFlash("Kann Adresse nicht updaten: Kampagne hat kein Netzgebiet", "error");
+ $this->layout()->set("preorder", $preorder);
+ $this->layout()->set("campaign", $campaign);
+ return $this->addAction();
+ }
+ $netzgebiet = new ADBNetzgebiet($netzgebiet_id);
+ if(!$netzgebiet->id) {
+ $this->layout()->setFlash("Neztgebiet nicht gefunden", "error");
+ $this->layout()->set("preorder", $preorder);
+ $this->layout()->set("campaign", $campaign);
+ return $this->addAction();
+ }
+
+ $city = ADBGemeindeModel::getFirst(['name' => $city_search, 'netzgebiet_id' => $netzgebiet_id]);
+ if(!$city) {
+ $this->layout()->setFlash("Gemeinde nicht Adress-DB gefunden", "error");
+ $this->layout()->set("preorder", $preorder);
+ $this->layout()->set("campaign", $campaign);
+ return $this->addAction();
+ }
+
+ $district = ADBOrtschaftModel::getFirst(['name' => $district_search, 'netzgebiet_id' => $netzgebiet_id]);
+ if(!$district) {
+ $this->layout()->setFlash("Ortsteil nicht Adress-DB gefunden", "error");
+ $this->layout()->set("preorder", $preorder);
+ $this->layout()->set("campaign", $campaign);
+ return $this->addAction();
+ }
+
+ $zip = ADBPlzModel::getFirst(['plz' => $zip_search, 'gemeinde_id' => $city->id]);
+ if(!$zip) {
+ $this->layout()->setFlash("PLZ nicht Adress-DB gefunden", "error");
+ $this->layout()->set("preorder", $preorder);
+ $this->layout()->set("campaign", $campaign);
+ return $this->addAction();
+ }
+
+ $street = ADBStrasseModel::getFirst(['name' => $street_search, 'ortschaft_id' => $district->id, 'gemeinde_id' => $city->id]);
+ if(!$street) {
+ $this->log->debug("create street");
+ $street = ADBStrasseModel::create([
+ 'ortschaft_id' => $district->id,
+ 'gemeinde_id' => $city->id,
+ 'name' => $street_search
+ ]);
+
+ if(!$street->save()) {
+ $this->layout()->setFlash("Fehler beim Speichern der neuen Straße", "error");
+ $this->layout()->set("preorder", $preorder);
+ $this->layout()->set("campaign", $campaign);
+ return $this->addAction();
+ }
+ }
+
+
+ $this->log->debug("search hausnummer");
+ $hausnummer = ADBHausnummerModel::getFirst(['netzgebiet_id' => $netzgebiet_ids, 'ortschaft_id' => $district_search, 'gemeinde_id' => $city->id, 'plz_id' => $zip->id, 'strasse_id' => $street->id, 'hausnummer' => $housenumber_search]);
+ if($hausnummer) {
+ // hausnummer gibts scho!
+ $this->layout()->setFlash("Adresse war schon vorhanden!", "warn");
+ $preorder->adb_hausnummer_id = $hausnummer->id;
+ } else {
+ // try with empty netzgebiet
+ $this->log->debug("search hausnummer mit empty netzgebiet");
+ $hausnummer = ADBHausnummerModel::getFirst(['netzgebiet_id' => null, 'ortschaft_id' => $district_search, 'gemeinde_id' => $city->id, 'plz_id' => $zip->id, 'strasse_id' => $street->id, 'hausnummer' => $housenumber_search]);
+ if($hausnummer) {
+ // Hausnummer ohne Netzgebiet gefunden -> update netzgebiet_id
+ $this->log->debug("hausnummer id: updated netzgebiet from NULL to ".$netzgebiet_ids);
+ $hausnummer->netzgebiet_id = $netzgebiet_id;
+ $hausnummer->save();
+ $preorder->adb_hausnummer_id = $hausnummer->id;
+ } else {
+ // try with any netzgebiet
+ $this->log->debug("search hausnummer with ohne netzgebiet");
+ $hausnummer = ADBHausnummerModel::getFirst(['ortschaft_id' => $district_search, 'gemeinde_id' => $city->id, 'plz_id' => $zip->id, 'strasse_id' => $street->id, 'hausnummer' => $housenumber_search]);
+ if($hausnummer) {
+ $this->log->debug("Hausnummer ".$hausnummer->id." in Netzgebiet (".implode(",", $netzgebiet_ids)." gesucht, aber in ".$hausnummer->netzgebiet_id)." gefunden";
+ $this->layout()->setFlash("Neue Adresse ist bereits im Netzgebiet ".$hausnummer->netzgebiet->name." vorhanden", "error");
+ $this->layout()->set("preorder", $preorder);
+ $this->layout()->set("campaign", $campaign);
+ return $this->addAction();
+ } else {
+ // hausnummer anlegen
+ $hausnummer = ADBHausnummerModel::create([
+ 'netzgebiet_id' => $netzgebiet_id,
+ 'ortschaft_id' => $district->id,
+ 'plz_id' => $zip->id,
+ 'strasse_id' => $street->id,
+ 'hausnummer' => $housenumber_search,
+ 'freigabe' => $netzgebiet->freigabe,
+ 'manual_add' => date('U'),
+ 'manual_add_by' => $this->me->id,
+ 'manual_add_info' => "thetool user ".$this->me->username
+ ]);
+
+ if(!$hausnummer->save()) {
+ $this->layout()->setFlash("Fehler beim Speichern der neuen Adresse", "error");
+ $this->layout()->set("preorder", $preorder);
+ $this->layout()->set("campaign", $campaign);
+ return $this->addAction();
+ }
+ $preorder->adb_hausnummer_id = $hausnummer->id;
+ $preorder->address_created = date('U');
+ $preorder->address_created_by = $this->me->id;
+ $preorder->adb_wohneinheit_id = null;
+
+ // create wohneinheit
+ $wohneinheit = ADBWohneinheitModel::create([
+ 'hausnummer_id' => $hausnummer->id,
+ 'num' => 1,
+ 'block' => ($block) ? $block : null,
+ 'stiege' => ($stiege) ? $stiege : null,
+ 'stock' => ($stock) ? $stock : null,
+ 'tuer' => ($tuer) ? $tuer : null
+ ]);
+ if($wohneinheit->save()) {
+ $preorder->adb_wohneinheit_id = $wohneinheit->id;
+ } else {
+ $this->layout()->setFlash("Konnte Wohneinheit nicht speichern", "warn");
+ }
+
+ }
+ }
+ }
+
+ }
+ }
+
+ /*
+ * validation
+ */
if(!array_key_exists($data['type'], $campaign->types)) {
$this->layout()->setFlash("Bitte Vorbestelltyp auswählen!", "error");
@@ -362,6 +519,12 @@ class PreorderController extends mfBaseController {
//var_dump($preorder);exit;
+ // unset temporary properties
+ unset($preorder->new_address_city);
+ unset($preorder->new_address_district);
+ unset($preorder->new_address_zip);
+ unset($preorder->new_address_street);
+ unset($preorder->new_address_housenumber);
/*
* generate ucode and save
@@ -375,7 +538,7 @@ class PreorderController extends mfBaseController {
}
- $qs = ['filter' => ['campaign_id' => $preorder->preordercampaign_id]];
+ $qs = ['filter' => ['preordercampaign_id' => $preorder->preordercampaign_id, 'ucode' => $preorder->ucode]];
$qs = http_build_query($qs);
$this->layout()->setFlash("Vorbestellung erfolgreich gespeichert!", "success");