Kalenderupdate

* Komplette Verwaltung von Kalender Rechte von internen und externen Mitarbeiteren
This commit is contained in:
Daniel Spitzer
2025-10-05 21:33:39 +02:00
parent 7441e98f5f
commit 404dd219e2

View File

@@ -700,8 +700,8 @@ class CalendarController extends mfBaseController
protected function addAction()
{
// $users = UserModel::getAll();
// $this->layout()->set("users", $users);
$users = UserModel::getAll();
$this->layout()->set("users", $users);
$this->layout()->setTemplate("Calendar/Form");
}
@@ -742,19 +742,45 @@ class CalendarController extends mfBaseController
$data = [];
if ($mode == "add") {
$data['calendar_firstname'] = trim($r->calendar_firstname);
$data['calendar_lastname'] = trim($r->calendar_lastname);
$userType = trim($r->user_type);
if ($userType === 'system') {
$userId = intval($r->user_id);
if (!$userId) {
$this->layout()->setFlash("Bitte wählen Sie einen Benutzer aus", "error");
$this->redirect("Calendar", "add");
}
if (!$data['calendar_firstname'] || !$data['calendar_lastname']) {
$this->layout()->setFlash("Vor- und Nachname dürfen nicht leer sein", "error");
$this->redirect("Calendar");
}
$data['calendar_name'] = $data['calendar_firstname'] . ' ' . $data['calendar_lastname'];
if (trim($r->calendar_email)) {
$data['calendar_email'] = trim($r->calendar_email);
$user = new User($userId);
if (!$user->id) {
$this->layout()->setFlash("Benutzer nicht gefunden", "error");
$this->redirect("Calendar", "add");
}
$data['user_id'] = $userId;
$data['calendar_name'] = $user->name;
if (trim($r->calendar_email)) {
$data['calendar_email'] = trim($r->calendar_email);
} else {
$data['calendar_email'] = $user->email;
}
} else {
$data['calendar_email'] = strtolower($data['calendar_firstname']) . '.' .
strtolower($data['calendar_lastname']) . '@xinon.extern';
$data['calendar_firstname'] = trim($r->calendar_firstname);
$data['calendar_lastname'] = trim($r->calendar_lastname);
if (!$data['calendar_firstname'] || !$data['calendar_lastname']) {
$this->layout()->setFlash("Vor- und Nachname dürfen nicht leer sein", "error");
$this->redirect("Calendar", "add");
}
$data['calendar_name'] = $data['calendar_firstname'] . ' ' . $data['calendar_lastname'];
if (trim($r->calendar_email)) {
$data['calendar_email'] = trim($r->calendar_email);
} else {
$data['calendar_email'] = strtolower($data['calendar_firstname']) . '.' .
strtolower($data['calendar_lastname']) . '@xinon.extern';
}
}
} elseif ($mode == "edit" && !$calendars->user_id) {
$data['calendar_firstname'] = trim($r->calendar_firstname);
@@ -980,6 +1006,7 @@ class CalendarController extends mfBaseController
}
$this->redirect("Calendar");
}
private function createGroupOfficeUser($calendar)
{
$dbcal = CalendarModel::dbKalender();
@@ -1063,6 +1090,7 @@ class CalendarController extends mfBaseController
error_log("Failed to create GroupOffice Calendar for User ID: $goUserId");
return false;
}
protected function deleteAction()
{
$id = $this->request->id;