Merge branch 'Preorder/fix-export' into 'master'

fixed export warnings/errors and when no campaign is selected for admins

See merge request fronk/thetool!1945
This commit is contained in:
Luca Haid
2025-12-10 08:10:03 +00:00
3 changed files with 30 additions and 25 deletions

View File

@@ -75,8 +75,8 @@ while($data = mysqli_fetch_object($res)):
if($data->attributes) {
$attribs = json_decode($data->attributes, true);
if($attribs['bep_specified']) $bep = true;
if($attribs['inhouse_cabling_supplied']) $inhouse = true;
if(isset($attribs['bep_specified']) && $attribs['bep_specified']) $bep = true;
if(isset($attribs['inhouse_cabling_supplied']) && $attribs['inhouse_cabling_supplied']) $inhouse = true;
}
$addon_property = 0;

View File

@@ -1001,34 +1001,38 @@ class PreorderController extends mfBaseController {
$campaign_ids = [];
foreach(PreordercampaignModel::search(["network_id" => $netzgebiet_ids]) as $campaign) {
echo "campaign: ".$campaign->id."<br />";
if(!in_array($campaign->id, $campaign_ids)) {
$campaign_ids[] = $campaign->id;
}
}
if(array_key_exists("preordercampaign_id", $filter) && in_array($filter['preordercampaign_id'], $campaign_ids)) {
$preorder_filter["preordercampaign_id"] = $filter['preordercampaign_id'];
if($this->me->is("Admin")) {
if(array_key_exists("preordercampaign_id", $filter) && $filter['preordercampaign_id']) {
$preorder_filter["preordercampaign_id"] = $filter['preordercampaign_id'];
}
} else {
$preorder_filter["preordercampaign_id"] = $campaign_ids;
}
if(array_key_exists("preordercampaign_id", $filter) && in_array($filter['preordercampaign_id'], $campaign_ids)) {
$preorder_filter["preordercampaign_id"] = $filter['preordercampaign_id'];
} else {
$preorder_filter["preordercampaign_id"] = $campaign_ids;
}
if($preorder_filter['preordercampaign_id'] && in_array($preorder_filter['preordercampaign_id'], $campaign_ids)) {
$campaign_id = $preorder_filter['preordercampaign_id'];
if(is_numeric($campaign_id) && $campaign_id > 0) {
$campaign = new Preordercampaign($campaign_id);
$this->layout()->set("campaign", $campaign);
if($preorder_filter['preordercampaign_id'] && in_array($preorder_filter['preordercampaign_id'], $campaign_ids)) {
$campaign_id = $preorder_filter['preordercampaign_id'];
if(is_numeric($campaign_id) && $campaign_id > 0) {
$campaign = new Preordercampaign($campaign_id);
$this->layout()->set("campaign", $campaign);
if($campaign->network->owner_id != $this->me->address_id && NetworkAddressModel::getFirst(["network_id" => $campaign->network_id, "address_id" => $this->me->address_id, "addresstype" => "salespartner"])) {
if($campaign->network->owner_id != $this->me->address_id && NetworkAddressModel::getFirst(["network_id" => $campaign->network_id, "address_id" => $this->me->address_id, "addresstype" => "salespartner"])) {
$preorder_filter["operator_id"] = $this->me->address_id;
}
}
} else {
$preorder_filter['preordercampaign_id'] = $campaign_ids;
if(NetworkAddressModel::getFirst(["address_id" => $this->me->address_id, "addresstype" => "salespartner"])) {
$preorder_filter["operator_id"] = $this->me->address_id;
}
}
} else {
$preorder_filter['preordercampaign_id'] = $campaign_ids;
if(NetworkAddressModel::getFirst(["address_id" => $this->me->address_id, "addresstype" => "salespartner"])) {
$preorder_filter["operator_id"] = $this->me->address_id;
}
}
//$preorder_filter['<status_code'] = 800;
@@ -1039,6 +1043,7 @@ class PreorderController extends mfBaseController {
$this->layout()->setTemplate("Preorder/export.csv");
$this->layout()->set("res", $res);
$this->layout()->set("no_filename", false);
}
protected function apiAction() {

View File

@@ -563,13 +563,13 @@ class PreorderModel
mfLoghandler::singleton()->debug($sql);
$res = $db->query($sql);
// hack for Preorder::exportAction
if ($returnDBRessource) {
return $res;
}
if ($db->num_rows($res)) {
// hack for Preorder::exportAction
if ($returnDBRessource) {
return $res;
}
while ($data = $db->fetch_object($res)) {
if ($returnArray) {
$items[] = $data;