Added preorder map (visible for admins only)
This commit is contained in:
@@ -676,6 +676,9 @@ class PreorderController extends mfBaseController {
|
||||
case "saveAttribute":
|
||||
$return = $this->saveAttributeApi();
|
||||
break;
|
||||
case "getFilteredPreorders":
|
||||
$return = $this->getFilteredPreordersApi();
|
||||
break;
|
||||
default:
|
||||
$return = false;
|
||||
}
|
||||
@@ -689,6 +692,59 @@ class PreorderController extends mfBaseController {
|
||||
$this->returnJson($data);
|
||||
}
|
||||
|
||||
private function getFilteredPreordersApi() {
|
||||
$preorders = [];
|
||||
$filter = [];
|
||||
if(is_array($this->request->filter)) {
|
||||
$filter = $this->request->filter;
|
||||
}
|
||||
|
||||
$filter = $this->getPreparedFilter($filter);
|
||||
|
||||
$my_campaign_ids = [];
|
||||
|
||||
if($this->me->is("Admin")) {
|
||||
$my_networks = NetworkModel::getAll();
|
||||
} else {
|
||||
$my_networks = $this->me->myNetworks(['netowner','salespartner']);
|
||||
}
|
||||
|
||||
foreach($my_networks as $network) {
|
||||
foreach(PreordercampaignModel::search(['network_id' => $network->id]) as $campaign) {
|
||||
$my_campaigns[] = $campaign;
|
||||
if(!in_array($campaign->id, $my_campaign_ids)) $my_campaign_ids[] = $campaign->id;
|
||||
}
|
||||
}
|
||||
|
||||
$filter['preordercampaign_id'] = $my_campaign_ids;
|
||||
|
||||
|
||||
$results = PreorderModel::search($filter);
|
||||
|
||||
foreach($results as $preorder) {
|
||||
//$this->log->debug("building status: ".print_r($building->status,true));
|
||||
$data = clone($preorder->data);
|
||||
$data->id = $preorder->id;
|
||||
$data->status_code = $preorder->status->code;
|
||||
$data->adrcd = $preorder->adb_hausnummer->adrcd;
|
||||
$data->extref = $preorder->adb_hausnummer->extref;
|
||||
$data->adb_strasse = $preorder->adb_hausnummer->strasse->name;
|
||||
$data->adb_hausnummer = $preorder->adb_hausnummer->hausnummer;
|
||||
$data->adb_plz = $preorder->adb_hausnummer->plz->plz;
|
||||
$data->adb_ort = $preorder->adb_hausnummer->ortschaft->name;
|
||||
$data->adb_gemeinde = $preorder->adb_hausnummer->strasse->gemeinde->name;
|
||||
$data->gps_lat = $preorder->adb_hausnummer->gps_lat;
|
||||
$data->gps_long = $preorder->adb_hausnummer->gps_long;
|
||||
|
||||
$data->type_label = __($data->type, "preorder");
|
||||
$data->connection_type_label = __($data->connection_type, "preorder");
|
||||
|
||||
$preorders[] = $data;
|
||||
}
|
||||
|
||||
return ["preorders" => $preorders];
|
||||
}
|
||||
|
||||
private function saveAttributeApi() {
|
||||
$preorder_id = $this->request->id;
|
||||
if(!is_numeric($preorder_id) || $preorder_id < 1) {
|
||||
|
||||
Reference in New Issue
Block a user