diff --git a/src/lib/ConstraintsTable.svelte b/src/lib/ConstraintsTable.svelte index 0de0be1..777f818 100644 --- a/src/lib/ConstraintsTable.svelte +++ b/src/lib/ConstraintsTable.svelte @@ -162,22 +162,41 @@ {/if} - {#if exam.constraints && exam.constraints.roomConstraints} - {#if exam.constraints.roomConstraints.placesWithSocket} - Plätze mit Steckdosen, - {/if} - {#if exam.constraints.roomConstraints.lab} - Labor, - {/if} - {#if exam.constraints.roomConstraints.exahm} - EXaHM, - {/if} - {#if exam.constraints.roomConstraints.seb} - SafeExamBrowser, - {/if} - {/if} + + {#if exam.constraints && exam.constraints.roomConstraints} +
+
+ {#if exam.constraints.roomConstraints.allowedRooms && exam.constraints.roomConstraints.allowedRooms.length > 0} + {exam.constraints.roomConstraints.allowedRooms}, + {/if} + {#if exam.constraints.roomConstraints.placesWithSocket} + Plätze mit Steckdosen, + {/if} + {#if exam.constraints.roomConstraints.lab} + Labor, + {/if} + {#if exam.constraints.roomConstraints.exahm} + EXaHM, + {/if} + {#if exam.constraints.roomConstraints.seb} + SafeExamBrowser, + {/if} +
+ {#if exam.constraints.roomConstraints.kdpJiraURL} +
+ +
+ {/if} +
+ {/if} + {/each} diff --git a/src/routes/exam/constraints/+page.server.js b/src/routes/exam/constraints/+page.server.js index 0934f44..7e6f4bc 100644 --- a/src/routes/exam/constraints/+page.server.js +++ b/src/routes/exam/constraints/+page.server.js @@ -26,10 +26,14 @@ export async function load({ params }) { possibleDays sameSlot roomConstraints { + allowedRooms placesWithSocket lab exahm seb + kdpJiraURL + maxStudents + comments } } } diff --git a/src/routes/exam/constraints/[code=integer]/+page.server.js b/src/routes/exam/constraints/[code=integer]/+page.server.js index 85cb95a..1bb8f3a 100644 --- a/src/routes/exam/constraints/[code=integer]/+page.server.js +++ b/src/routes/exam/constraints/[code=integer]/+page.server.js @@ -32,6 +32,7 @@ export async function load({ params }) { possibleDays sameSlot roomConstraints { + allowedRooms placesWithSocket lab exahm @@ -90,10 +91,28 @@ export async function load({ params }) { const semesterData = await request(env.PLEXAMS_SERVER, semesterQuery); + const roomsQuery = gql` + query { + rooms { + name + seats + handicap + lab + placesWithSocket + needsRequest + exahm + seb + } + } + `; + + const roomsData = await request(env.PLEXAMS_SERVER, roomsQuery); + return { code: params.code, exam: dataE.zpaExam, constraints: dataC.constraintForAncode, - semesterConfig: semesterData.semesterConfig + semesterConfig: semesterData.semesterConfig, + rooms: roomsData.rooms }; } diff --git a/src/routes/exam/constraints/[code=integer]/+page.svelte b/src/routes/exam/constraints/[code=integer]/+page.svelte index 78465b7..1c57ef2 100644 --- a/src/routes/exam/constraints/[code=integer]/+page.svelte +++ b/src/routes/exam/constraints/[code=integer]/+page.svelte @@ -5,6 +5,7 @@ let constraints = data.constraints; let exam = data.exam; let semesterConfig = data.semesterConfig; + let rooms = data.rooms; let days = semesterConfig.days.map((day) => { return new Date(day.date).toLocaleDateString('de-DE', { @@ -18,6 +19,7 @@ let constraintsInput = { notPlannedByMe: false, online: false, + allowedRooms: [], placesWithSocket: false, lab: false, seb: false, @@ -32,6 +34,7 @@ constraintsInput.notPlannedByMe = constraints.notPlannedByMe; constraintsInput.online = constraints.online; if (constraints.roomConstraints) { + constraintsInput.allowedRooms = constraints.roomConstraints.allowedRooms || []; constraintsInput.placesWithSocket = constraints.roomConstraints.placesWithSocket; constraintsInput.lab = constraints.roomConstraints.lab; constraintsInput.seb = constraints.roomConstraints.seb; @@ -171,6 +174,7 @@