You've already forked isop-mirror
fix: update student reference in internship tables to match data structure
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user