Addd script to list disallowed preorders by order type

This commit is contained in:
Frank Schubert
2023-07-19 12:58:14 +02:00
parent 6568394aeb
commit 4e726cab92
2 changed files with 71 additions and 3 deletions

View File

@@ -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%'";
}
}

View File

@@ -0,0 +1,68 @@
#!/usr/bin/php
<?php
//require 'vendor/autoload.php';
require("../../config/config.php");
define('FRONKDB_SQLDEBUG',false);
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
$me = new User(1);
define("INTERNAL_USER_ID", $me->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";
}