diff --git a/application/controllers/api/frontend/v1/calendar/RoomPlan.php b/application/controllers/api/frontend/v1/calendar/RoomPlan.php
index 522478f35..fd67e43d6 100644
--- a/application/controllers/api/frontend/v1/calendar/RoomPlan.php
+++ b/application/controllers/api/frontend/v1/calendar/RoomPlan.php
@@ -92,7 +92,7 @@ class RoomPlan extends FHCAPI_Controller
$result = $this->stundenplanlib->addReservation($start, $end, $title, $beschreibung, $ort_kurzbz, $lektoren, $studiengang_kz, $semester, $verband, $gruppe, $spezialgruppe);
if (isError($result))
- $this->terminateWithError($result);
+ $this->terminateWithError(getError($result));
$this->terminateWithSuccess($result);
}
diff --git a/application/libraries/StundenplanLib.php b/application/libraries/StundenplanLib.php
index 4cfefc634..6c2f4fb79 100644
--- a/application/libraries/StundenplanLib.php
+++ b/application/libraries/StundenplanLib.php
@@ -528,6 +528,7 @@ class StundenplanLib
$this->_ci->load->model('ressource/stundenplandev_model', 'StundenplandevModel');
$this->_ci->load->model('ressource/stundenplan_model', 'StundenplanModel');
$this->_ci->load->library('PermissionLib');
+ $this->_ci->load->library('PhrasesLib', ['LvPlan']);
$startTime = new DateTime($start);
$endTime = new DateTime($end);
@@ -558,7 +559,7 @@ class StundenplanLib
if ((hasData($stundenplandev_belegung) || hasData($stundenplan_belegung))
&& !$this->_ci->permissionlib->isBerechtigt('lehre/reservierungAdvanced'))
- return error ('lvplan/bereitsReserviert');
+ return error($this->_ci->phraseslib->t('LvPlan', 'bereitsReserviert'));
$this->_ci->ReservierungModel->addSelect('stunde');
$reservation_hours = $this->_ci->ReservierungModel->loadWhere(array('datum' => $startTime->format('Y-m-d'), 'ort_kurzbz' => $ort_kurzbz));
@@ -571,7 +572,7 @@ class StundenplanLib
if (!empty(array_intersect($stunden, $reservation_hours))
&& !$this->_ci->permissionlib->isBerechtigt('lehre/reservierungAdvanced'))
- return error("lvplan/bereitsReserviert");
+ return error($this->_ci->phraseslib->t('LvPlan', 'bereitsReserviert'));
if (!empty($lektoren))
diff --git a/public/js/components/Cis/Renderer/Slot/roomModalContent.js b/public/js/components/Cis/Renderer/Slot/roomModalContent.js
index 87c457f4b..618b81c89 100644
--- a/public/js/components/Cis/Renderer/Slot/roomModalContent.js
+++ b/public/js/components/Cis/Renderer/Slot/roomModalContent.js
@@ -29,6 +29,7 @@ export default {
selectedGruppe: null,
selectedLektoren: [],
nestedGroupOptions: {},
+ selectedDate: null,
};
},
computed: {
@@ -84,6 +85,10 @@ export default {
?.setZone?.(this.timezone)
?.toFormat?.("HH:mm:ss");
+ this.selectedDate = newEvent.start
+ .startOf("day")
+ .toISO()
+ .slice(0, 10);
this.selectedStart =
this.timeGrid.find((t) => t.start === startTime)?.start ||
this.timeGrid[0]?.start;
@@ -92,16 +97,20 @@ export default {
this.timeGrid.at(-1)?.end;
},
saveEvent() {
+ const date = this.selectedDate
+ ? luxon.DateTime.fromFormat(this.selectedDate, "yyyy-MM-dd")
+ : this.event.start.startOf("day");
const [startHour, startMinute] = this.selectedStart
.split(":")
.map(Number);
const [endHour, endMinute] = this.selectedEnd
.split(":")
.map(Number);
- const selectedStart = this.event.start
- .startOf("day")
- .set({ hour: startHour, minute: startMinute });
- const selectedEnd = this.event.start
+ const selectedStart = date.set({
+ hour: startHour,
+ minute: startMinute,
+ });
+ const selectedEnd = date
.startOf("day")
.set({ hour: endHour, minute: endMinute });
@@ -197,6 +206,18 @@ export default {
{{ slot.end }}
+
+