Fixed User::MyNetwork (NetworkAddress)
This commit is contained in:
34
Layout/default/Admin/Index.php
Normal file
34
Layout/default/Admin/Index.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/header.php"); ?>
|
||||
|
||||
<!-- start page title -->
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="page-title-box">
|
||||
<div class="page-title-right">
|
||||
<ol class="breadcrumb m-0">
|
||||
<li class="breadcrumb-item"><a href="javascript: void(0);"><?=MFAPPNAME_SLUG?></a></li>
|
||||
<li class="breadcrumb-item active">Admin</li>
|
||||
</ol>
|
||||
</div>
|
||||
<h4 class="page-title">Admin</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end page title -->
|
||||
|
||||
<h4>Secret Admin functions</h4>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-xl-10">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row col-12">
|
||||
<div><a href="<?=self::getUrl("Admin", "createNetworkAddressForNetowner")?>">Fehlende NetworkAddress Objekte für Netowner anlegen</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<?php include(realpath(dirname(__FILE__)."/../../$mfLayoutPackage")."/footer.php"); ?>
|
||||
@@ -110,8 +110,10 @@
|
||||
<td><?=date('d.m.Y',$camp->to)?></td>
|
||||
<td style="text-align: left; letter-spacing: 4px; font-size: 1.1em;">
|
||||
<a href="<?=self::getUrl("Preordercampaign", "downloadAddonServices", ["preordercampaign_id" => $camp->id])?>" title="Bestellte Zusatzdienste exportieren"><i class="far fa-sunset"></i></a>
|
||||
<a href="<?=self::getUrl("Preordercampaign", "edit", ["id" => $camp->id])?>"><i class="far fa-edit" title="Vorbestellkampagne Bearbeiten"></i></a>
|
||||
<a href="<?=self::getUrl("Preordercampaign", "delete", ["id" => $camp->id])?>" class="text-danger" onclick="if(!confirm('Vorbestellkampagne wirklich löschen?')) return false;" title="Vorbestellkampagne Löschen"><i class="fas fa-trash"></i></a>
|
||||
<?php if($me->is("Admin")): ?>
|
||||
<a href="<?=self::getUrl("Preordercampaign", "edit", ["id" => $camp->id])?>"><i class="far fa-edit" title="Vorbestellkampagne Bearbeiten"></i></a>
|
||||
<a href="<?=self::getUrl("Preordercampaign", "delete", ["id" => $camp->id])?>" class="text-danger" onclick="if(!confirm('Vorbestellkampagne wirklich löschen?')) return false;" title="Vorbestellkampagne Löschen"><i class="fas fa-trash"></i></a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
|
||||
@@ -77,13 +77,13 @@
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if($me->is(["Admin","salespartner"])): ?>
|
||||
<?php if($me->is(["Admin","netowner","salespartner"])): ?>
|
||||
<li class="has-submenu">
|
||||
<a href="#">
|
||||
<i class="fal fa-money-bill-wave"></i>Verkauf <div class="arrow-down"></div>
|
||||
</a>
|
||||
<ul class="submenu">
|
||||
<?php if($me->is(["Admin"])): ?>
|
||||
<?php if($me->is(["Admin","netowner","salespartner"])): ?>
|
||||
<li><a href="<?=self::getUrl("Preordercampaign")?>"><i class="far fa-calendar-lines text-info"></i> Vorbestellung</a></li>
|
||||
<?php endif; ?>
|
||||
<li><a href="<?=self::getUrl("Order")?>"><i class="far fa-file-signature text-info"></i> Bestellungen</a></li>
|
||||
|
||||
41
application/Admin/AdminController.php
Normal file
41
application/Admin/AdminController.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
class AdminController extends mfBaseController {
|
||||
|
||||
protected function init() {
|
||||
$this->needlogin=true;
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
$this->me = $me;
|
||||
$this->layout()->set("me",$me);
|
||||
|
||||
if(!$me->is(["Admin"])) {
|
||||
$this->redirect("Dashboard");
|
||||
}
|
||||
}
|
||||
|
||||
protected function indexAction() {
|
||||
$this->layout()->setTemplate("Admin/Index");
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected function createNetworkAddressForNetowner() {
|
||||
$i = 0;
|
||||
foreach(NetworkModel::getAll() as $network) {
|
||||
$netaddress = NetworkAddressModel::getFirst(["network_id" => $network->id, "address_id" => $network->owner_id, "addresstype" => "netowner"]);
|
||||
if(!$netaddress) {
|
||||
$netaddress = NetworkAddressModel::create([
|
||||
'network_id' => $network->id,
|
||||
'address_id' => $network->owner_id,
|
||||
'type' => "netowner"
|
||||
]);
|
||||
$netaddress->save();
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
$this->layout()->setFlash("$i NetworkAddress Objekte angelegt.", "success");
|
||||
$this->redirect("Admin");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -100,6 +100,17 @@ class NetworkController extends mfBaseController {
|
||||
return $this->add();
|
||||
}
|
||||
|
||||
$netaddress = NetworkAddressModel::getFirst(["network_id" => $new_id, "address_id" => $network->owner_id, "addresstype" => "netowner"]);
|
||||
if(!$netaddress) {
|
||||
$netaddress = NetworkAddressModel::create([
|
||||
'network_id' => $new_id,
|
||||
'address_id' => $network->owner_id,
|
||||
'type' => "netowner"
|
||||
]);
|
||||
//var_dump($netaddress);exit;
|
||||
$netaddress->save();
|
||||
}
|
||||
|
||||
|
||||
$this->layout()->setFlash("Netzgebiet erfolgreich gespeichert.", "success");
|
||||
$this->redirect("Network", "Edit", ['id' => $new_id]);
|
||||
|
||||
@@ -66,7 +66,11 @@ class NetworkAddressModel {
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("NetworkAddress", "*", "$where ORDER BY `type`");
|
||||
$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)) {
|
||||
$data = $db->fetch_object($res);
|
||||
$item = new NetworkAddress($data);
|
||||
@@ -84,7 +88,10 @@ class NetworkAddressModel {
|
||||
$db = FronkDB::singleton();
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$res = $db->select("NetworkAddress", "*", "$where ORDER BY `type`");
|
||||
$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)) {
|
||||
while($data = $db->fetch_object($res)) {
|
||||
$items[$data->id] = new NetworkAddress($data->id);
|
||||
@@ -112,8 +119,26 @@ class NetworkAddressModel {
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("addresstype", $filter)) {
|
||||
if(is_array($filter['addresstype'])) {
|
||||
$addresstypes = [];
|
||||
foreach(TT_ROLES as $role) {
|
||||
if(in_array($role, $filter['addresstype'])) {
|
||||
$addresstypes[] = $role;
|
||||
}
|
||||
}
|
||||
$where .= " AND NetworkAddress.type IN ('".implode("', '", $addresstypes)."')";
|
||||
} else {
|
||||
$addresstype = FronkDB::singleton()->escape($filter['addresstype']);
|
||||
if(in_array($addresstype, TT_ROLES)) {
|
||||
$where .= " AND NetworkAddress.type = '$addresstype'";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(is_array($filter['addresstype']) && count($filter['addresstype'])) {
|
||||
$at = $filter['addresstype'];
|
||||
/*$at = $filter['addresstype'];
|
||||
$in = [];
|
||||
foreach(TT_ROLES as $role) {
|
||||
if(in_array($role, $at)) {
|
||||
@@ -126,7 +151,9 @@ class NetworkAddressModel {
|
||||
if(count($in)) {
|
||||
$or = implode(" OR ", $in);
|
||||
$where .= " AND ( $or )";
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
//var_dump($filter, $where);exit;
|
||||
|
||||
@@ -9,7 +9,7 @@ class PreorderController extends mfBaseController {
|
||||
$this->me = $me;
|
||||
$this->layout()->set("me",$me);
|
||||
|
||||
if(!$me->is(["Admin", "salespartner"])) {
|
||||
if(!$me->is(["Admin", "netowner", "salespartner"])) {
|
||||
$this->redirect("Dashboard");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ class PreordercampaignController extends mfBaseController {
|
||||
$this->me = $me;
|
||||
$this->layout()->set("me",$me);
|
||||
|
||||
if(!$me->is(["Admin", "salespartner"])) {
|
||||
if(!$me->is(["Admin", "netowner", "salespartner"])) {
|
||||
$this->redirect("Dashboard");
|
||||
}
|
||||
}
|
||||
@@ -44,8 +44,8 @@ class PreordercampaignController extends mfBaseController {
|
||||
$this->layout()->set("mynetworks", NetworkModel::getAll());
|
||||
} else {
|
||||
$use_filter_network = false;
|
||||
$my_networks = $this->me->my_networks;
|
||||
|
||||
$my_networks = $this->me->myNetworks(["netowner", "salespartner"]);
|
||||
//var_dump($my_networks);exit;
|
||||
foreach($my_networks as $mn) {
|
||||
if($mn->id == $filter['network_id']) {
|
||||
$use_filter_network = true;
|
||||
@@ -63,7 +63,14 @@ class PreordercampaignController extends mfBaseController {
|
||||
}
|
||||
unset($filter['network_id']);
|
||||
|
||||
$campaigns = PreordercampaignModel::search(['network_id' => $my_networks]);
|
||||
//var_dump($this->me->my_networks);exit;
|
||||
|
||||
$my_network_ids = [];
|
||||
foreach($my_networks as $network) {
|
||||
$my_network_ids[] = $network->id;
|
||||
}
|
||||
|
||||
$campaigns = PreordercampaignModel::search(['network_id' => $my_network_ids]);
|
||||
$this->layout()->set("campaigns", $campaigns);
|
||||
|
||||
}
|
||||
@@ -79,6 +86,10 @@ class PreordercampaignController extends mfBaseController {
|
||||
}
|
||||
|
||||
protected function addAction() {
|
||||
if(!$this->me->is("Admin")) {
|
||||
$this->redirect("Preordercampaign");
|
||||
}
|
||||
|
||||
$this->layout()->setTemplate("Preordercampaign/Form");
|
||||
|
||||
if($this->me->isAdmin()) {
|
||||
@@ -98,6 +109,10 @@ class PreordercampaignController extends mfBaseController {
|
||||
}
|
||||
|
||||
protected function editAction() {
|
||||
if(!$this->me->is("Admin")) {
|
||||
$this->redirect("Preordercampaign");
|
||||
}
|
||||
|
||||
$id = $this->request->id;
|
||||
if(!is_numeric($id) || !$id) {
|
||||
$this->layout()->setFlash("Vorbestellkampagne nicht gefunden", "error");
|
||||
@@ -116,6 +131,10 @@ class PreordercampaignController extends mfBaseController {
|
||||
}
|
||||
|
||||
protected function saveAction() {
|
||||
if(!$this->me->is("Admin")) {
|
||||
$this->redirect("Preordercampaign");
|
||||
}
|
||||
|
||||
$r = $this->request;
|
||||
//var_dump($r);exit;
|
||||
$id = $r->id;
|
||||
|
||||
@@ -79,6 +79,7 @@ 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)) {
|
||||
@@ -90,12 +91,12 @@ class PreordercampaignModel {
|
||||
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
|
||||
//var_dump($filter);exit;
|
||||
if(array_key_exists("network_id", $filter)) {
|
||||
$networkid = $filter['network_id'];
|
||||
if(is_numeric($networkid)) {
|
||||
$where .= " AND network_id=$networkid";
|
||||
$network_id = $filter['network_id'];
|
||||
if(is_numeric($network_id)) {
|
||||
$where .= " AND network_id=$network_id";
|
||||
} elseif(is_array($network_id) && count($network_id)) {
|
||||
$where .= " AND network_id IN (". implode(",", $network_id).")";
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ class User extends mfBaseModel {
|
||||
}
|
||||
//var_dump($this->address->types);exit;
|
||||
if(is_object($this->address) && property_exists($this->address, "types") && is_array($this->address->types)) {
|
||||
if($this->address->types[$w]->id) {
|
||||
if(array_key_exists($w, $this->address->types) && $this->address->types[$w]->id) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -234,10 +234,15 @@ class User extends mfBaseModel {
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
public function myNetworks($type) {
|
||||
public function myNetworks($types) {
|
||||
$typenets = [];
|
||||
$my_networks = $this->getProperty("my_networks");
|
||||
|
||||
if(!is_array($types)) {
|
||||
$types = [$types];
|
||||
}
|
||||
//var_dump($types);exit;
|
||||
|
||||
//var_dump($my_networks);exit;
|
||||
|
||||
foreach($my_networks as $net) {
|
||||
@@ -246,8 +251,7 @@ class User extends mfBaseModel {
|
||||
if($this->address->parent_id) {
|
||||
$address_id = $this->address->parent_id;
|
||||
}
|
||||
$found = NetworkaddressModel::search(['network_id' => $net->id, "addresstype" => [$type], 'address_id' => $address_id]);
|
||||
//var_dump($found);exit;
|
||||
$found = NetworkaddressModel::search(['network_id' => $net->id, "addresstype" => $types, 'address_id' => $address_id]);
|
||||
if($found) {
|
||||
$this->log->debug("allowed net: ".$net->id);
|
||||
$typenets[] = $net;
|
||||
|
||||
Reference in New Issue
Block a user