diff --git a/schema.graphql b/schema.graphql
index 4df2104..7a012b1 100644
--- a/schema.graphql
+++ b/schema.graphql
@@ -403,6 +403,7 @@ type PlannedRoom {
handicap: Boolean!
handicapRoomAlone: Boolean!
ntaMtknr: String
+ prePlanned: Boolean!
reserve: Boolean!
room: Room!
slot: Int!
diff --git a/src/lib/exam/ExamWithNTAsForRoomPlanning.svelte b/src/lib/exam/ExamWithNTAsForRoomPlanning.svelte
index 9cc8b3c..b3ae5e9 100644
--- a/src/lib/exam/ExamWithNTAsForRoomPlanning.svelte
+++ b/src/lib/exam/ExamWithNTAsForRoomPlanning.svelte
@@ -198,8 +198,31 @@
{#each plannedExam.plannedRooms as room}
{#if room.handicap}
+ {#if room.prePlanned}
+
+ {/if}
{room.room.name} (
{#each room.studentsInRoom as student}
{ntaName(plannedExam, student)};
diff --git a/src/lib/nta/NTACard.svelte b/src/lib/nta/NTACard.svelte
index 42e2c62..ce88134 100644
--- a/src/lib/nta/NTACard.svelte
+++ b/src/lib/nta/NTACard.svelte
@@ -1,5 +1,6 @@
@@ -31,28 +32,45 @@
- {#each nta.exams as exam}
- {#if exam.constraints && exam.constraints.notPlannedByMe}
- -
- {exam.ancode}. {exam.zpaExam.mainExamer}: {exam.zpaExam.module}
-
- {:else}
- -
- {exam.ancode}. {exam.zpaExam.mainExamer}: {exam.zpaExam.module}
- {#if exam.constraints && exam.constraints.roomConstraints && exam.constraints.roomConstraints.seb}
-
SEB
- {/if}
- {#if exam.constraints && exam.constraints.roomConstraints && exam.constraints.roomConstraints.exahm}
- EXaHM
- {/if}
- {#if exam.roomName}
- {exam.roomName}
- {:else}
- noch nicht geplant
- {/if}
-
- {/if}
- {/each}
+
+
+ {#each nta.exams as exam}
+
+ {#if exam.constraints && exam.constraints.notPlannedByMe}
+ |
+ {exam.ancode}. {exam.zpaExam.mainExamer}: {exam.zpaExam.module}
+ |
+ {:else}
+
+ {exam.ancode}. {exam.zpaExam.mainExamer}: {exam.zpaExam.module}
+ |
+
+ {#if exam.roomName}
+ {exam.roomName}
+ {:else}
+ noch nicht geplant
+ {/if}
+ |
+
+ {#if exam.starttime}
+ {mkStarttime(exam.starttime)}
+ {:else}
+ noch nicht geplant
+ {/if}
+ |
+
+ {#if exam.constraints && exam.constraints.roomConstraints && exam.constraints.roomConstraints.seb}
+ SEB
+ {/if}
+ {#if exam.constraints && exam.constraints.roomConstraints && exam.constraints.roomConstraints.exahm}
+ EXaHM
+ {/if}
+ |
+ {/if}
+
+ {/each}
+
+
diff --git a/src/routes/api/examsInSlot/+server.js b/src/routes/api/examsInSlot/+server.js
index f6f3d81..4346a13 100644
--- a/src/routes/api/examsInSlot/+server.js
+++ b/src/routes/api/examsInSlot/+server.js
@@ -132,6 +132,7 @@ export async function POST({ request }) {
reserve
studentsInRoom
ntaMtknr
+ prePlanned
}
}
}
diff --git a/src/routes/nta/ntaWithRegs/+page.server.js b/src/routes/nta/ntaWithRegs/+page.server.js
index 29c3b36..de949fd 100644
--- a/src/routes/nta/ntaWithRegs/+page.server.js
+++ b/src/routes/nta/ntaWithRegs/+page.server.js
@@ -77,6 +77,25 @@ export async function load({ params }) {
data.generatedExam.roomName = roomData.plannedRoomForStudent.room.name;
}
+ const plannedExamQuery = gql`
+ query {
+ plannedExam(ancode: ${ancode}) {
+ planEntry {
+ starttime
+ }
+ }
+ }`;
+
+ const planData = await request(env.PLEXAMS_SERVER, plannedExamQuery);
+
+ if (
+ planData != null &&
+ planData.plannedExam != null &&
+ planData.plannedExam.planEntry != null
+ ) {
+ data.generatedExam.starttime = planData.plannedExam.planEntry.starttime;
+ }
+
exams.push(data.generatedExam);
}