mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
events renamed to course events
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ class City extends Model
|
||||
return $this->hasMany(Venue::class);
|
||||
}
|
||||
|
||||
function events()
|
||||
function courseEvents()
|
||||
{
|
||||
return $this->hasManyThrough(CourseEvent::class, Venue::class);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -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'),
|
||||
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user