events renamed to course events

This commit is contained in:
Benjamin Takats
2022-12-14 11:23:35 +01:00
parent 7dede68675
commit 7f8117ff5c
17 changed files with 99 additions and 89 deletions

View File

@@ -40,8 +40,12 @@ class CityTable extends DataTableComponent
public function columns(): array
{
$columns = collect([]);
if($this->type === 'school') {
$columns = collect([
Column::make("Stadt Name", "name")
->sortable()
->searchable(),
]);
if ($this->type === 'school') {
$columns = $columns->merge([
Column::make('Veranstaltungs-Orte')
->label(
@@ -50,26 +54,21 @@ class CityTable extends DataTableComponent
->collapseOnMobile(),
Column::make('Termine')
->label(
fn($row, Column $column) => $row->events_count
fn($row, Column $column) => $row->course_events_count
)
->collapseOnMobile(),
]);
}
if ($this->type === 'bookCase') {
$columns = $columns->merge([
Column::make("Stadt Name", "name")
->sortable()
->searchable(),
Column::make('')
->label(
fn($row, Column $column) => view('columns.cities.action')
->withRow($row)
->withType($this->type)
),
]);
}
return $columns->toArray();
return $columns->merge([
Column::make('')
->label(
fn($row, Column $column) => view('columns.cities.action')
->withRow($row)
->withType($this->type)
),
])
->toArray();
}
public function builder(): Builder
@@ -77,7 +76,7 @@ class CityTable extends DataTableComponent
return City::query()
->withCount([
'venues',
'events',
'courseEvents',
])
->whereHas('country', fn($query) => $query->where('code', $this->country));
}

View File

@@ -67,7 +67,7 @@ class CourseTable extends DataTableComponent
),
Column::make("Termine")
->label(
fn($row, Column $column) => '<strong>'.$row->events_count.'</strong>'
fn($row, Column $column) => '<strong>'.$row->course_events_count.'</strong>'
)
->html()
->sortable()
@@ -86,9 +86,9 @@ class CourseTable extends DataTableComponent
{
return Course::query()
->withCount([
'events',
'courseEvents',
])
->whereHas('events.venue.city.country',
->whereHas('courseEvents.venue.city.country',
fn($query) => $query->where('countries.code', $this->country));
}

View File

@@ -52,7 +52,7 @@ class VenueTable extends DataTableComponent
->collapseOnMobile(),
Column::make('Termine')
->label(
fn($row, Column $column) => $row->events_count
fn($row, Column $column) => $row->course_events_count
)
->collapseOnMobile(),
Column::make('')
@@ -66,7 +66,7 @@ class VenueTable extends DataTableComponent
{
return Venue::query()
->withCount([
'events',
'courseEvents',
])
->whereHas('city.country', fn($query) => $query->where('code', $this->country));
}

View File

@@ -50,7 +50,7 @@ class City extends Model
return $this->hasMany(Venue::class);
}
function events()
function courseEvents()
{
return $this->hasManyThrough(CourseEvent::class, Venue::class);
}

View File

@@ -64,7 +64,7 @@ class Course extends Model implements HasMedia
return $this->belongsTo(Lecturer::class);
}
public function events(): \Illuminate\Database\Eloquent\Relations\HasMany
public function courseEvents(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(CourseEvent::class);
}

View File

@@ -28,7 +28,7 @@ class Registration extends Model
'active' => 'boolean',
];
public function event(): \Illuminate\Database\Eloquent\Relations\BelongsTo
public function courseEvent(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{
return $this->belongsTo(CourseEvent::class);
}

View File

@@ -78,7 +78,7 @@ class Venue extends Model implements HasMedia
return $this->hasManyDeepFromRelations($this->events(), (new CourseEvent())->course());
}
public function events(): \Illuminate\Database\Eloquent\Relations\HasMany
public function courseEvents(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(CourseEvent::class);
}

View File

@@ -4,6 +4,8 @@ namespace App\Nova;
use Illuminate\Http\Request;
use Laravel\Nova\Fields\BelongsTo;
use Laravel\Nova\Fields\HasMany;
use Laravel\Nova\Fields\HasManyThrough;
use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Number;
use Laravel\Nova\Fields\Text;
@@ -62,6 +64,10 @@ class City extends Resource
BelongsTo::make(__('Country'), 'country', Country::class),
HasMany::make(__('Venues'), 'venues', Venue::class),
HasManyThrough::make(__('Course Events'), 'courseEvents', CourseEvent::class)
];
}

View File

@@ -46,7 +46,7 @@ class Registration extends Resource
Boolean::make('Active')
->rules('required'),
BelongsTo::make('Course Event'),
BelongsTo::make('Course Event', 'courseEvent'),
BelongsTo::make('Participant'),
];