Added preorder export api (for specific user)
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
ob_end_flush();
|
||||
header("Content-type: text/csv");
|
||||
header('Content-disposition: attachment; filename="preorder-export-'.date('Y-m-d_H-i-s').'.csv"');
|
||||
if(!$no_filename) {
|
||||
header('Content-disposition: attachment; filename="preorder-export-' . date('Y-m-d_H-i-s') . '.csv"');
|
||||
}
|
||||
?>
|
||||
Kampagne;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;OAID;Bestelldatum;Bestelltyp;Status Code; Status Name;Anschlusstyp;GWR Adresscode;Meridian;RW;HW;Anschluss Strasse;Anschluss Hausnummer;Anschluss PLZ;Anschluss Ort;Anschluss Wohneinheit;GPS Breite;GPS Länge;Anzahl Anschlüsse;Kunde Firma;Kunde UID;Kunde Vorname;Kunde Nachname;Kunde Strasse;Kunde PLZ;Kunde Ort;Kunde Telefon;Kunde Email;Partner;CIF Token;Cif Url; Cif Cable Url;Addon Lehrverrohrung Grundstück;Addon Hausverkabelung;BEP festgelegt;Starterpaket erhalten;Erstellt;Letzte Bearbeitung
|
||||
<?php
|
||||
|
||||
@@ -48,11 +48,13 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
$this->addRoute("/preorder/open", "getOpenPreorders", "GET");
|
||||
$this->addRoute("/preorder/customerInstallationFeedback", [$modules["Cif"], "getCifData"], "GET");
|
||||
$this->addRoute("/preorder/customerInstallationFeedback", [$modules["Cif"], "userSetCif"], "POST");
|
||||
|
||||
$this->addRoute("/preorder/fullexport", "exportPreorders", "GET");
|
||||
|
||||
$this->addRoute("/preorder/:code/clientInstallationFinished", [$modules["Cif"], "providerSetCif"], "POST");
|
||||
$this->addRoute("/preorder/:code/serviceActivated", [$modules["Activation"], "setServiceActive"], "POST");
|
||||
$this->addRoute("/preorder/:code", "getPreorder", "GET");
|
||||
$this->addRoute("/preorder/:code", "cancelPreorder", "DELETE");
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -118,7 +120,53 @@ class PreorderApicontroller extends mfBaseApicontroller {
|
||||
|
||||
$this->allowed_preordertypes = array_unique($this->allowed_preordertypes);
|
||||
}
|
||||
|
||||
|
||||
protected function exportPreorders() {
|
||||
if($this->me->username != 'r.eschner@rmlinfrastruktur.at') {
|
||||
return mfResponse::Forbidden();
|
||||
}
|
||||
|
||||
if($this->me->is("Admin")) {
|
||||
$my_networks = NetworkModel::getAll();
|
||||
} else {
|
||||
$my_networks = $this->me->myNetworks(["netowner", "salespartner"]);
|
||||
}
|
||||
|
||||
$netzgebiet_ids = [];
|
||||
$my_adb_networks = [];
|
||||
foreach($my_networks as $network) {
|
||||
if($network->adb_netzgebiet_id && !in_array($network->adb_netzgebiet_id, $netzgebiet_ids)) {
|
||||
$netzgebiet_ids[] = $network->id;
|
||||
$my_adb_networks[$network->adb_netzgebiet_id] = new ADBNetzgebiet($network->adb_netzgebiet_id);
|
||||
}
|
||||
}
|
||||
$preorder_filter = [];
|
||||
|
||||
$campaign_ids = [];
|
||||
foreach(PreordercampaignModel::search(["network_id" => $netzgebiet_ids]) as $campaign) {
|
||||
if(!in_array($campaign->id, $campaign_ids)) {
|
||||
$campaign_ids[] = $campaign->id;
|
||||
}
|
||||
}
|
||||
|
||||
$preorder_filter["preordercampaign_id"] = $campaign_ids;
|
||||
|
||||
// Get mysqli resource from Model, so layout can output data as it's retrieved
|
||||
// Works around lousy performance and horrendous memory usage
|
||||
$res = PreorderModel::searchActive($preorder_filter, [], true);
|
||||
|
||||
|
||||
$tpl = new Layout();
|
||||
$tpl->setTemplate("Preorder/export.csv");
|
||||
$tpl->set("res", $res);
|
||||
$tpl->set("no_filename", true);
|
||||
$tpl->display();
|
||||
//$csv = $tpl->render();
|
||||
//echo $csv;
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
protected function getOpenPreorders() {
|
||||
$ts = $this->get['ts'];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user