96 lines
2.5 KiB
PHP
96 lines
2.5 KiB
PHP
<?php
|
|
|
|
class PreordercampaignController 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", "salespartner"])) {
|
|
$this->redirect("Dashboard");
|
|
}
|
|
}
|
|
|
|
protected function indexAction() {
|
|
$this->layout()->setTemplate("Preordercampaign/Index");
|
|
|
|
if($this->me->is("Admin")) {
|
|
if($filter['network_id']) {
|
|
$my_networks[] = new Network($filter['network_id']);
|
|
} else {
|
|
$my_networks = NetworkModel::getAll();
|
|
}
|
|
$this->layout()->set("mynetworks", NetworkModel::getAll());
|
|
} else {
|
|
$use_filter_network = false;
|
|
$my_networks = $this->me->my_networks;
|
|
|
|
foreach($my_networks as $mn) {
|
|
if($mn->id == $filter['network_id']) {
|
|
$use_filter_network = true;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if($use_filter_network) {
|
|
$my_networks = [];
|
|
$my_networks[] = new Network($filter['network_id']);
|
|
}
|
|
|
|
$this->layout()->set("mynetworks", $this->me->my_networks);
|
|
|
|
}
|
|
unset($filter['network_id']);
|
|
|
|
$campaigns = PreordercampaignModel::search(['network_id' => $my_networks]);
|
|
$this->layout()->set("campaigns", $campaigns);
|
|
|
|
}
|
|
|
|
private function getPreparedFilter($filter) {
|
|
$new_filter = [];
|
|
|
|
foreach($filter as $name => $value) {
|
|
$new_filter[$name] = $value;
|
|
}
|
|
|
|
return $new_filter;
|
|
}
|
|
|
|
protected function addAction() {
|
|
$this->layout()->setTemplate("Preordercampaign/Form");
|
|
|
|
if($this->me->isAdmin()) {
|
|
$this->layout()->set("networks", NetworkModel::getAll());
|
|
} else {
|
|
$this->layout()->set("networks", $this->me->my_networks);
|
|
}
|
|
|
|
$this->layout()->set("types", BuildingtypeModel::getAll());
|
|
$this->layout()->set("statuses", BuildingstatusModel::getAll());
|
|
|
|
$this->layout()->set("networksections", NetworksectionModel::getAll());
|
|
}
|
|
|
|
protected function editAction() {
|
|
$id = $this->request->id;
|
|
if(!is_numeric($id) || !$id) {
|
|
$this->layout()->setFlash("Vorbestellkampagne nicht gefunden", "error");
|
|
$this->redirect("Preordercampain");
|
|
}
|
|
|
|
$campaign = new Preordercampaign($id);
|
|
if(!$campain->id) {
|
|
$this->layout()->setFlash("Vorbestellkampagne nicht gefunden", "error");
|
|
$this->redirect("Preordercampain");
|
|
}
|
|
|
|
$this->layout()->set("campaign", $campaign);
|
|
|
|
return $this->addAction();
|
|
}
|
|
|
|
} |