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
+11 -12
View File
@@ -40,7 +40,11 @@ class CityTable extends DataTableComponent
public function columns(): array public function columns(): array
{ {
$columns = collect([]); $columns = collect([
Column::make("Stadt Name", "name")
->sortable()
->searchable(),
]);
if ($this->type === 'school') { if ($this->type === 'school') {
$columns = $columns->merge([ $columns = $columns->merge([
Column::make('Veranstaltungs-Orte') Column::make('Veranstaltungs-Orte')
@@ -50,26 +54,21 @@ class CityTable extends DataTableComponent
->collapseOnMobile(), ->collapseOnMobile(),
Column::make('Termine') Column::make('Termine')
->label( ->label(
fn($row, Column $column) => $row->events_count fn($row, Column $column) => $row->course_events_count
) )
->collapseOnMobile(), ->collapseOnMobile(),
]); ]);
} }
if ($this->type === 'bookCase') {
$columns = $columns->merge([ return $columns->merge([
Column::make("Stadt Name", "name")
->sortable()
->searchable(),
Column::make('') Column::make('')
->label( ->label(
fn($row, Column $column) => view('columns.cities.action') fn($row, Column $column) => view('columns.cities.action')
->withRow($row) ->withRow($row)
->withType($this->type) ->withType($this->type)
), ),
]); ])
} ->toArray();
return $columns->toArray();
} }
public function builder(): Builder public function builder(): Builder
@@ -77,7 +76,7 @@ class CityTable extends DataTableComponent
return City::query() return City::query()
->withCount([ ->withCount([
'venues', 'venues',
'events', 'courseEvents',
]) ])
->whereHas('country', fn($query) => $query->where('code', $this->country)); ->whereHas('country', fn($query) => $query->where('code', $this->country));
} }
+3 -3
View File
@@ -67,7 +67,7 @@ class CourseTable extends DataTableComponent
), ),
Column::make("Termine") Column::make("Termine")
->label( ->label(
fn($row, Column $column) => '<strong>'.$row->events_count.'</strong>' fn($row, Column $column) => '<strong>'.$row->course_events_count.'</strong>'
) )
->html() ->html()
->sortable() ->sortable()
@@ -86,9 +86,9 @@ class CourseTable extends DataTableComponent
{ {
return Course::query() return Course::query()
->withCount([ ->withCount([
'events', 'courseEvents',
]) ])
->whereHas('events.venue.city.country', ->whereHas('courseEvents.venue.city.country',
fn($query) => $query->where('countries.code', $this->country)); fn($query) => $query->where('countries.code', $this->country));
} }
+2 -2
View File
@@ -52,7 +52,7 @@ class VenueTable extends DataTableComponent
->collapseOnMobile(), ->collapseOnMobile(),
Column::make('Termine') Column::make('Termine')
->label( ->label(
fn($row, Column $column) => $row->events_count fn($row, Column $column) => $row->course_events_count
) )
->collapseOnMobile(), ->collapseOnMobile(),
Column::make('') Column::make('')
@@ -66,7 +66,7 @@ class VenueTable extends DataTableComponent
{ {
return Venue::query() return Venue::query()
->withCount([ ->withCount([
'events', 'courseEvents',
]) ])
->whereHas('city.country', fn($query) => $query->where('code', $this->country)); ->whereHas('city.country', fn($query) => $query->where('code', $this->country));
} }
+1 -1
View File
@@ -50,7 +50,7 @@ class City extends Model
return $this->hasMany(Venue::class); return $this->hasMany(Venue::class);
} }
function events() function courseEvents()
{ {
return $this->hasManyThrough(CourseEvent::class, Venue::class); return $this->hasManyThrough(CourseEvent::class, Venue::class);
} }
+1 -1
View File
@@ -64,7 +64,7 @@ class Course extends Model implements HasMedia
return $this->belongsTo(Lecturer::class); 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); return $this->hasMany(CourseEvent::class);
} }
+1 -1
View File
@@ -28,7 +28,7 @@ class Registration extends Model
'active' => 'boolean', 'active' => 'boolean',
]; ];
public function event(): \Illuminate\Database\Eloquent\Relations\BelongsTo public function courseEvent(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{ {
return $this->belongsTo(CourseEvent::class); return $this->belongsTo(CourseEvent::class);
} }
+1 -1
View File
@@ -78,7 +78,7 @@ class Venue extends Model implements HasMedia
return $this->hasManyDeepFromRelations($this->events(), (new CourseEvent())->course()); 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); return $this->hasMany(CourseEvent::class);
} }
+6
View File
@@ -4,6 +4,8 @@ namespace App\Nova;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Laravel\Nova\Fields\BelongsTo; use Laravel\Nova\Fields\BelongsTo;
use Laravel\Nova\Fields\HasMany;
use Laravel\Nova\Fields\HasManyThrough;
use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Number; use Laravel\Nova\Fields\Number;
use Laravel\Nova\Fields\Text; use Laravel\Nova\Fields\Text;
@@ -62,6 +64,10 @@ class City extends Resource
BelongsTo::make(__('Country'), 'country', Country::class), BelongsTo::make(__('Country'), 'country', Country::class),
HasMany::make(__('Venues'), 'venues', Venue::class),
HasManyThrough::make(__('Course Events'), 'courseEvents', CourseEvent::class)
]; ];
} }
+1 -1
View File
@@ -46,7 +46,7 @@ class Registration extends Resource
Boolean::make('Active') Boolean::make('Active')
->rules('required'), ->rules('required'),
BelongsTo::make('Course Event'), BelongsTo::make('Course Event', 'courseEvent'),
BelongsTo::make('Participant'), BelongsTo::make('Participant'),
]; ];
Generated
+58 -53
View File
@@ -2702,17 +2702,17 @@
}, },
{ {
"name": "laravel/nova", "name": "laravel/nova",
"version": "4.19.4", "version": "4.19.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "git@github.com:laravel/nova.git", "url": "git@github.com:laravel/nova.git",
"reference": "962deed1c3df3740620be19646c8acd69430e66d" "reference": "1c4f32ab373d93314ae84bd175b644b71c96a28d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://nova.laravel.com/dist/laravel/nova/laravel-nova-962deed1c3df3740620be19646c8acd69430e66d-zip-804f62.zip", "url": "https://nova.laravel.com/dist/laravel/nova/laravel-nova-1c4f32ab373d93314ae84bd175b644b71c96a28d-zip-42a3e1.zip",
"reference": "962deed1c3df3740620be19646c8acd69430e66d", "reference": "1c4f32ab373d93314ae84bd175b644b71c96a28d",
"shasum": "51ac67d601f0f11213b23a9a8f5df425ae48f122" "shasum": "853ce862f1e4adb43b3f18b0542512d6dd54f18a"
}, },
"require": { "require": {
"brick/money": "^0.5.0|^0.6.0|^0.7.0", "brick/money": "^0.5.0|^0.6.0|^0.7.0",
@@ -2723,7 +2723,7 @@
"laravel/ui": "^3.3|^4.0", "laravel/ui": "^3.3|^4.0",
"nesbot/carbon": "^2.53.1", "nesbot/carbon": "^2.53.1",
"php": "^7.3|^8.0", "php": "^7.3|^8.0",
"rap2hpoutre/fast-excel": "^3.2|^4.1", "rap2hpoutre/fast-excel": "^3.2|^4.1|^5.0",
"spatie/once": "^1.1|^2.0|^3.0", "spatie/once": "^1.1|^2.0|^3.0",
"symfony/console": "^5.4|^6.0", "symfony/console": "^5.4|^6.0",
"symfony/finder": "^5.4|^6.0", "symfony/finder": "^5.4|^6.0",
@@ -2807,9 +2807,9 @@
"laravel" "laravel"
], ],
"support": { "support": {
"source": "https://github.com/laravel/nova/tree/v4.19.4" "source": "https://github.com/laravel/nova/tree/v4.19.5"
}, },
"time": "2022-11-29T15:30:53+00:00" "time": "2022-12-14T02:03:19+00:00"
}, },
{ {
"name": "laravel/sanctum", "name": "laravel/sanctum",
@@ -4384,16 +4384,16 @@
}, },
{ {
"name": "nova-kit/nova-packages-tool", "name": "nova-kit/nova-packages-tool",
"version": "v1.6.1", "version": "v1.6.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nova-kit/nova-packages-tool.git", "url": "https://github.com/nova-kit/nova-packages-tool.git",
"reference": "c6deaf054a94d36c20b9472979c5dc94415f1283" "reference": "cbed89e52c04b5b2adb415f4f39b6323ae8a683d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nova-kit/nova-packages-tool/zipball/c6deaf054a94d36c20b9472979c5dc94415f1283", "url": "https://api.github.com/repos/nova-kit/nova-packages-tool/zipball/cbed89e52c04b5b2adb415f4f39b6323ae8a683d",
"reference": "c6deaf054a94d36c20b9472979c5dc94415f1283", "reference": "cbed89e52c04b5b2adb415f4f39b6323ae8a683d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4428,9 +4428,9 @@
], ],
"description": "Tool for Laravel Nova Packages Development", "description": "Tool for Laravel Nova Packages Development",
"support": { "support": {
"source": "https://github.com/nova-kit/nova-packages-tool/tree/v1.6.1" "source": "https://github.com/nova-kit/nova-packages-tool/tree/v1.6.2"
}, },
"time": "2022-11-22T21:40:15+00:00" "time": "2022-12-14T02:09:50+00:00"
}, },
{ {
"name": "nova/start", "name": "nova/start",
@@ -4695,32 +4695,36 @@
}, },
{ {
"name": "openspout/openspout", "name": "openspout/openspout",
"version": "v3.7.4", "version": "v4.9.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/openspout/openspout.git", "url": "https://github.com/openspout/openspout.git",
"reference": "dfbbd53b5edcd486b45a37f6a04fac33073c70f3" "reference": "7b0db352e25c83e42d3375f57041a30a1ea9cd2c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/openspout/openspout/zipball/dfbbd53b5edcd486b45a37f6a04fac33073c70f3", "url": "https://api.github.com/repos/openspout/openspout/zipball/7b0db352e25c83e42d3375f57041a30a1ea9cd2c",
"reference": "dfbbd53b5edcd486b45a37f6a04fac33073c70f3", "reference": "7b0db352e25c83e42d3375f57041a30a1ea9cd2c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-dom": "*", "ext-dom": "*",
"ext-fileinfo": "*",
"ext-filter": "*", "ext-filter": "*",
"ext-libxml": "*", "ext-libxml": "*",
"ext-xmlreader": "*", "ext-xmlreader": "*",
"ext-zip": "*", "ext-zip": "*",
"php": "~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0" "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
}, },
"require-dev": { "require-dev": {
"ext-zlib": "*", "ext-zlib": "*",
"friendsofphp/php-cs-fixer": "^3.4", "friendsofphp/php-cs-fixer": "^3.8.0",
"phpstan/phpstan": "^1.4", "infection/infection": "^0.26.10",
"phpstan/phpstan-phpunit": "^1.0", "phpbench/phpbench": "^1.2.5",
"phpunit/phpunit": "^9.5" "phpstan/phpstan": "^1.6.8",
"phpstan/phpstan-phpunit": "^1.1.1",
"phpstan/phpstan-strict-rules": "^1.2.3",
"phpunit/phpunit": "^9.5.20"
}, },
"suggest": { "suggest": {
"ext-iconv": "To handle non UTF-8 CSV files (if \"php-intl\" is not already installed or is too limited)", "ext-iconv": "To handle non UTF-8 CSV files (if \"php-intl\" is not already installed or is too limited)",
@@ -4768,7 +4772,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/openspout/openspout/issues", "issues": "https://github.com/openspout/openspout/issues",
"source": "https://github.com/openspout/openspout/tree/v3.7.4" "source": "https://github.com/openspout/openspout/tree/v4.9.0"
}, },
"funding": [ "funding": [
{ {
@@ -4780,7 +4784,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-03-31T06:15:15+00:00" "time": "2022-12-13T07:41:37+00:00"
}, },
{ {
"name": "paragonie/constant_time_encoding", "name": "paragonie/constant_time_encoding",
@@ -6155,22 +6159,22 @@
}, },
{ {
"name": "rap2hpoutre/fast-excel", "name": "rap2hpoutre/fast-excel",
"version": "v4.1.0", "version": "v5.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/rap2hpoutre/fast-excel.git", "url": "https://github.com/rap2hpoutre/fast-excel.git",
"reference": "724557e844170a231fd4515bbc3ea435ca622e7d" "reference": "ae87162555c6c359964d671af6b7ad6c73f5f013"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/rap2hpoutre/fast-excel/zipball/724557e844170a231fd4515bbc3ea435ca622e7d", "url": "https://api.github.com/repos/rap2hpoutre/fast-excel/zipball/ae87162555c6c359964d671af6b7ad6c73f5f013",
"reference": "724557e844170a231fd4515bbc3ea435ca622e7d", "reference": "ae87162555c6c359964d671af6b7ad6c73f5f013",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"illuminate/support": "5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || ^6.0 || ^7.0 || ^8.0 || ^9.0", "illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0",
"openspout/openspout": "^3", "openspout/openspout": "^4.1.1",
"php": "^7.3 || ^8.0" "php": "^8.0"
}, },
"require-dev": { "require-dev": {
"illuminate/database": "^6.20.12 || ^7.30.4 || ^8.24.0 || ^9.0", "illuminate/database": "^6.20.12 || ^7.30.4 || ^8.24.0 || ^9.0",
@@ -6213,7 +6217,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/rap2hpoutre/fast-excel/issues", "issues": "https://github.com/rap2hpoutre/fast-excel/issues",
"source": "https://github.com/rap2hpoutre/fast-excel/tree/v4.1.0" "source": "https://github.com/rap2hpoutre/fast-excel/tree/v5.0.0"
}, },
"funding": [ "funding": [
{ {
@@ -6221,7 +6225,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-07-21T14:21:25+00:00" "time": "2022-12-09T15:18:32+00:00"
}, },
{ {
"name": "rappasoft/laravel-livewire-tables", "name": "rappasoft/laravel-livewire-tables",
@@ -12539,20 +12543,20 @@
}, },
{ {
"name": "fakerphp/faker", "name": "fakerphp/faker",
"version": "v1.20.0", "version": "v1.21.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/FakerPHP/Faker.git", "url": "https://github.com/FakerPHP/Faker.git",
"reference": "37f751c67a5372d4e26353bd9384bc03744ec77b" "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/37f751c67a5372d4e26353bd9384bc03744ec77b", "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/92efad6a967f0b79c499705c69b662f738cc9e4d",
"reference": "37f751c67a5372d4e26353bd9384bc03744ec77b", "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1 || ^8.0", "php": "^7.4 || ^8.0",
"psr/container": "^1.0 || ^2.0", "psr/container": "^1.0 || ^2.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0" "symfony/deprecation-contracts": "^2.2 || ^3.0"
}, },
@@ -12563,7 +12567,8 @@
"bamarni/composer-bin-plugin": "^1.4.1", "bamarni/composer-bin-plugin": "^1.4.1",
"doctrine/persistence": "^1.3 || ^2.0", "doctrine/persistence": "^1.3 || ^2.0",
"ext-intl": "*", "ext-intl": "*",
"symfony/phpunit-bridge": "^4.4 || ^5.2" "phpunit/phpunit": "^9.5.26",
"symfony/phpunit-bridge": "^5.4.16"
}, },
"suggest": { "suggest": {
"doctrine/orm": "Required to use Faker\\ORM\\Doctrine", "doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
@@ -12575,7 +12580,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-main": "v1.20-dev" "dev-main": "v1.21-dev"
} }
}, },
"autoload": { "autoload": {
@@ -12600,9 +12605,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/FakerPHP/Faker/issues", "issues": "https://github.com/FakerPHP/Faker/issues",
"source": "https://github.com/FakerPHP/Faker/tree/v1.20.0" "source": "https://github.com/FakerPHP/Faker/tree/v1.21.0"
}, },
"time": "2022-07-20T13:12:54+00:00" "time": "2022-12-13T13:54:32+00:00"
}, },
{ {
"name": "fidum/laravel-blueprint-pestphp-addon", "name": "fidum/laravel-blueprint-pestphp-addon",
@@ -13006,16 +13011,16 @@
}, },
{ {
"name": "laravel-lang/lang", "name": "laravel-lang/lang",
"version": "12.6.1", "version": "12.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Laravel-Lang/lang.git", "url": "https://github.com/Laravel-Lang/lang.git",
"reference": "4d099a2b7f5cfcda82cc8dc1c39620eb69d66d1f" "reference": "d900bc6dc001a8ca63cc13184c0720d4262e0d23"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Laravel-Lang/lang/zipball/4d099a2b7f5cfcda82cc8dc1c39620eb69d66d1f", "url": "https://api.github.com/repos/Laravel-Lang/lang/zipball/d900bc6dc001a8ca63cc13184c0720d4262e0d23",
"reference": "4d099a2b7f5cfcda82cc8dc1c39620eb69d66d1f", "reference": "d900bc6dc001a8ca63cc13184c0720d4262e0d23",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -13077,7 +13082,7 @@
"type": "open_collective" "type": "open_collective"
} }
], ],
"time": "2022-12-11T22:31:57+00:00" "time": "2022-12-14T07:53:56+00:00"
}, },
{ {
"name": "laravel-lang/publisher", "name": "laravel-lang/publisher",
@@ -13351,16 +13356,16 @@
}, },
{ {
"name": "laravel/sail", "name": "laravel/sail",
"version": "v1.16.3", "version": "v1.16.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/sail.git", "url": "https://github.com/laravel/sail.git",
"reference": "0dbee8802e17911afbe29a8506316343829b056e" "reference": "72412b14d6f4e73b71b5f3068bdb064184fbb001"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/sail/zipball/0dbee8802e17911afbe29a8506316343829b056e", "url": "https://api.github.com/repos/laravel/sail/zipball/72412b14d6f4e73b71b5f3068bdb064184fbb001",
"reference": "0dbee8802e17911afbe29a8506316343829b056e", "reference": "72412b14d6f4e73b71b5f3068bdb064184fbb001",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -13407,7 +13412,7 @@
"issues": "https://github.com/laravel/sail/issues", "issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail" "source": "https://github.com/laravel/sail"
}, },
"time": "2022-11-21T16:19:18+00:00" "time": "2022-12-12T16:47:37+00:00"
}, },
{ {
"name": "mockery/mockery", "name": "mockery/mockery",
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,7 +1,7 @@
{ {
"/app.js": "/app.js?id=ada6c8af230f6ad9c250ef9192bae180", "/app.js": "/app.js?id=fc87559387788aba14201a8d24757d03",
"/manifest.js": "/manifest.js?id=d75058ce2144a4049857d3ff9e02de1e", "/manifest.js": "/manifest.js?id=d75058ce2144a4049857d3ff9e02de1e",
"/app.css": "/app.css?id=316ed829ac86fe103756e9781acc55cc", "/app.css": "/app.css?id=c50093a39cdeeb8d1fb37e4b14e73bc7",
"/vendor.js": "/vendor.js?id=de86bde8857e857b607852d11627d8e4", "/vendor.js": "/vendor.js?id=de86bde8857e857b607852d11627d8e4",
"/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty10iurt9w6fk2a.woff2": "/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty10iurt9w6fk2a.woff2?id=c8390e146be0a3c8a5498355dec892ae", "/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty10iurt9w6fk2a.woff2": "/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty10iurt9w6fk2a.woff2?id=c8390e146be0a3c8a5498355dec892ae",
"/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty14iurt9w6fk2a.woff2": "/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty14iurt9w6fk2a.woff2?id=b0735c7dd6126471acbaf9d6e9f5e41a", "/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty14iurt9w6fk2a.woff2": "/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty14iurt9w6fk2a.woff2?id=b0735c7dd6126471acbaf9d6e9f5e41a",