checking permissions in Preorder/Index
This commit is contained in:
@@ -16,7 +16,7 @@
|
|||||||
<li class="breadcrumb-item active">Vorbestellungen</li>
|
<li class="breadcrumb-item active">Vorbestellungen</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
<h4 class="page-title">Vorbestellungen<?=($campaign) ? " - ".$campaign->name : ""?></h4>
|
<h4 class="page-title">Vorbestellungen<?=(isset($campaign) && $campaign) ? " - ".$campaign->name : ""?></h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -36,8 +36,8 @@
|
|||||||
<label class="form-label" for="filter_preordercampaign_id">Kampagne</label>
|
<label class="form-label" for="filter_preordercampaign_id">Kampagne</label>
|
||||||
<select name="filter[preordercampaign_id]" id="filter_preordercampaign_id" class="form-control">
|
<select name="filter[preordercampaign_id]" id="filter_preordercampaign_id" class="form-control">
|
||||||
<option value="">Alle</option>
|
<option value="">Alle</option>
|
||||||
<?php foreach(PreordercampaignModel::getAll() as $c): ?>
|
<?php foreach($my_campaigns as $c): ?>
|
||||||
<option value="<?=$c->id?>" <?=($c->id == $campaign->id) ? "selected='selected'" : ""?>><?=$c->name?></option>
|
<option value="<?=$c->id?>" <?=(isset($campaign) && $c->id == $campaign->id) ? "selected='selected'" : ""?>><?=$c->name?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
<label class="form-label" for="filter_addon_services">Zusatzdienste</label>
|
<label class="form-label" for="filter_addon_services">Zusatzdienste</label>
|
||||||
<select name="filter[addon_services]" id="filter_addon_services" class="form-control">
|
<select name="filter[addon_services]" id="filter_addon_services" class="form-control">
|
||||||
<option></option>
|
<option></option>
|
||||||
<option value="1" <?=($filter['addon_services'] == 1) ? "selected='selected'" : ""?>>Nur mit Zusatzdiensten</option>
|
<option value="1" <?=(array_key_exists("addon_services", $filter) && $filter['addon_services'] == 1) ? "selected='selected'" : ""?>>Nur mit Zusatzdiensten</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="float-left">
|
<div class="float-left">
|
||||||
<h4 class="header-title">Liste aller Vorbestellungen<?=($campaign) ? " - ".$campaign->name : ""?></h4>
|
<h4 class="header-title">Liste aller Vorbestellungen<?=(isset($campaign) && $campaign) ? " - ".$campaign->name : ""?></h4>
|
||||||
</div>
|
</div>
|
||||||
<?php if($filter['preordercampaign_id']): ?>
|
<?php if($filter['preordercampaign_id']): ?>
|
||||||
<div class="float-right">
|
<div class="float-right">
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ class AddresstypeModel {
|
|||||||
/*
|
/*
|
||||||
* Address Type
|
* Address Type
|
||||||
*/
|
*/
|
||||||
|
if(array_key_exists('addresstype', $filter)) {
|
||||||
if(is_array($filter['addresstype']) && count($filter['addresstype'])) {
|
if(is_array($filter['addresstype']) && count($filter['addresstype'])) {
|
||||||
$at = $filter['addresstype'];
|
$at = $filter['addresstype'];
|
||||||
$in = [];
|
$in = [];
|
||||||
@@ -129,6 +130,7 @@ class AddresstypeModel {
|
|||||||
$where .= " AND ( $or )";
|
$where .= " AND ( $or )";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(array_key_exists("address_id", $filter)) {
|
if(array_key_exists("address_id", $filter)) {
|
||||||
$address_id = $filter['address_id'];
|
$address_id = $filter['address_id'];
|
||||||
|
|||||||
@@ -89,7 +89,6 @@ class NetworkAddressModel {
|
|||||||
|
|
||||||
$where = self::getSqlFilter($filter);
|
$where = self::getSqlFilter($filter);
|
||||||
$sql = "SELECT * FROM NetworkAddress WHERE $where ORDER BY `type`";
|
$sql = "SELECT * FROM NetworkAddress WHERE $where ORDER BY `type`";
|
||||||
mfLoghandler::singleton()->debug($sql);
|
|
||||||
$res = $db->query($sql);
|
$res = $db->query($sql);
|
||||||
//$res = $db->select("NetworkAddress", "*", "$where ORDER BY `type`");
|
//$res = $db->select("NetworkAddress", "*", "$where ORDER BY `type`");
|
||||||
if($db->num_rows($res)) {
|
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;
|
//var_dump($filter, $where);exit;
|
||||||
return $where;
|
return $where;
|
||||||
|
|||||||
@@ -37,19 +37,40 @@ class PreorderController extends mfBaseController {
|
|||||||
$pagination['start'] = intval($this->request->s);
|
$pagination['start'] = intval($this->request->s);
|
||||||
}
|
}
|
||||||
|
|
||||||
$campaign_filter = [];
|
$preorder_filter = $filter;
|
||||||
|
$my_campaigns = [];
|
||||||
|
$my_campaign_ids = [];
|
||||||
|
|
||||||
|
if($this->me->is("Admin")) {
|
||||||
if($filter['preordercampaign_id']) {
|
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'];
|
$campaign_id = $filter['preordercampaign_id'];
|
||||||
if(is_numeric($campaign_id) && $campaign_id > 0) {
|
if(is_numeric($campaign_id) && $campaign_id > 0) {
|
||||||
$campaign = new Preordercampaign($campaign_id);
|
$campaign = new Preordercampaign($campaign_id);
|
||||||
$this->layout()->set("campaign", $campaign);
|
$this->layout()->set("campaign", $campaign);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$filter['preordercampaign_id'] = $my_campaign_ids;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//var_dump($filter);exit;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if($filter['addon_services']) {
|
if($filter['addon_services']) {
|
||||||
$pagination['maxItems'] = PreorderModel::countOrderedAddonservices($filter);
|
$pagination['maxItems'] = PreorderModel::countOrderedAddonservices($filter);
|
||||||
|
|||||||
@@ -242,6 +242,8 @@ class PreorderModel {
|
|||||||
$preordercampaign_id = $filter['preordercampaign_id'];
|
$preordercampaign_id = $filter['preordercampaign_id'];
|
||||||
if(is_numeric($preordercampaign_id)) {
|
if(is_numeric($preordercampaign_id)) {
|
||||||
$where .= " AND preordercampaign_id=$preordercampaign_id";
|
$where .= " AND preordercampaign_id=$preordercampaign_id";
|
||||||
|
} elseif(is_array($preordercampaign_id) && count($preordercampaign_id)) {
|
||||||
|
$where .= " AND preordercampaign_id IN (". implode(",", $preordercampaign_id).")";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ class PreordercampaignController extends mfBaseController {
|
|||||||
foreach($my_networks as $mn) {
|
foreach($my_networks as $mn) {
|
||||||
if($mn->id == $filter['network_id']) {
|
if($mn->id == $filter['network_id']) {
|
||||||
$use_filter_network = true;
|
$use_filter_network = true;
|
||||||
continue;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -290,7 +290,7 @@ class PreordercampaignController extends mfBaseController {
|
|||||||
|
|
||||||
if(!count($preorders)) {
|
if(!count($preorders)) {
|
||||||
$this->layout->setFlash("Keine Vorbestellungen mit bestellten Dienstleistungen gefunden.");
|
$this->layout->setFlash("Keine Vorbestellungen mit bestellten Dienstleistungen gefunden.");
|
||||||
$this->redirect("Preorder");
|
$this->redirect("Preordercampaign");
|
||||||
}
|
}
|
||||||
|
|
||||||
$csv = [];
|
$csv = [];
|
||||||
|
|||||||
@@ -83,7 +83,6 @@ class PreordercampaignModel {
|
|||||||
$db = FronkDB::singleton();
|
$db = FronkDB::singleton();
|
||||||
|
|
||||||
$where = self::getSqlFilter($filter);
|
$where = self::getSqlFilter($filter);
|
||||||
mfLoghandler::singleton()->debug($where);
|
|
||||||
$res = $db->select("Preordercampaign", "*", "$where ORDER BY name,`create`");
|
$res = $db->select("Preordercampaign", "*", "$where ORDER BY name,`create`");
|
||||||
if($db->num_rows($res)) {
|
if($db->num_rows($res)) {
|
||||||
while($data = $db->fetch_object($res)) {
|
while($data = $db->fetch_object($res)) {
|
||||||
|
|||||||
@@ -241,9 +241,6 @@ class User extends mfBaseModel {
|
|||||||
if(!is_array($types)) {
|
if(!is_array($types)) {
|
||||||
$types = [$types];
|
$types = [$types];
|
||||||
}
|
}
|
||||||
//var_dump($types);exit;
|
|
||||||
|
|
||||||
//var_dump($my_networks);exit;
|
|
||||||
|
|
||||||
foreach($my_networks as $net) {
|
foreach($my_networks as $net) {
|
||||||
//var_dump($net);exit;
|
//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]);
|
$found = NetworkaddressModel::search(['network_id' => $net->id, "addresstype" => $types, 'address_id' => $address_id]);
|
||||||
if($found) {
|
if($found) {
|
||||||
$this->log->debug("allowed net: ".$net->id);
|
|
||||||
$typenets[] = $net;
|
$typenets[] = $net;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user