Kalender Update
* Feature Implementation Excel Export
This commit is contained in:
@@ -104,6 +104,7 @@ endforeach;
|
||||
class="btn btn-light btn-light-search top-search-filter"><i
|
||||
class="fa-duotone fa-solid fa-phone-volume fa-calendar-call fa-calendar-call-search"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<?php if (!$rights) : ?>
|
||||
@@ -111,7 +112,14 @@ endforeach;
|
||||
<span class="font-18 font-weight-500">Du wurdest nicht für den Kalender frei geschalten.</span>
|
||||
</div>
|
||||
<?php die(); endif; ?>
|
||||
<div class="d-inline-block mr-1">
|
||||
|
||||
<button title="Excel Export"
|
||||
class="btn btn-light btn-xls-calendar">
|
||||
<i class="fa-duotone fa-solid fa-file-xls fa-xls-calendar"></i>
|
||||
|
||||
</div>
|
||||
</button>
|
||||
<div class="d-inline-block w-50 search-div" style="margin-top: -7px;">
|
||||
<select id="jumpevent" class="jumpevent"></select>
|
||||
</div>
|
||||
@@ -351,142 +359,146 @@ endforeach;
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="EventModal" aria-labelledby="EventModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title font-18 ml-2" id="EventModalLabel"><i
|
||||
class="fa-duotone fa-solid fa-calendar-symbol"></i> <span>neuer Termin</span></h1>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row justify-content-center">
|
||||
|
||||
<div class="col-1">
|
||||
<label for="name" class="col-form-label fw-medium ">Betreff</label>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="mb-2">
|
||||
<input type="text" class="form-control is-require eventmodal-input" id="name">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="input-group mb-2">
|
||||
<span title="Erinnerung" class="input-group-text spanwidht">Typ</span>
|
||||
<select class="form-control form-select select-2" aria-label="Default select" id="type">
|
||||
<option value="1">Termin</option>
|
||||
<option value="2">IBN Xinon</option>
|
||||
<option value="3">IBN ESTMK</option>
|
||||
<option value="4">IBN SNOPP</option>
|
||||
<option value="5">Störung</option>
|
||||
<option value="6">Support Gespräch</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1 text-center">
|
||||
<i title="Normal" class="fa-duotone privacy-click fa-regular fa-unlock mt-1"></i>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="EventModal" aria-labelledby="EventModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title font-18 ml-2" id="EventModalLabel"><i
|
||||
class="fa-duotone fa-solid fa-calendar-symbol"></i> <span>neuer Termin</span></h1>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-1">
|
||||
<label for="location" class="col-form-label fw-medium ">Ort</label>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="mb-2">
|
||||
<input type="text" class="form-control eventmodal-input" id="location">
|
||||
<div class="modal-body">
|
||||
<div class="row justify-content-center">
|
||||
|
||||
<div class="col-1">
|
||||
<label for="name" class="col-form-label fw-medium ">Betreff</label>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="mb-2">
|
||||
<input type="text" class="form-control is-require eventmodal-input" id="name">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="input-group mb-2">
|
||||
<span title="Erinnerung" class="input-group-text spanwidht">Typ</span>
|
||||
<select class="form-control form-select select-2" aria-label="Default select" id="type">
|
||||
<option value="1">Termin</option>
|
||||
<option value="2">IBN Xinon</option>
|
||||
<option value="3">IBN ESTMK</option>
|
||||
<option value="4">IBN SNOPP</option>
|
||||
<option value="5">Störung</option>
|
||||
<option value="6">Support Gespräch</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-1 text-center">
|
||||
<i title="Normal" class="fa-duotone privacy-click fa-regular fa-unlock mt-1"></i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-2">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-1">
|
||||
<label for="location" class="col-form-label fw-medium ">Ort</label>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="mb-2">
|
||||
<input type="text" class="form-control eventmodal-input" id="location">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-2">
|
||||
<span title="Erinnerung" class="input-group-text spanwidht"><i
|
||||
class="fa-regular fa-eye"></i></span>
|
||||
<select class="form-control form-select" aria-label="Default select" id="busy">
|
||||
<option value="1">gebucht</option>
|
||||
<option value="0">frei</option>
|
||||
<option value="2">mit Vorbehalt</option>
|
||||
</select>
|
||||
<select class="form-control form-select" aria-label="Default select" id="busy">
|
||||
<option value="1">gebucht</option>
|
||||
<option value="0">frei</option>
|
||||
<option value="2">mit Vorbehalt</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row justify-content-center">
|
||||
<div class="row justify-content-center">
|
||||
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text spanwidht">Start</span>
|
||||
<input id="start-date" type="date" class="form-control is-require eventmodal-input"
|
||||
placeholder="Datum"
|
||||
aria-label="Datum"
|
||||
aria-describedby="Datum">
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text spanwidht">Start</span>
|
||||
<input id="start-date" type="date" class="form-control is-require eventmodal-input"
|
||||
placeholder="Datum"
|
||||
aria-label="Datum"
|
||||
aria-describedby="Datum">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<input id="start-time" type="time" class="form-control is-require eventmodal-input"
|
||||
placeholder="Uhrzeit"
|
||||
aria-label="Uhrzeit"
|
||||
aria-describedby="Uhrzeit">
|
||||
</div>
|
||||
<div class="col-2 text-center">
|
||||
<div class="form-check" style="margin-top: 7px;">
|
||||
|
||||
<input class="form-check-input eventmodal-checkbox" type="checkbox" value=""
|
||||
id="allday"> <label class="form-check-label fw-medium checkbox-label"
|
||||
for="allday">
|
||||
Ganztägig
|
||||
</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2 text-right">
|
||||
<div class="form-check" style="margin-top: 7px;">
|
||||
<input class="form-check-input eventmodal-checkbox" type="checkbox" value=""
|
||||
id="recurringCheck">
|
||||
<label class="form-check-label fw-medium checkbox-label" for="recurringCheck">
|
||||
Serientermin
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<input id="start-time" type="time" class="form-control is-require eventmodal-input"
|
||||
placeholder="Uhrzeit"
|
||||
aria-label="Uhrzeit"
|
||||
aria-describedby="Uhrzeit">
|
||||
</div>
|
||||
<div class="col-2 text-center">
|
||||
<div class="form-check" style="margin-top: 7px;">
|
||||
|
||||
<input class="form-check-input eventmodal-checkbox" type="checkbox" value=""
|
||||
id="allday"> <label class="form-check-label fw-medium checkbox-label" for="allday">
|
||||
Ganztägig
|
||||
</label>
|
||||
<div class="row justify-content-center">
|
||||
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text spanwidht">Ende</span>
|
||||
<input id="end-date" type="date" class="form-control is-require eventmodal-input"
|
||||
placeholder="Datum"
|
||||
aria-label="Datum"
|
||||
aria-describedby="Datum">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2 text-right">
|
||||
<div class="form-check" style="margin-top: 7px;">
|
||||
<input class="form-check-input eventmodal-checkbox" type="checkbox" value="" id="recurringCheck">
|
||||
<label class="form-check-label fw-medium checkbox-label" for="recurringCheck">
|
||||
Serientermin
|
||||
</label>
|
||||
<div class="col-2">
|
||||
<input id="end-time" type="time" class="form-control is-require eventmodal-input"
|
||||
placeholder="Uhrzeit"
|
||||
aria-label="Uhrzeit"
|
||||
aria-describedby="Uhrzeit">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text spanwidht">Ende</span>
|
||||
<input id="end-date" type="date" class="form-control is-require eventmodal-input"
|
||||
placeholder="Datum"
|
||||
aria-label="Datum"
|
||||
aria-describedby="Datum">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<input id="end-time" type="time" class="form-control is-require eventmodal-input"
|
||||
placeholder="Uhrzeit"
|
||||
aria-label="Uhrzeit"
|
||||
aria-describedby="Uhrzeit">
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-2">
|
||||
<div class="col-4">
|
||||
<div class="input-group mb-2">
|
||||
<span title="Erinnerung" class="input-group-text spanwidht"><i
|
||||
class="fa-regular fa-bell"></i></span>
|
||||
<select class="form-control form-select select2" aria-label="Default select" id="reminder">
|
||||
<option value="NULL">Keine</option>
|
||||
<option value="0">Zum Termin</option>
|
||||
<option value="300">5 Minuten</option>
|
||||
<option value="600">10 Minuten</option>
|
||||
<option value="900">15 Minuten</option>
|
||||
<option value="1800">30 Minuten</option>
|
||||
<option value="3600">1 Stunde</option>
|
||||
<option value="86400">1 Tag</option>
|
||||
<option value="604800">1 Woche</option>
|
||||
</select>
|
||||
<select class="form-control form-select select2" aria-label="Default select"
|
||||
id="reminder">
|
||||
<option value="NULL">Keine</option>
|
||||
<option value="0">Zum Termin</option>
|
||||
<option value="300">5 Minuten</option>
|
||||
<option value="600">10 Minuten</option>
|
||||
<option value="900">15 Minuten</option>
|
||||
<option value="1800">30 Minuten</option>
|
||||
<option value="3600">1 Stunde</option>
|
||||
<option value="86400">1 Tag</option>
|
||||
<option value="604800">1 Woche</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Serientermin-Checkbox und zugehörige RRule-Optionen -->
|
||||
<div class="row" id="recurring-settings" style="display:none;">
|
||||
<div class="col-1"></div>
|
||||
<div class="col-3"">
|
||||
<!-- Serientermin-Checkbox und zugehörige RRule-Optionen -->
|
||||
<div class="row" id="recurring-settings" style="display:none;">
|
||||
<div class="col-1"></div>
|
||||
<div class="col-3"
|
||||
">
|
||||
<!-- Frequenz: Täglich / Wöchentlich / Monatlich / Jährlich -->
|
||||
<div class="mb-2">
|
||||
<label for="rrule-frequency" class="col-form-label fw-medium">Wiederholungstyp</label>
|
||||
@@ -509,7 +521,7 @@ endforeach;
|
||||
<input type="date" class="form-control" id="rrule-until">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Wöchentliche Optionen (z.B. jeden Dienstag, jeden Freitag + Montag) -->
|
||||
<!-- Wöchentliche Optionen (z.B. jeden Dienstag, jeden Freitag + Montag) -->
|
||||
<div class="col-7">
|
||||
<div class="mb-2" id="weekly-options" style="display:none;">
|
||||
<label for="rrule-byweekday" class="col-form-label fw-medium">Wochentag(e)</label>
|
||||
@@ -534,7 +546,7 @@ endforeach;
|
||||
<label class="mr-2 col-form-label fw-medium col-2">Tag:</label>
|
||||
<select class="form-control w-auto col-3" id="rrule-bymonthday">
|
||||
<!-- Auswahl 1–31 -->
|
||||
<?php for($i=1; $i<=31; $i++): ?>
|
||||
<?php for ($i = 1; $i <= 31; $i++): ?>
|
||||
<option value="<?= $i ?>"><?= $i ?></option>
|
||||
<?php endfor; ?>
|
||||
</select>
|
||||
@@ -658,6 +670,7 @@ endforeach;
|
||||
</div>
|
||||
<div class="d-inline-block" id="customer-info-check-info"></div>
|
||||
</div>
|
||||
|
||||
<div id="relContainer2" style="position:relative">
|
||||
<select id="customer" class="jumpevent"></select>
|
||||
</div>
|
||||
@@ -739,13 +752,16 @@ endforeach;
|
||||
</div>
|
||||
|
||||
<div id="output"></div>
|
||||
<script type="text/javascript" src="<?= self::getResourcePath() ?>plugins/select2/js/i18n/de.js?<?= $git_merge_ts ?>"></script>
|
||||
<script type="text/javascript" src="<?=self::getResourcePath()?>plugins/tinymce/tinymce.min.js?<?= $git_merge_ts ?>"></script>
|
||||
<script type="text/javascript"
|
||||
src="<?= self::getResourcePath() ?>plugins/select2/js/i18n/de.js?<?= $git_merge_ts ?>"></script>
|
||||
<script type="text/javascript"
|
||||
src="<?= self::getResourcePath() ?>plugins/tinymce/tinymce.min.js?<?= $git_merge_ts ?>"></script>
|
||||
|
||||
<script>
|
||||
let requestUrl = "<?= self::getUrl("Calendar", "api", ['do' => 'getCalendarEvents']) ?>";
|
||||
let requestEventUrl = "<?= self::getUrl("Calendar", "api", ['do' => 'getCalendarEvent']) ?>";
|
||||
let requestEventSearchURL = "<?= self::getUrl("Calendar", "api", ['do' => 'searchCalendarEvents']) ?>";
|
||||
let requestgenerateEventsxlsx = "<?= self::getUrl("Calendar", "api", ['do' => 'generateCalendarEventsXlsx']) ?>";
|
||||
let requestEventAttachmentUrl = "<?= self::getUrl("Calendar", "api", ['do' => 'getCalendarEventAttachment']) ?>";
|
||||
let requestEventAttachmentTmpUrl = "<?= self::getUrl("Calendar", "api", ['do' => 'getCalendarEventAttachmentTmp']) ?>";
|
||||
let requestEventAttachmentTmpDeleteUrl = "<?= self::getUrl("Calendar", "api", ['do' => 'deleteCalendarEventAttachmentTmp']) ?>";
|
||||
|
||||
Reference in New Issue
Block a user