fix: update student reference in internship tables to match data structure

This commit is contained in:
2025-11-06 15:56:47 +01:00
parent 4443a9b3a1
commit 8476ed49db
3 changed files with 36 additions and 30 deletions

View File

@@ -49,7 +49,7 @@ const { data, error } = await useSanctumFetch<Internship[]>('/api/internships');
<tbody> <tbody>
<tr v-for="item in data"> <tr v-for="item in data">
<td>{{ item.company.name }}</td> <td>{{ item.company.name }}</td>
<td>{{ item.user!.name }}</td> <td>{{ item.student.name }}</td>
<td>{{ item.start }}</td> <td>{{ item.start }}</td>
<td>{{ item.end }}</td> <td>{{ item.end }}</td>
<td>{{ item.year_of_study }}</td> <td>{{ item.year_of_study }}</td>

View File

@@ -21,7 +21,7 @@ const loading = ref(false);
const action_error = ref(null as null | string); const action_error = ref(null as null | string);
const refreshKey = ref(0); const refreshKey = ref(0);
const { data, refresh } = await useSanctumFetch<Internship>(`/api/internships/${route.params.id}`); const { data, error: load_error, refresh } = await useSanctumFetch<Internship>(`/api/internships/${route.params.id}`);
async function handleUpdateOfBasicInfo(internship: NewInternship) { async function handleUpdateOfBasicInfo(internship: NewInternship) {
action_error.value = null; action_error.value = null;
@@ -53,47 +53,53 @@ async function handleUpdateOfBasicInfo(internship: NewInternship) {
<div style="height: 40px;"></div> <div style="height: 40px;"></div>
<!-- Čakajúca hláška --> <!-- Čakajúca hláška -->
<LoadingAlert /> <LoadingAlert v-if="loading" />
<!-- Chybová hláška --> <!-- Chybová hláška -->
<ErrorAlert v-if="action_error" :error="action_error" /> <ErrorAlert v-if="action_error" :error="action_error" />
<div> <!-- Chybová hláška -->
<h2>Základné informácie</h2> <ErrorAlert v-if="load_error" :error="load_error.message" />
<ErrorAlert v-if="data?.status.status !== InternshipStatus.SUBMITTED" title="Blokované"
error='Vaša prax nie je v stave "Zadaná" a teda nemôžete meniť údaje' />
<InternshipEditor v-else :internship="data!" :submit="handleUpdateOfBasicInfo" />
</div>
<hr /> <div v-else>
<div>
<h2>Základné informácie</h2>
<ErrorAlert v-if="data?.status.status !== InternshipStatus.SUBMITTED" title="Blokované"
error='Vaša prax nie je v stave "Zadaná" a teda nemôžete meniť údaje' />
<InternshipEditor v-else :internship="data!" :submit="handleUpdateOfBasicInfo" />
</div>
<div> <hr />
<h2>Stav</h2>
<h4>Aktuálny stav</h4>
<p>{{ prettyInternshipStatus(data?.status.status!) }}</p>
<p>Poznámka: <em>{{ data?.status.note }}</em></p>
<p>Posledná zmena: <em>{{ data?.status.changed }}, {{ data?.status.modified_by.name }}</em></p>
<br /> <div>
<h2>Stav</h2>
<h4>Aktuálny stav</h4>
<p>{{ prettyInternshipStatus(data?.status.status!) }}</p>
<p>Poznámka: <em>{{ data?.status.note }}</em></p>
<p>Posledná zmena: <em>{{ data?.status.changed }}, {{ data?.status.modified_by.name }}</em></p>
<h4>História</h4> <br />
<InternshipStatusHistoryView :internship="data!" />
<br /> <h4>História</h4>
<InternshipStatusHistoryView :internship="data!" />
<h4>Zmena stavu</h4> <br />
<InternshipStatusEditor :internship="data!" @successful-submit="() => { refresh(); refreshKey++; }" />
</div>
<hr /> <h4>Zmena stavu</h4>
<InternshipStatusEditor :internship="data!"
@successful-submit="() => { refresh(); refreshKey++; }" />
</div>
<div> <hr />
<h2>Nahratie dokumentov</h2>
<ErrorAlert v-if="data?.status.status !== InternshipStatus.CONFIRMED" title="Blokované" <div>
error='Vaša prax nie je v stave "Schválená" a teda nemôžete nahrať dokumenty.' /> <h2>Nahratie dokumentov</h2>
<InternshipDocumentEditor v-else :internship="data!" @successful-submit="refresh" /> <ErrorAlert v-if="data?.status.status !== InternshipStatus.CONFIRMED" title="Blokované"
error='Vaša prax nie je v stave "Schválená" a teda nemôžete nahrať dokumenty.' />
<InternshipDocumentEditor v-else :internship="data!" @successful-submit="refresh" />
</div>
</div> </div>
</v-card> </v-card>
</v-container> </v-container>

View File

@@ -47,7 +47,7 @@ const { data, error } = await useSanctumFetch<Internship[]>('/api/internships/my
</thead> </thead>
<tbody> <tbody>
<tr v-for="item in data"> <tr v-for="item in data">
<td>{{ item.user!.name }}</td> <td>{{ item.student.name }}</td>
<td>{{ item.start }}</td> <td>{{ item.start }}</td>
<td>{{ item.end }}</td> <td>{{ item.end }}</td>
<td>{{ item.year_of_study }}</td> <td>{{ item.year_of_study }}</td>