add resources assignment to tempus kalender entries

This commit is contained in:
Ivymaster
2026-07-17 09:09:49 +02:00
parent 9abaf30ed3
commit e09fea72a4
18 changed files with 1907 additions and 837 deletions
@@ -0,0 +1,38 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getSchedulableResourcesByCalendar(calendarID) {
return {
method: "get",
url: "/api/frontend/v1/tempus/OperationalResourceToCalenderAPI/getSchedulableResourcesByCalendar/" + calendarID,
};
},
getAssignedResourcesByCalender(calenderID) {
return {
method: "get",
url: "/api/frontend/v1/tempus/OperationalResourceToCalenderAPI/getAssignedResourcesByCalender/" + calenderID,
};
},
storeResourcesToCalendarRelationship(calenderID, assignedResources) {
return {
method: "post",
url: "/api/frontend/v1/tempus/OperationalResourceToCalenderAPI/storeResourcesToCalendarRelationship",
params: { kalender_id: calenderID, assignedResources: assignedResources },
};
}
};
@@ -82,8 +82,14 @@ export default {
template: /*html*/`
<div
:class="classes"
class="position-relative"
@wheel.stop
>
<div v-if="event.has_assigned_resources" class="position-absolute top-0 start-0 m-1" >
<i
class="fa-solid fa-table-list text-muted"
></i>
</div>
<div
v-if="!event.allDayEvent && event?.beginn && event?.ende"
class="event-time d-none d-xl-grid h-100"
@@ -93,7 +99,10 @@ export default {
</div>
<div class="event-text" v-tooltip="tooltipString">
<span class="event-topic">{{ topicString }}</span>
<span class="event-place">{{ ortString }}</span>
<span
class="event-place"
data-cy="calendar-event-room"
>{{ ortString }}</span>
<span v-if="gruppeString" class="event-gruppe">{{ gruppeString }}</span>
<span
v-for="(lektor,index) in event.lektor.slice(0, 3)"
File diff suppressed because it is too large Load Diff
@@ -7,6 +7,11 @@ export function useContextMenuActions(handlers)
icon: 'fa-solid fa-door-open',
action: handlers.openRaumauswahl
},
{
label: 'Ressourcen zuordnen',
icon: 'fa-solid fa-table-list',
action: handlers.openResourcesAssignmentModal
},
{
label: 'Freischalten für Voransicht',
icon: 'fa-solid fa-chalkboard-user',