Kalender Anpassungen

- Anpassungen bei neuen Kalenderbenutzern
This commit is contained in:
Daniel Spitzer
2025-06-04 08:55:58 +02:00
parent 5058166d0c
commit a71ae02128
3 changed files with 45 additions and 37 deletions

View File

@@ -200,7 +200,7 @@ endforeach;
data-calendar_id="<?= $calendar['calendar_id'] ?>"
type="color"
class="form-control-color color-input"
value="<?= $Calendar_colors[$calendar['calendar_id']]['bgcolor'] ?>"
value="<?= ($Calendar_colors[$calendar['calendar_id']]['bgcolor']) ?: $standardCalendarColors[$calendar['calendar_id']] ?>"
title="Hintergrundfarbe">
<input data-calendar_id="<?= $calendar['calendar_id'] ?>"
type="color"

View File

@@ -18,7 +18,7 @@ class CalendarController extends mfBaseController
$this->me = $me;
$this->layout()->set("me", $me);
if (!$me->is(["Admin"])) {
if (!$me->is(["Admin"]) && !$me->is(["employee"])) {
$this->redirect("Dashboard");
}
}
@@ -168,43 +168,43 @@ class CalendarController extends mfBaseController
$id = ($r->id);
CalendarModel::deleteCalendarEvent($r);
die();
case "cancelCalendarEvent":
case "cancelCalendarEvent":
$r = $this->request;
$id = ($r->id);
if ($r->customer_info_check) {
if ($r->customer_info_type == 1) {
$body = $r->customer_info_text;
$email = new Emailnotification();
$email->setSubject('Technikertermin Xinon Absage');
$email->setBody($body);
$email->setFrom('termin@xinon.at', 'Terminbestätigung');
$email->setTo($r->customer_info_type_text);
$email->send();
} else if ($r->customer_info_type == 2) {
$sms = new SmsNotification();
$customerText = trim($r->customer_info_text);
$body = "Xinon Terminabsage:" . PHP_EOL . $customerText;
$sms->setBody($body);
$customerNumber = trim($r->customer_info_type_text);
$customerNumber = str_replace(" ", "", $customerNumber);
$customerNumber = str_replace("(", "", $customerNumber);
$customerNumber = str_replace(")", "", $customerNumber);
$customerNumber = str_replace("-", "", $customerNumber);
$customerNumber = str_replace("/", "", $customerNumber);
$customerNumber = str_replace(".", "", $customerNumber);
$customerNumber = str_replace(",", "", $customerNumber);
$customerNumber = str_replace(";", "", $customerNumber);
$customerNumber = str_replace(":", "", $customerNumber);
if (preg_match('/^0/', $customerNumber)) {
$customerNumber = "+43" . substr($customerNumber, 1);
}
$sms->setRecipient($customerNumber);
if (!empty($customerNumber) && !empty($customerText)) {
$sms->send();
}
}
}
CalendarModel::cancelCalendarEvent($r,$this->me);
if ($r->customer_info_check) {
if ($r->customer_info_type == 1) {
$body = $r->customer_info_text;
$email = new Emailnotification();
$email->setSubject('Technikertermin Xinon Absage');
$email->setBody($body);
$email->setFrom('termin@xinon.at', 'Terminbestätigung');
$email->setTo($r->customer_info_type_text);
$email->send();
} else if ($r->customer_info_type == 2) {
$sms = new SmsNotification();
$customerText = trim($r->customer_info_text);
$body = "Xinon Terminabsage:" . PHP_EOL . $customerText;
$sms->setBody($body);
$customerNumber = trim($r->customer_info_type_text);
$customerNumber = str_replace(" ", "", $customerNumber);
$customerNumber = str_replace("(", "", $customerNumber);
$customerNumber = str_replace(")", "", $customerNumber);
$customerNumber = str_replace("-", "", $customerNumber);
$customerNumber = str_replace("/", "", $customerNumber);
$customerNumber = str_replace(".", "", $customerNumber);
$customerNumber = str_replace(",", "", $customerNumber);
$customerNumber = str_replace(";", "", $customerNumber);
$customerNumber = str_replace(":", "", $customerNumber);
if (preg_match('/^0/', $customerNumber)) {
$customerNumber = "+43" . substr($customerNumber, 1);
}
$sms->setRecipient($customerNumber);
if (!empty($customerNumber) && !empty($customerText)) {
$sms->send();
}
}
}
CalendarModel::cancelCalendarEvent($r, $this->me);
die();
case "updateCalendarColor":
$r = $this->request;

View File

@@ -44,6 +44,14 @@ class CalendarModel
);
public static $standardCalendarColors = [
'#b3d5f3', '#d0e2c0', '#bac2d4', '#c6d4c0', '#e3e3e3',
'#acdce5', '#cdb6c0', '#aae0e1', '#d9d9d9', '#d9e5d5',
'#c8a7d5', '#aad8d0', '#dcadc3', '#d9e8e5', '#e4d8d5',
'#b4dcc5', '#b9d1e2', '#a3c1c2', '#cdd2b9', '#e3c8ce',
'#aae2c5', '#c7d0cc', '#d0c0da', '#dbdfc8', '#b4e3d7',
'#c3e4e3', '#c5c4e3', '#d0b7e5', '#b6e98c', '#e3d1de',
'#dbbeb3', '#e9aebc', '#b5cae7', '#dec2d4', '#aebbd5',
'#e2baaf', '#b6ebd5', '#a9c4bb', '#d7d2c5', '#d7e3d4',
'#b3d5f3', '#d0e2c0', '#bac2d4', '#c6d4c0', '#e3e3e3',
'#acdce5', '#cdb6c0', '#aae0e1', '#d9d9d9', '#d9e5d5',
'#c8a7d5', '#aad8d0', '#dcadc3', '#d9e8e5', '#e4d8d5',