diff --git a/src/lib/Nav.svelte b/src/lib/Nav.svelte index 0e1bc95..cd5ec0f 100644 --- a/src/lib/Nav.svelte +++ b/src/lib/Nav.svelte @@ -64,6 +64,7 @@
  • Nicht zu planende ZPA-Prüfungen
  • Nicht zugeordnete ZPA-Prüfungen
  • Constraints
  • +
  • Räume
  • Zusätzliche Prüfungen
  • Anmeldungszuordnung (ZPA/Primuss)
  • diff --git a/src/lib/nta/NTACard.svelte b/src/lib/nta/NTACard.svelte index 7137868..c7389fc 100644 --- a/src/lib/nta/NTACard.svelte +++ b/src/lib/nta/NTACard.svelte @@ -9,10 +9,10 @@ {nta.nta.name} ({nta.nta.program}) {#if nta.nta.needsHardware} -
    spezielle Hardware
    +
    spezielle Hardware
    {/if} {#if nta.nta.needsRoomAlone} -
    eigener Raum
    +
    eigener Raum
    {/if}
    @@ -32,10 +32,15 @@
  • {exam.ancode}. {exam.zpaExam.mainExamer}: {exam.zpaExam.module} {#if exam.constraints && exam.constraints.roomConstraints && exam.constraints.roomConstraints.seb} -
    SEB
    +
    SEB
    {/if} {#if exam.constraints && exam.constraints.roomConstraints && exam.constraints.roomConstraints.exahm} -
    EXaHM
    +
    EXaHM
    + {/if} + {#if exam.roomName} +
    {exam.roomName}
    + {:else} +
    noch nicht geplant
    {/if}
  • {/if} diff --git a/src/routes/api/plan/plannedRoomForStudent/+server.js b/src/routes/api/plan/plannedRoomForStudent/+server.js new file mode 100644 index 0000000..991fb96 --- /dev/null +++ b/src/routes/api/plan/plannedRoomForStudent/+server.js @@ -0,0 +1,27 @@ +import { env } from '$env/dynamic/private'; +import { json } from '@sveltejs/kit'; +import { request as gqlrequest, gql } from 'graphql-request'; + +/** @type {import('./$types').RequestHandler} */ +export async function POST({ request }) { + const query = gql` + query ($ancode: Int!, $mtknr: String!) { + plannedRoomForStudent(ancode: $ancode, mtknr: $mtknr) { + room { + name + } + } + } + `; + + const { ancode, mtknr } = await request.json(); + + const variables = { + ancode, + mtknr + }; + + const data = await gqlrequest(env.PLEXAMS_SERVER, query, variables); + + return json(data); +} diff --git a/src/routes/nta/ntaWithRegs/+page.server.js b/src/routes/nta/ntaWithRegs/+page.server.js index 01d54a8..296ea07 100644 --- a/src/routes/nta/ntaWithRegs/+page.server.js +++ b/src/routes/nta/ntaWithRegs/+page.server.js @@ -56,6 +56,25 @@ export async function load({ params }) { `; const data = await request(env.PLEXAMS_SERVER, query); + + const roomQuery = gql` + query { + plannedRoomForStudent(ancode: ${ancode}, mtknr: "${nta.mtknr}") { + room { + name + } + } + } + `; + + const roomData = await request(env.PLEXAMS_SERVER, roomQuery).catch((e) => { + (e) => console.log(e); + }); + + if (roomData != null && roomData.plannedRoomForStudent.room != null) { + data.generatedExam.roomName = roomData.plannedRoomForStudent.room.name; + } + exams.push(data.generatedExam); } diff --git a/src/routes/rooms/+page.server.js b/src/routes/rooms/+page.server.js new file mode 100644 index 0000000..879f72f --- /dev/null +++ b/src/routes/rooms/+page.server.js @@ -0,0 +1,25 @@ +import { env } from '$env/dynamic/private'; +import { request, gql } from 'graphql-request'; + +export async function load({ params }) { + const query = gql` + query { + rooms { + name + seats + handicap + lab + placesWithSocket + exahm + seb + needsRequest + } + } + `; + + let data = await request(env.PLEXAMS_SERVER, query); + + return { + rooms: data.rooms + }; +} diff --git a/src/routes/rooms/+page.svelte b/src/routes/rooms/+page.svelte new file mode 100644 index 0000000..ce3892c --- /dev/null +++ b/src/routes/rooms/+page.svelte @@ -0,0 +1,91 @@ + + +
    +
    + {data.rooms.length} Räume +
    +
    + +
    +
    + + + + + + + + + + + + + + + + {#each rooms as room} + + + + + + + + + + + {/each} + +
    onClick('name')}>Name onClick('seats')}>Plätze onClick('nta')}>NTA onClick('lab')}>Labor onClick('placesWithSocket')}>Steckdosen onClick('exahm')}>EXaHM onClick('seb')}>SEB onClick('needsRequest')}>Anforderung
    {room.name} {room.seats} Plätze + {#if room.handicap} +
    NTA
    + {/if} +
    + {#if room.lab} +
    Labor
    + {/if} +
    + {#if room.placesWithSocket} +
    Steckdosen
    + {/if} +
    + {#if room.exahm} +
    EXaHM
    + {/if} +
    + {#if room.seb} +
    SEB
    + {/if} +
    + {#if room.needsRequest} +
    Request
    + {/if} +
    +
    +