diff --git a/Layout/default/Preorder/Index.php b/Layout/default/Preorder/Index.php index eae4e326a..7ac0b9988 100644 --- a/Layout/default/Preorder/Index.php +++ b/Layout/default/Preorder/Index.php @@ -16,7 +16,7 @@ -

Vorbestellungenname : ""?>

+

Vorbestellungenname : ""?>

@@ -36,8 +36,8 @@ @@ -66,7 +66,7 @@ @@ -102,7 +102,7 @@
-

Liste aller Vorbestellungenname : ""?>

+

Liste aller Vorbestellungenname : ""?>

diff --git a/application/Addresstype/AddresstypeModel.php b/application/Addresstype/AddresstypeModel.php index 992228eec..0f30428ff 100644 --- a/application/Addresstype/AddresstypeModel.php +++ b/application/Addresstype/AddresstypeModel.php @@ -114,19 +114,21 @@ class AddresstypeModel { /* * Address Type */ - if(is_array($filter['addresstype']) && count($filter['addresstype'])) { - $at = $filter['addresstype']; - $in = []; - foreach(TT_ROLES as $role) { - if(in_array($role, $at)) { - $in[] = "Addresstype.type = '$role'"; + if(array_key_exists('addresstype', $filter)) { + if(is_array($filter['addresstype']) && count($filter['addresstype'])) { + $at = $filter['addresstype']; + $in = []; + foreach(TT_ROLES as $role) { + if(in_array($role, $at)) { + $in[] = "Addresstype.type = '$role'"; + } + } + + $or = ""; + if(count($in)) { + $or = implode(" OR ", $in); + $where .= " AND ( $or )"; } - } - - $or = ""; - if(count($in)) { - $or = implode(" OR ", $in); - $where .= " AND ( $or )"; } } diff --git a/application/NetworkAddress/NetworkAddressModel.php b/application/NetworkAddress/NetworkAddressModel.php index 0e90d6b0f..6f0640717 100644 --- a/application/NetworkAddress/NetworkAddressModel.php +++ b/application/NetworkAddress/NetworkAddressModel.php @@ -89,7 +89,6 @@ class NetworkAddressModel { $where = self::getSqlFilter($filter); $sql = "SELECT * FROM NetworkAddress WHERE $where ORDER BY `type`"; - mfLoghandler::singleton()->debug($sql); $res = $db->query($sql); //$res = $db->select("NetworkAddress", "*", "$where ORDER BY `type`"); if($db->num_rows($res)) { @@ -137,24 +136,6 @@ class NetworkAddressModel { } - if(is_array($filter['addresstype']) && count($filter['addresstype'])) { - /*$at = $filter['addresstype']; - $in = []; - foreach(TT_ROLES as $role) { - if(in_array($role, $at)) { - $role = $db->escape($role); - $in[] = "NetworkAddress.type = '$role'"; - } - } - - $or = ""; - if(count($in)) { - $or = implode(" OR ", $in); - $where .= " AND ( $or )"; - }*/ - - - } //var_dump($filter, $where);exit; return $where; diff --git a/application/Preorder/PreorderController.php b/application/Preorder/PreorderController.php index 0bfb46d96..5f1756a4a 100644 --- a/application/Preorder/PreorderController.php +++ b/application/Preorder/PreorderController.php @@ -37,19 +37,40 @@ class PreorderController extends mfBaseController { $pagination['start'] = intval($this->request->s); } - $campaign_filter = []; + $preorder_filter = $filter; + $my_campaigns = []; + $my_campaign_ids = []; - if($filter['preordercampaign_id']) { - $campaign_id = $filter['preordercampaign_id']; - if(is_numeric($campaign_id) && $campaign_id > 0) { - $campaign = new Preordercampaign($campaign_id); - $this->layout()->set("campaign", $campaign); + if($this->me->is("Admin")) { + if($filter['preordercampaign_id']) { + $this->layout()->set("campaign", new Preordercampaign($filter['preordercampaign_id'])); + } else { + $my_campaigns = PreordercampaignModel::getAll(); + } + $this->layout()->set("my_campaigns", PreordercampaignModel::getAll()); + } else { + $my_networks = $this->me->myNetworks(["netowner", "salespartner"]); + //var_dump($my_networks);exit; + + 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; + } + } + //var_dump($my_network_ids,$my_campaign_ids);exit; + $this->layout()->set("my_campaigns", $my_campaigns); + + if($filter['preordercampaign_id'] && in_array($filter['preordercampaign_id'], $my_campaign_ids)) { + $campaign_id = $filter['preordercampaign_id']; + if(is_numeric($campaign_id) && $campaign_id > 0) { + $campaign = new Preordercampaign($campaign_id); + $this->layout()->set("campaign", $campaign); + } + } else { + $filter['preordercampaign_id'] = $my_campaign_ids; } } - //var_dump($filter);exit; - - - if($filter['addon_services']) { $pagination['maxItems'] = PreorderModel::countOrderedAddonservices($filter); diff --git a/application/Preorder/PreorderModel.php b/application/Preorder/PreorderModel.php index a426f57b7..d37cd9756 100644 --- a/application/Preorder/PreorderModel.php +++ b/application/Preorder/PreorderModel.php @@ -242,6 +242,8 @@ class PreorderModel { $preordercampaign_id = $filter['preordercampaign_id']; if(is_numeric($preordercampaign_id)) { $where .= " AND preordercampaign_id=$preordercampaign_id"; + } elseif(is_array($preordercampaign_id) && count($preordercampaign_id)) { + $where .= " AND preordercampaign_id IN (". implode(",", $preordercampaign_id).")"; } } diff --git a/application/Preordercampaign/PreordercampaignController.php b/application/Preordercampaign/PreordercampaignController.php index 71a617c0d..3a013a230 100644 --- a/application/Preordercampaign/PreordercampaignController.php +++ b/application/Preordercampaign/PreordercampaignController.php @@ -49,7 +49,7 @@ class PreordercampaignController extends mfBaseController { foreach($my_networks as $mn) { if($mn->id == $filter['network_id']) { $use_filter_network = true; - continue; + break; } } @@ -290,7 +290,7 @@ class PreordercampaignController extends mfBaseController { if(!count($preorders)) { $this->layout->setFlash("Keine Vorbestellungen mit bestellten Dienstleistungen gefunden."); - $this->redirect("Preorder"); + $this->redirect("Preordercampaign"); } $csv = []; diff --git a/application/Preordercampaign/PreordercampaignModel.php b/application/Preordercampaign/PreordercampaignModel.php index 1ce5ea0dc..974fe0cc8 100644 --- a/application/Preordercampaign/PreordercampaignModel.php +++ b/application/Preordercampaign/PreordercampaignModel.php @@ -83,7 +83,6 @@ class PreordercampaignModel { $db = FronkDB::singleton(); $where = self::getSqlFilter($filter); - mfLoghandler::singleton()->debug($where); $res = $db->select("Preordercampaign", "*", "$where ORDER BY name,`create`"); if($db->num_rows($res)) { while($data = $db->fetch_object($res)) { diff --git a/application/User/User.php b/application/User/User.php index 48e61c16e..cfd9bf9df 100644 --- a/application/User/User.php +++ b/application/User/User.php @@ -241,9 +241,6 @@ class User extends mfBaseModel { if(!is_array($types)) { $types = [$types]; } - //var_dump($types);exit; - - //var_dump($my_networks);exit; foreach($my_networks as $net) { //var_dump($net);exit; @@ -253,7 +250,6 @@ class User extends mfBaseModel { } $found = NetworkaddressModel::search(['network_id' => $net->id, "addresstype" => $types, 'address_id' => $address_id]); if($found) { - $this->log->debug("allowed net: ".$net->id); $typenets[] = $net; }