* Vorlagen können nun erstellt und editiert werden. * neue Migration für CalendarTemplates
151 lines
4.4 KiB
PHP
151 lines
4.4 KiB
PHP
<?php
|
|
|
|
class CalendarTemplateController 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 apiAction()
|
|
{
|
|
$r = $this->request;
|
|
$do=$r->do;
|
|
switch ($do) {
|
|
case "getPreview":
|
|
$event_type = $r->event_type;
|
|
$calendartemplates = CalendarTemplateModel::search(array("event_type"=>$event_type));
|
|
$result['status'] = "success";
|
|
$result['data'] = $calendartemplates;
|
|
break;
|
|
default:
|
|
$result['status'] = "error";
|
|
$result['message'] = "Aktion nicht gefunden";
|
|
break;
|
|
}
|
|
echo json_encode($result);
|
|
die();
|
|
}
|
|
|
|
protected function indexAction()
|
|
{
|
|
$this->layout()->setTemplate("CalendarTemplate/Index");
|
|
$calendartemplates = CalendarTemplateModel::getAll();
|
|
$calendarTemplateEventTypes=CalendarTemplateModel::$calendarTemplateEventTypes;
|
|
$this->layout()->set("calendarTemplateEventTypes", $calendarTemplateEventTypes);
|
|
$this->layout()->set("calendartemplates", $calendartemplates);
|
|
}
|
|
protected function addAction()
|
|
{
|
|
$this->layout()->setTemplate("CalendarTemplate/Form");
|
|
}
|
|
|
|
protected function editAction()
|
|
{
|
|
$id = $this->request->id;
|
|
|
|
if (!is_numeric($id) || !$id) {
|
|
$this->layout()->setFlash("Vorlage nicht gefunden", "error");
|
|
$this->redirect("CalendarTemplate");
|
|
}
|
|
|
|
$calendartemplates = new CalendarTemplate($id);
|
|
if ($calendartemplates->id != $id) {
|
|
$this->layout()->setFlash("Vorlage nicht gefunden", "error");
|
|
$this->redirect("CalendarTemplate");
|
|
}
|
|
$calendarTemplateEventTypes=CalendarTemplateModel::$calendarTemplateEventTypes;
|
|
$this->layout()->set("calendarTemplateEventTypes", $calendarTemplateEventTypes);
|
|
$this->layout()->set("calendartemplates", $calendartemplates);
|
|
return $this->addAction();
|
|
}
|
|
|
|
protected function saveAction()
|
|
{
|
|
$r = $this->request;
|
|
$id = $r->id;
|
|
//var_dump($r->get());exit;
|
|
if (is_numeric($id) && $id > 0) {
|
|
$mode = "edit";
|
|
$calendartemplates = new CalendarTemplate($id);
|
|
if (!$calendartemplates->id) {
|
|
$this->layout()->setFlash("Vorlagen nicht gefunden", "error");
|
|
$this->redirect("Calendar");
|
|
}
|
|
} else {
|
|
$mode = "add";
|
|
}
|
|
|
|
$data = [];
|
|
$data['event_type'] = trim($r->event_type);
|
|
$data['name'] = trim($r->name);
|
|
$data['is_reminder'] = trim($r->is_reminder);
|
|
$data['text'] = trim($r->text);
|
|
|
|
|
|
if (!$data['event_type']) {
|
|
$data['event_type']=NULL;
|
|
}
|
|
if (!$data['name']) {
|
|
$data['name']=NULL;
|
|
}
|
|
if (!$data['is_reminder']) {
|
|
$data['is_reminder']=0;
|
|
}
|
|
if (!$data['text']) {
|
|
$data['text']=NULL;
|
|
}
|
|
|
|
|
|
// var_dump($_FILES);
|
|
// var_dump($upload);
|
|
// exit;
|
|
|
|
|
|
if ($mode == "edit") {
|
|
$calendartemplates->update($data);
|
|
|
|
} else {
|
|
$calendartemplates = CalendarTemplateModel::create($data);
|
|
}
|
|
// var_dump($filestore);
|
|
// exit;
|
|
$id = $calendartemplates->save();
|
|
|
|
if (!$id) {
|
|
$this->layout()->setFlash("Vorlage konnte nicht angelegt werden", "error");
|
|
$this->redirect("CalendarTemplate");
|
|
}
|
|
|
|
if ($mode == "edit") {
|
|
$this->layout()->setFlash("Vorlage erfolgreich geändert", "success");
|
|
} else if ($mode = "add") {
|
|
$this->layout()->setFlash("Vorlage erfolgreich angelegt", "success");
|
|
}
|
|
$this->redirect("Calendar");
|
|
}
|
|
|
|
|
|
protected function deleteAction()
|
|
{
|
|
$id = $this->request->id;
|
|
$calendartemplates = new CalendarTemplate($id);
|
|
if (!$calendartemplates->id || $calendartemplates->id != $id) {
|
|
$this->layout()->setFlash("Vorlage nicht gefunden.", "error");
|
|
$this->redirect("CalendarTemplate");
|
|
}
|
|
|
|
$calendartemplates->delete();
|
|
$this->redirect("Calendar");
|
|
}
|
|
|
|
}
|