Admin entries address TODO apply javascript to only show appropriate auditions for the students grade
This commit is contained in:
parent
dcee3b80fe
commit
06d722b706
|
|
@ -8,11 +8,12 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
|
||||
|
||||
|
||||
class Student extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $guarded = [];
|
||||
|
||||
public function school(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(School::class);
|
||||
|
|
@ -28,9 +29,12 @@ class Student extends Model
|
|||
return $this->hasMany(Entry::class);
|
||||
}
|
||||
|
||||
public function full_name(Bool $last_name_first = false): String
|
||||
public function full_name(bool $last_name_first = false): string
|
||||
{
|
||||
if ($last_name_first) return $this->last_name . ', ' . $this->first_name;
|
||||
if ($last_name_first) {
|
||||
return $this->last_name.', '.$this->first_name;
|
||||
}
|
||||
|
||||
return $this->first_name.' '.$this->last_name;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,21 +2,22 @@
|
|||
<x-card.card class="mx-auto max-w-2xl">
|
||||
<x-card.heading>Create Entry</x-card.heading>
|
||||
<x-form.form method="POST" action="/admin/entries">
|
||||
<x-form.body-grid columns="3">
|
||||
<x-form.body-grid columns="3" x-data="studentAuditionFilter()">
|
||||
|
||||
<x-form.select name="student_id" colspan="2">
|
||||
<x-form.select name="student_id" colspan="2" x-model="selectedStudentId" @change="filterAuditions">
|
||||
<x-slot:label>Student</x-slot:label>
|
||||
@foreach ($students as $student)
|
||||
<option value="" disabled selected>Select a student</option>
|
||||
<template x-for="student in students" :key="student.id">
|
||||
<option :value="student.id" x-text="`${student.name} - ${student.school} - Grade ${student.grade}`"></option>
|
||||
</template>
|
||||
</x-form.select>
|
||||
|
||||
<option value="{{ $student->id }}">{{ $student->full_name(true) }} - {{ $student->school->name }} (Grade {{ $student->grade }})</option>
|
||||
@endforeach
|
||||
|
||||
</x-form.select><x-form.select name="audition_id" colspan="1">
|
||||
<x-form.select name="audition_id" colspan="1">
|
||||
<x-slot:label>Audition</x-slot:label>
|
||||
@foreach ($auditions as $audition)
|
||||
|
||||
<option value="{{ $audition->id }}"> {{ $audition->name }}</option>
|
||||
@endforeach
|
||||
<option value="" disabled selected>Select an audition</option>
|
||||
<template x-for="audition in filteredAuditions" :key="audition.id">
|
||||
<option :value="audition.id" x-text="audition.name"></option>
|
||||
</template>
|
||||
</x-form.select>
|
||||
|
||||
@if(auditionSetting('advanceTo'))
|
||||
|
|
@ -39,6 +40,5 @@
|
|||
</x-form.footer>
|
||||
</x-form.form>
|
||||
</x-card.card>
|
||||
@include('students.student_audition_select_script')
|
||||
</x-layout.app>
|
||||
|
||||
{{--TODO apply javascript to only show appropriate auditions for the students grade--}}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
students: [
|
||||
|
||||
@foreach($students as $student)
|
||||
{ id: {{ $student->id }}, name: '{{ $student->full_name() }}', grade: {{ $student->grade }} },
|
||||
{ id: {{ $student->id }}, name: '{{ $student->full_name(true) }}', grade: {{ $student->grade }}, school: '{{ $student->school->name }}' },
|
||||
@endforeach
|
||||
],
|
||||
auditions: [
|
||||
|
|
|
|||
Loading…
Reference in New Issue