* Generelle Updates
This commit is contained in:
Daniel Spitzer
2024-11-10 20:47:09 +01:00
parent 72442248f9
commit de7330e331
6 changed files with 305 additions and 51 deletions
+129 -16
View File
@@ -80,6 +80,7 @@ document.addEventListener('DOMContentLoaded', function () {
var resources = [];
var category = "";
var rights = false;
var movable = false;
var resourceCounter = 0;
$.each($('.calendar-check'), function (index, value) {
if ($(this).prop('checked')) {
@@ -105,6 +106,12 @@ document.addEventListener('DOMContentLoaded', function () {
} else {
rights = false;
}
if (value.isorganizer.isorganizer == '1' && rights) {
movable = true;
} else {
movable = false;
}
userevents.push({
id: value.id.id,
start: value.cstart.cstart,
@@ -120,8 +127,13 @@ document.addEventListener('DOMContentLoaded', function () {
textColor: value.txtColor.txtColor,
backgroundColor: value.bgColor.bgColor,
editable: rights,
droppable: movable,
startEditable: movable,
durationEditable: movable,
resizableFromStart: movable,
resourceId: value.calendar_id.calendar_id,
calendar_name: value.calendar_name.calendar_name,
clickable: rights,
mtime: value.mtime.mtime,
mname: value.mname.mname,
ctime: value.ctime.ctime,
@@ -144,6 +156,7 @@ document.addEventListener('DOMContentLoaded', function () {
attachments: value.attachments.attachments,
resourceId: value.calendar_id.calendar_id,
calendar_name: value.calendar_name.calendar_name,
clickable: rights,
mtime: value.mtime.mtime,
mname: value.mname.mname,
ctime: value.ctime.ctime,
@@ -221,6 +234,7 @@ document.addEventListener('DOMContentLoaded', function () {
}, function (data) {
}).done(function (data) {
// console.log(data);
if (data.data.attachment.attachment) {
let docs = "";
$.each(data.data.attachments.attachments, function (index, value) {
@@ -307,15 +321,52 @@ document.addEventListener('DOMContentLoaded', function () {
}
}
if (isOrganizer == "1") {
$('.event-organizer-div').hide();
$('.show-update').show();
$('.show-attendee').hide();
} else {
const organizer = JSON.parse(data.data.organizer.organizer);
$('.event-organizer-div').show();
$('.event-organizer').text(organizer.name);
$('.accepted-status').removeClass('fa-circle-check');
$('.accepted-status').removeClass('fa-circle-info');
let accepted = data.data.accepted.accepted;
if (accepted) {
const accept = JSON.parse(accepted);
const datetime=new Date(accept.time * 1000);
const germanDateTime = datetime.toLocaleString('de-DE');
$('.accepted-status').addClass('fa-circle-check');
$('.accepted-status').prop('title', accept.user + ' (' + germanDateTime + ')');
$('.event-accepted').text('Akzeptiert');
}
else
{
$('.accepted-status').addClass('fa-circle-info');
$('.accepted-status').prop('title', 'Termin wurde noch nicht bestätigt');
$('.event-accepted').text('Offen');
}
$('.show-update').hide();
$('.show-attendee').show();
$('.show-attendee').data('id', info.event.id);
}
if (data.data.attendees.attendees) {
let attendees = JSON.parse(data.data.attendees.attendees);
$.each(attendees, function (index, value) {
if (!Number.isInteger(value)) {
var valueExists = $("#calendar-attendees option").filter(function () {
return $(this).val() === value;
}).length > 0;
if (!valueExists) {
$("#calendar-attendees").append(new Option(value, value, true, true))
}
}
});
$('#calendar-attendees').val(attendees).trigger('change');
}
});
if (info.event.startEditable) {
if (info.event.extendedProps.clickable) {
let cestDate = new Date(info.event.startStr);
let cestOffset = 0; // 2 Stunden in Minuten
let utcTime = cestDate.getTime() - cestOffset * 60 * 1000;
@@ -333,8 +384,12 @@ document.addEventListener('DOMContentLoaded', function () {
cestDate = new Date(info.event.endStr);
cestOffset = 0; // 2 Stunden in Minuten
utcTime = cestDate.getTime() - cestOffset * 60 * 1000;
utcTime = cestDate.getTime() - cestOffset * 60 * 1000;
if (info.event.allDay) {
utcTime = utcTime - 60;
}
utcDate = new Date(utcTime);
year = utcDate.getUTCFullYear();
month = String(utcDate.getUTCMonth() + 1).padStart(2, '0');
@@ -359,7 +414,7 @@ document.addEventListener('DOMContentLoaded', function () {
$('#allday').change();
$('#end-time').val('');
$('#end-date').val(StartformattedDate);
$('#end-date').val(EndformattedDate);
$('#start-time').val('');
} else {
$('#end-date').val(EndformattedDate);
@@ -386,19 +441,22 @@ document.addEventListener('DOMContentLoaded', function () {
}
},
eventDidMount: function (info) {
var eventstart = new Date(info.event.start);
var eventend = new Date(info.event.end);
// console.log(info);
var eventstart = new Date(info.event.startStr);
var eventend = new Date(info.event.endStr);
var title;
if (!info.event.allDay) {
eventstart = eventstart.toLocaleTimeString([], {hour: '2-digit', minute: '2-digit'});
eventend = eventend.toLocaleTimeString([], {hour: '2-digit', minute: '2-digit'});
eventstart = String(eventstart.getUTCHours()).padStart(2, '0') + ':' + String(eventstart.getUTCMinutes()).padStart(2, '0');
eventend = String(eventend.getUTCHours()).padStart(2, '0') + ':' + String(eventend.getUTCMinutes()).padStart(2, '0');
title = '<div class="tooltip-description text-center">von ' + eventstart + ' bis ' + eventend + '</div>';
} else {
eventstart = eventstart.toLocaleDateString();
eventend = eventend.toLocaleDateString();
eventstart = String(eventstart.getUTCDate()).padStart(2, '0') + '.' + String(eventstart.getUTCMonth() + 1).padStart(2, '0') + '.' + eventstart.getUTCFullYear();
eventend = String(eventend.getUTCDate()).padStart(2, '0') + '.' + String(eventend.getUTCMonth() + 1).padStart(2, '0') + '.' + eventend.getUTCFullYear();
if (eventend == "NaN.NaN.NaN") {
eventend = eventstart;
}
// console.log(eventend);
title = '<div class="tooltip-description text-center">Ganztägig von ' + eventstart + ' bis ' + eventend + ' </div>';
}
@@ -604,12 +662,19 @@ if (typeof (EventSource) !== 'undefined') {
jsondata.forEach(function (event) {
var cevent = calendar.getEventById(event.cal_events_id);
var rights = false;
var movable = false;
if (event.calendar_id in calendarRights) {
if (calendarRights[event.calendar_id] == 'all') {
rights = true;
} else {
rights = false;
}
if (event.isorganizer == '1' && rights) {
movable = true;
} else {
movable = false;
}
}
if (event.change_type == '2' && cevent) {
if (cevent) {
@@ -629,9 +694,10 @@ if (typeof (EventSource) !== 'undefined') {
classNames: ['cal-class-group-' + event.calendar_id, 'cal-class-id-' + event.cal_events_id],
attachment: event.attachment,
attachments: event.attachments,
editable: rights,
editable: movable,
resourceId: event.calendar_id,
calendar_name: event.calendar_name,
clickable: rights,
mtime: event.mtime,
mname: event.mname,
ctime: event.ctime,
@@ -657,6 +723,7 @@ if (typeof (EventSource) !== 'undefined') {
calendar_id: event.calendar_id_check,
resourceId: event.calendar_id,
calendar_name: event.calendar_name,
clickable: rights,
mtime: event.mtime,
mname: event.mname,
ctime: event.ctime,
@@ -683,9 +750,10 @@ if (typeof (EventSource) !== 'undefined') {
classNames: ['cal-class-group-' + event.calendar_id, 'cal-class-id-' + event.cal_events_id],
attachment: event.attachment,
attachments: event.attachments,
editable: rights,
editable: movable,
resourceId: event.calendar_id,
calendar_name: event.calendar_name,
clickable: rights,
mtime: event.mtime,
mname: event.mname,
ctime: event.ctime,
@@ -711,6 +779,7 @@ if (typeof (EventSource) !== 'undefined') {
calendar_id: event.calendar_id_check,
resourceId: event.calendar_id,
calendar_name: event.calendar_name,
clickable: rights,
mtime: event.mtime,
mname: event.mname,
ctime: event.ctime,
@@ -774,11 +843,14 @@ $(document).ready(function () {
$('#customer-info-check-info').empty();
$('#customer-info-type').val('1');
$('#customer').val('');
$('.event-organizer-div').hide();
$('#calendar-attendees').val('').trigger('change');
$('.customer-div').hide();
$('#EventModalLabel span').text('Termin erstellen');
$('#EventModalLabel .fa-calendar-symbol').addClass('fa-calendar-circle-plus');
$('#EventModalLabel .fa-calendar-symbol').removeClass('fa-calendar-lines-pen');
$('#EventModalLabel').data('id', '');
$('.show-attendee').data('id', '');
$('.eventmodal-input').val('');
$('.eventmodal-input').prop('disabled', false);
$('.eventmodal-checkbox').prop('checked', false);
@@ -876,6 +948,7 @@ $(document).ready(function () {
description: description,
attachments: attachments,
users: users,
attendees: $('#calendar-attendees').val(),
customer: customer,
customer_info_check: customer_info_check,
customer_info_text: customer_info_text,
@@ -969,6 +1042,7 @@ $(document).ready(function () {
description: description,
attachments: attachments,
users: users,
attendees: $('#calendar-attendees').val(),
customer: customer,
customer_info_check: customer_info_check,
customer_info_text: customer_info_text,
@@ -983,6 +1057,35 @@ $(document).ready(function () {
$('#EventModal').modal('hide');
});
$("body").on("click", ".show-attendee", function (e) {
let eventAction = $(this).data("event-action");
let eventactionGerman;
let id = $(this).data('id');
let users = [];
$('#calendar-users > option:selected').each(function () {
users.push($(this).val());
});
if (eventAction === "accept") {
eventactionGerman = "zusagen";
} else if (eventAction === "decline") {
eventactionGerman = "absagen";
}
if (confirm('Termin ' + eventactionGerman + '?')) {
$.post(requestUpdateStateUrl, {
id: id,
eventAction: eventAction,
users: users
}, function (data) {
}).done(function (data) {
});
$('#EventModal').modal('hide');
}
});
$('body').on('click', '#delete-event', function () {
var id = $(this).data('id');
var users = [];
@@ -1373,6 +1476,7 @@ Xinon GMbH`;
}
});
$("body").on("keyup", ".cal-group-name-input", function (e) {
if (e.keyCode === 13) {
let groupname = $.trim($(this).val());
@@ -1490,14 +1594,15 @@ Xinon GMbH`;
}
$('.select2-multiple').select2(
{
dropdownParent: jQuery('#relContainer')
}
);
$('.select2-multiple-tag').select2(
{
tags: true,
tokenSeparators: [',', ' ']
tokenSeparators: [',', ' '],
dropdownParent: jQuery('#relContainer')
}
);
@@ -1533,6 +1638,7 @@ Xinon GMbH`;
var resources = [];
var category = "";
var rights = false;
var movable = false;
var resourceCounter = 0;
$.each($('.calendar-check'), function (index, value) {
if ($(this).prop('checked')) {
@@ -1558,6 +1664,11 @@ Xinon GMbH`;
} else {
rights = false;
}
if (value.isorganizer.isorganizer == '1' && rights) {
movable = true;
} else {
movable = false;
}
userevents.push({
id: value.id.id,
start: value.cstart.cstart,
@@ -1572,9 +1683,10 @@ Xinon GMbH`;
classNames: ['cal-class-group-' + value.calendar_id.calendar_id, 'cal-class-id-' + value.id.id],
textColor: value.txtColor.txtColor,
backgroundColor: value.bgColor.bgColor,
editable: rights,
editable: movable,
resourceId: value.calendar_id.calendar_id,
calendar_name: value.calendar_name.calendar_name,
clickable: rights,
mtime: value.mtime.mtime,
mname: value.mname.mname,
ctime: value.ctime.ctime,
@@ -1597,6 +1709,7 @@ Xinon GMbH`;
attachments: value.attachments.attachments,
resourceId: value.calendar_id.calendar_id,
calendar_name: value.calendar_name.calendar_name,
clickable: false,
mtime: value.mtime.mtime,
mname: value.mname.mname,
ctime: value.ctime.ctime,