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} + + {:else} + + + + + {/if} + + {/each} + +
    + {exam.ancode}. {exam.zpaExam.mainExamer}: {exam.zpaExam.module} + + {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} +
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); }