feat: schema v1.7 + sections/shifts frontend

- Universeel festival/event model (parent_event_id, event_type)
- event_person_activations pivot tabel
- Event model: parent/children relaties + helper scopes
- DevSeeder: festival structuur met sub-events
- Sections & Shifts frontend (twee-kolom layout)
- BACKLOG.md aangemaakt met 22 gedocumenteerde wensen
This commit is contained in:
2026-04-08 07:23:56 +02:00
parent 6f69b30fb6
commit 6848bc2c49
19 changed files with 2560 additions and 87 deletions

View File

@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Database\Seeders;
use App\Models\CrowdType;
use App\Models\Event;
use App\Models\Organisation;
use App\Models\User;
use Illuminate\Database\Seeder;
@@ -99,5 +100,59 @@ class DevSeeder extends Seeder
],
);
}
// 5. Flat event (backward compatible single event)
Event::firstOrCreate(
['organisation_id' => $org->id, 'slug' => 'test-event-01'],
[
'name' => 'Test Event 01',
'start_date' => '2026-08-15',
'end_date' => '2026-08-15',
'status' => 'draft',
'event_type' => 'event',
'parent_event_id' => null,
],
);
// 6. Festival with sub-events
$festival = Event::firstOrCreate(
['organisation_id' => $org->id, 'slug' => 'echt-zomer-feesten-2026'],
[
'name' => 'Echt Zomer Feesten 2026',
'start_date' => '2026-07-10',
'end_date' => '2026-07-11',
'status' => 'draft',
'event_type' => 'festival',
'event_type_label' => 'Festival',
'sub_event_label' => 'Programmaonderdeel',
'parent_event_id' => null,
],
);
// Sub-event 1: Dance Festival
Event::firstOrCreate(
['organisation_id' => $org->id, 'slug' => 'dance-festival-2026'],
[
'name' => 'Dance Festival',
'start_date' => '2026-07-10',
'end_date' => '2026-07-10',
'status' => 'draft',
'event_type' => 'event',
'parent_event_id' => $festival->id,
],
);
// Sub-event 2: Zomerfestival
Event::firstOrCreate(
['organisation_id' => $org->id, 'slug' => 'zomerfestival-2026'],
[
'name' => 'Zomerfestival',
'start_date' => '2026-07-11',
'end_date' => '2026-07-11',
'status' => 'draft',
'event_type' => 'event',
'parent_event_id' => $festival->id,
],
);
}
}