From 4e726cab92754e5acb00b2d5192e9596dc82464d Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Wed, 19 Jul 2023 12:58:14 +0200 Subject: [PATCH] Addd script to list disallowed preorders by order type --- .../PreordercampaignModel.php | 6 +- ...t-unallowed-preorders-by-preorder-type.php | 68 +++++++++++++++++++ 2 files changed, 71 insertions(+), 3 deletions(-) create mode 100755 scripts/preorder/list-unallowed-preorders-by-preorder-type.php diff --git a/application/Preordercampaign/PreordercampaignModel.php b/application/Preordercampaign/PreordercampaignModel.php index 978b02bce..7afe2f1f5 100644 --- a/application/Preordercampaign/PreordercampaignModel.php +++ b/application/Preordercampaign/PreordercampaignModel.php @@ -89,7 +89,7 @@ class PreordercampaignModel { $sql = "SELECT Preordercampaign.* FROM Preordercampaign LEFT JOIN Network on (Preordercampaign.network_id = Network.id) - WHERE $where ORDER BY name,`create` + WHERE $where ORDER BY `Preordercampaign`.name,`create` "; mfLoghandler::singleton()->debug($sql); $res = $db->select("Preordercampaign", "*", "$where ORDER BY name,`create`"); @@ -126,14 +126,14 @@ class PreordercampaignModel { if(array_key_exists("name", $filter)) { $name = FronkDB::singleton()->escape($filter['name']); if($name) { - $where .= " AND `name` = '$name'"; + $where .= " AND `Preordercampaign`.`name` = '$name'"; } } if(array_key_exists("name%", $filter)) { $name = FronkDB::singleton()->escape($filter['name%']); if($name) { - $where .= " AND `name` LIKE '$name%'"; + $where .= " AND `Preordercampaign`.`name` LIKE '$name%'"; } } diff --git a/scripts/preorder/list-unallowed-preorders-by-preorder-type.php b/scripts/preorder/list-unallowed-preorders-by-preorder-type.php new file mode 100755 index 000000000..2fdfb6c90 --- /dev/null +++ b/scripts/preorder/list-unallowed-preorders-by-preorder-type.php @@ -0,0 +1,68 @@ +#!/usr/bin/php +id); +define("INTERNAL_USER_USERNAME", $me->username); + +$disallowed_preorders = []; + +foreach(PreordercampaignModel::search(["name%" => "RML"]) as $campaign) { + foreach(PreorderModel::search(["deleted" => 0, "preordercampaign_id" => $campaign->id]) as $preorder) { + if(!$preorder->type) continue; + if(!is_array($campaign->types) || !count($campaign->types)) { + $disallowed_preorders[] = $preorder; + continue; + } + if(!array_key_exists($preorder->type, $campaign->types)) { + $disallowed_preorders[] = $preorder; + continue; + } + + $allowed_freigabe = json_decode($preorder->adb_hausnummer->freigabe); + if(!is_array($allowed_freigabe) || !count($allowed_freigabe)) { + $disallowed_preorders[] = $preorder; + continue; + } + if(!in_array($preorder->type, $allowed_freigabe)) { + $disallowed_preorders[] = $preorder; + continue; + } + + } +} + +echo "Bestellcode;Kampagne;Strasse;Hausnummer;PLZ;Ortschaft;Gemeinde;Wohneinheit;OAID;extref;Anschlusstyp;Bestelltyp;Partner;Kunde Firma;Kunde UID;Kunde Vorname;Kunde Nachname;Kunde Strasse;Kunde Hausnummer;Kunde Block;Kunde Stiege;Kunde Stock;Kunde Tuer;Kunde PLZ;Kunde Stadt;Kunde Telefon;Kunde Email\n"; +foreach($disallowed_preorders as $preorder) { + foreach(['ucode','preordercampaign_id','adb_hausnummer_id','adb_wohneinheit_id','oaid','extref','connection_type','type','partner_id','company','uid','firstname','lastname','street','housenumber','block','stiege','stock','tuer','zip','city','phone','email'] as $field) { + if($field == "preordercampaign_id") { + echo '"'.$preorder->campaign->name.'";'; + } elseif($field == "adb_hausnummer_id") { + echo '"'.$preorder->adb_hausnummer->strasse->name.'";'; + echo '"'.$preorder->adb_hausnummer->hausnummer.'";'; + echo '"'.$preorder->adb_hausnummer->plz->plz.'";'; + echo '"'.$preorder->adb_hausnummer->ortschaft->name.'";'; + echo '"'.$preorder->adb_hausnummer->strasse->gemeinde->name.'";'; + } elseif($field == "adb_wohneinheit_id") { + echo '"'.($preorder->adb_wohneinheit_id) ? ((string)$preorder->adb_wohneinheit ? $preorder->adb_wohneinheit : "") : ""; + echo ';'; + } elseif($field == "partner_id") { + echo '"'.$preorder->partner->getCompanyOrName().'";'; + } else { + echo '"'.$preorder->$field.'";'; + } + + + } + echo "\n"; +} \ No newline at end of file