wip newsletter

This commit is contained in:
salam committed 2026-05-04 14:32:40 +02:00
1 parent 6549c1196d
commit 2514349783
13 files changed
+604 -43

No files matched your search

+3
View File
@@ -28,3 +28,6 @@ TextColumn::make('flaeche')
GOOD TURORIAL AND WIKI
https://mintlify.wiki/filamentphp/filament/advanced/custom-actions
MAIL
https://medium.com/@maitrikt1998/send-email-using-3-ways-in-laravel-12-0d0ff6977ac4
@@ -4,9 +4,12 @@ namespace App\Filament\Clusters\Newsletter;
use BackedEnum;
use Filament\Clusters\Cluster;
use Filament\Pages\Enums\SubNavigationPosition;
use Filament\Support\Icons\Heroicon;
class NewsletterCluster extends Cluster
{
protected static string|BackedEnum|null $navigationIcon = Heroicon::Envelope;
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedEnvelope;
protected static ?SubNavigationPosition $subNavigationPosition = SubNavigationPosition::Top;
}
@@ -0,0 +1,51 @@
<?php
namespace App\Filament\Resources\MailAdressens;
use App\Filament\Clusters\Newsletter\NewsletterCluster;
use App\Filament\Resources\MailAdressens\Pages\ListMailAdressens;
use App\Filament\Resources\MailAdressens\Schemas\MailAdressenForm;
use App\Filament\Resources\MailAdressens\Tables\MailAdressensTable;
use App\Models\MailAdressen;
use BackedEnum;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Support\Icons\Heroicon;
use Filament\Tables\Table;
class MailAdressenResource extends Resource
{
protected static ?string $model = MailAdressen::class;
protected static ?string $cluster = NewsletterCluster::class;
protected static ?string $navigationLabel = 'Mail Adressen';
protected static ?string $modelLabel = 'Mail Adressen';
protected static ?string $pluralModelLabel = 'Mail Adressen';
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack;
public static function form(Schema $schema): Schema
{
return MailAdressenForm::configure($schema);
}
public static function table(Table $table): Table
{
return MailAdressensTable::configure($table);
}
public static function getPages(): array
{
return [
'index' => ListMailAdressens::route('/'),
];
}
public static function getNavigationBadge(): ?string
{
return parent::getEloquentQuery()->count();
}
}
@@ -0,0 +1,11 @@
<?php
namespace App\Filament\Resources\MailAdressens\Pages;
use App\Filament\Resources\MailAdressens\MailAdressenResource;
use Filament\Resources\Pages\CreateRecord;
class CreateMailAdressen extends CreateRecord
{
protected static string $resource = MailAdressenResource::class;
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\MailAdressens\Pages;
use App\Filament\Resources\MailAdressens\MailAdressenResource;
use Filament\Actions\DeleteAction;
use Filament\Resources\Pages\EditRecord;
class EditMailAdressen extends EditRecord
{
protected static string $resource = MailAdressenResource::class;
protected function getHeaderActions(): array
{
return [
DeleteAction::make(),
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\MailAdressens\Pages;
use App\Filament\Resources\MailAdressens\MailAdressenResource;
use Filament\Actions\CreateAction;
use Filament\Resources\Pages\ListRecords;
class ListMailAdressens extends ListRecords
{
protected static string $resource = MailAdressenResource::class;
protected function getHeaderActions(): array
{
return [
CreateAction::make(),
];
}
}
@@ -0,0 +1,69 @@
<?php
namespace App\Filament\Resources\MailAdressens\Schemas;
use Filament\Forms\Components\DatePicker;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Schemas\Components\Section;
use Filament\Schemas\Schema;
use Filament\Support\Icons\Heroicon;
class MailAdressenForm
{
public static function configure(Schema $schema): Schema
{
return $schema
->components([
Section::make('Newsletter')
->columns(2)
->columnSpanFull()
->schema([
TextInput::make('company')
->label('Firma')
->required(),
TextInput::make('email')
->prefixIcon(Heroicon::OutlinedEnvelope)
->required(),
Toggle::make('im_newsletter')->label('Im Newsletter'),
]),
Section::make('Persönliche Anrede')
->columns(2)
->columnSpanFull()
->schema([
Select::make('gender')
->label('Geschlecht')
->options([
'0' => 'Herr',
'1' => 'Frau',
'2' => 'Diverse',
]),
DatePicker::make('vereidigung')->required()
->prefixIcon('heroicon-o-calendar')
->native(false),
TextInput::make('first_name')
->label('Vorname')
->required(),
TextInput::make('last_name')
->label('Nachname')
->required(),
]),
Section::make('Adresse')
->columns(3)
->columnSpanFull()
->schema([
TextInput::make('address')
->label('Straße'),
TextInput::make('zip')
->label('Zip'),
TextInput::make('city')
->label('Ort'),
]),
]);
}
}
// `address` varchar(255) DEFAULT NULL,
// `zip` varchar(255) DEFAULT NULL,
// `city` varchar(255) DEFAULT NULL,
// `vereidigung` t
@@ -0,0 +1,99 @@
<?php
namespace App\Filament\Resources\MailAdressens\Tables;
use App\Models\MailAdressen;
use Filament\Actions\BulkAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Forms\Components\DatePicker;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\ToggleColumn;
use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\Filter;
use Filament\Tables\Filters\TernaryFilter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
class MailAdressensTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
ToggleColumn::make('im_newsletter')
->onColor('success')
->label('Senden'),
TextColumn::make('company')->label('Firma'),
TextColumn::make('email'),
TextColumn::make('vereidigung')->date(),
TextColumn::make('gender')
->label('Geschlecht')
->formatStateUsing(fn (string $state): string => match ($state) {
'0' => 'Herr',
'1' => 'Frau',
'2' => 'Diverse',
}),
TextColumn::make('first_name')->label('Vorname'),
TextColumn::make('last_name')->label('Nachname'),
])
->filters([
TernaryFilter::make('im_newsletter')->label('Im Newsletter'),
Filter::make('vereidigung')
->schema([
DatePicker::make('vereidigung_von')->native(false),
DatePicker::make('vereidigung_bis')->native(false),
])
->query(function (Builder $query, array $data): Builder {
return $query
->when(
$data['vereidigung_von'],
fn (Builder $query, $date): Builder => $query->whereDate('vereidigung', '>=', $date),
)
->when(
$data['vereidigung_bis'],
fn (Builder $query, $date): Builder => $query->whereDate('vereidigung', '<=', $date),
);
}),
], layout: FiltersLayout::Modal)
->recordActions([
EditAction::make()->iconButton(),
DeleteAction::make()->iconButton(),
])
->toolbarActions([
BulkActionGroup::make([
BulkAction::make('im_newsletter_on')
->label('An Adressen senden')
->tooltip('Ausgewählte Adressen dem Newsletter hinzufügen')
->icon('heroicon-o-envelope')
->color('success')
->action(function (Collection $records, array $data): void {
foreach ($records as $record) {
/** @var object $record */
MailAdressen::where('id', '=', $record->id)
->update(
['im_newsletter' => 1]
);
}
}),
BulkAction::make('im_newsletter_off')
->label('Nicht an Adressen senden')
->tooltip('Ausgewählte Adressen aus dem Newsletter herausnehmen')
->icon('heroicon-o-envelope')
->action(function (Collection $records, array $data): void {
foreach ($records as $record) {
/** @var object $record */
MailAdressen::where('id', '=', $record->id)
->update(
['im_newsletter' => 0]
);
}
}),
DeleteBulkAction::make(),
]),
]);
}
}
@@ -41,13 +41,6 @@ class OrientierungResource extends Resource
return OrientierungsTable::configure($table);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class MailAdressen extends Model
{
protected $fillable = [
'email',
'company',
'gender',
'first_name',
'last_name',
'teilhaber',
'address',
'zip',
'city',
'vereidigung',
'istpartner',
'burogemeinschaft',
'im_newsletter',
];
}
+8
View File
@@ -19,6 +19,9 @@
'app.filament.resources.kontos.pages.create-konto' => 'App\\Filament\\Resources\\Kontos\\Pages\\CreateKonto',
'app.filament.resources.kontos.pages.edit-konto' => 'App\\Filament\\Resources\\Kontos\\Pages\\EditKonto',
'app.filament.resources.kontos.pages.list-kontos' => 'App\\Filament\\Resources\\Kontos\\Pages\\ListKontos',
'app.filament.resources.mail-adressens.pages.create-mail-adressen' => 'App\\Filament\\Resources\\MailAdressens\\Pages\\CreateMailAdressen',
'app.filament.resources.mail-adressens.pages.edit-mail-adressen' => 'App\\Filament\\Resources\\MailAdressens\\Pages\\EditMailAdressen',
'app.filament.resources.mail-adressens.pages.list-mail-adressens' => 'App\\Filament\\Resources\\MailAdressens\\Pages\\ListMailAdressens',
'app.filament.resources.methodes.pages.create-methode' => 'App\\Filament\\Resources\\Methodes\\Pages\\CreateMethode',
'app.filament.resources.methodes.pages.edit-methode' => 'App\\Filament\\Resources\\Methodes\\Pages\\EditMethode',
'app.filament.resources.methodes.pages.list-methodes' => 'App\\Filament\\Resources\\Methodes\\Pages\\ListMethodes',
@@ -97,6 +100,10 @@
5 => 'App\\Filament\\Resources\\Textblocks\\TextblockResource',
6 => 'BezhanSalleh\\FilamentShield\\Resources\\Roles\\RoleResource',
),
'App\\Filament\\Clusters\\Newsletter\\NewsletterCluster' =>
array (
0 => 'App\\Filament\\Resources\\MailAdressens\\MailAdressenResource',
),
),
'clusterDirectories' =>
array (
@@ -133,6 +140,7 @@
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Inhaltsverzeichnis/InhaltsverzeichnisResource.php' => 'App\\Filament\\Resources\\Inhaltsverzeichnis\\InhaltsverzeichnisResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php' => 'App\\Filament\\Resources\\KontoTextblocks\\KontoTextblockResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Kontos/KontoResource.php' => 'App\\Filament\\Resources\\Kontos\\KontoResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/MailAdressens/MailAdressenResource.php' => 'App\\Filament\\Resources\\MailAdressens\\MailAdressenResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Methodes/MethodeResource.php' => 'App\\Filament\\Resources\\Methodes\\MethodeResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Orientierungs/OrientierungResource.php' => 'App\\Filament\\Resources\\Orientierungs\\OrientierungResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Permissions/PermissionResource.php' => 'App\\Filament\\Resources\\Permissions\\PermissionResource',
+257 -35
View File
@@ -366,6 +366,46 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
'/app/newsletter/mail-adressens' =>
array (
0 =>
array (
0 =>
array (
'_route' => 'filament.admin.newsletter.resources.mail-adressens.index',
),
1 => NULL,
2 =>
array (
'GET' => 0,
'HEAD' => 1,
),
3 => NULL,
4 => false,
5 => false,
6 => NULL,
),
),
'/app/newsletter/mail-adressens/create' =>
array (
0 =>
array (
0 =>
array (
'_route' => 'filament.admin.newsletter.resources.mail-adressens.create',
),
1 => NULL,
2 =>
array (
'GET' => 0,
'HEAD' => 1,
),
3 => NULL,
4 => false,
5 => false,
6 => NULL,
),
),
'/app/administration/methodes' =>
array (
0 =>
@@ -551,7 +591,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::6YYyahMFDoqTmNCy',
'_route' => 'generated::c8Aa0gB5BhsyJxz2',
),
1 => NULL,
2 =>
@@ -571,7 +611,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::uPFpzDrX62b55R0k',
'_route' => 'generated::1gix3NM8CNsYg1oM',
),
1 => NULL,
2 =>
@@ -629,7 +669,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::8vxCBRFgKJnIKw8z',
'_route' => 'generated::4ALnCKgsRg5pNXr4',
),
1 => NULL,
2 =>
@@ -649,7 +689,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::j5C04dYevQlSMFt8',
'_route' => 'generated::9tM0beuDkUZJcW3v',
),
1 => NULL,
2 =>
@@ -669,7 +709,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::9Kv82QZZVXCKxQUz',
'_route' => 'generated::TggslUndiRqH7lMm',
),
1 => NULL,
2 =>
@@ -689,7 +729,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::f7MHRRwLGpeqdN7H',
'_route' => 'generated::8pknM1HUqBZ8CD0A',
),
1 => NULL,
2 =>
@@ -709,7 +749,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::GVbV1gIyWnW3UTzK',
'_route' => 'generated::fsCBG8FQNzd5aUQx',
),
1 => NULL,
2 =>
@@ -726,7 +766,7 @@ app('router')->setCompiledRoutes(
),
2 =>
array (
0 => '{^(?|/filament/(?|exports/([^/]++)/download(*:45)|imports/([^/]++)/failed\\-rows/download(*:90))|/app/(?|e(?|mail\\-(?|verification/verify/([^/]++)/([^/]++)(*:156)|change\\-verification/verify/([^/]++)/([^/]++)(?|(*:212)|/block(*:226)))|xcel(?|nutzwerte/([^/]++)(*:261)|aufstellung/([^/]++)(*:289)))|p(?|rojektes/([^/]++)/edit(*:325)|df/([^/]++)/([^/]++)(*:353))|administration/shield/roles/([^/]++)(?|(*:401)|/edit(*:414)))|/livewire/preview\\-file/([^/]++)(*:456)|/storage/(.*)(?|(*:480)))/?$}sDu',
0 => '{^(?|/filament/(?|exports/([^/]++)/download(*:45)|imports/([^/]++)/failed\\-rows/download(*:90))|/app/(?|e(?|mail\\-(?|verification/verify/([^/]++)/([^/]++)(*:156)|change\\-verification/verify/([^/]++)/([^/]++)(?|(*:212)|/block(*:226)))|xcel(?|nutzwerte/([^/]++)(*:261)|aufstellung/([^/]++)(*:289)))|newsletter/mail\\-adressens/([^/]++)/edit(*:339)|p(?|rojektes/([^/]++)/edit(*:373)|df/([^/]++)/([^/]++)(*:401))|administration/shield/roles/([^/]++)(?|(*:449)|/edit(*:462)))|/livewire/preview\\-file/([^/]++)(*:504)|/storage/(.*)(?|(*:528)))/?$}sDu',
),
3 =>
array (
@@ -894,7 +934,30 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
325 =>
339 =>
array (
0 =>
array (
0 =>
array (
'_route' => 'filament.admin.newsletter.resources.mail-adressens.edit',
),
1 =>
array (
0 => 'record',
),
2 =>
array (
'GET' => 0,
'HEAD' => 1,
),
3 => NULL,
4 => false,
5 => false,
6 => NULL,
),
),
373 =>
array (
0 =>
array (
@@ -917,7 +980,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
353 =>
401 =>
array (
0 =>
array (
@@ -941,7 +1004,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
401 =>
449 =>
array (
0 =>
array (
@@ -964,7 +1027,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
414 =>
462 =>
array (
0 =>
array (
@@ -987,7 +1050,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
456 =>
504 =>
array (
0 =>
array (
@@ -1010,7 +1073,7 @@ app('router')->setCompiledRoutes(
6 => NULL,
),
),
480 =>
528 =>
array (
0 =>
array (
@@ -2216,6 +2279,165 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'filament.admin.newsletter.resources.mail-adressens.index' =>
array (
'methods' =>
array (
0 => 'GET',
1 => 'HEAD',
),
'uri' => 'app/newsletter/mail-adressens',
'action' =>
array (
'domain' => NULL,
'middleware' =>
array (
0 => 'panel:admin',
1 => 'Illuminate\\Cookie\\Middleware\\EncryptCookies',
2 => 'Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse',
3 => 'Illuminate\\Session\\Middleware\\StartSession',
4 => 'Filament\\Http\\Middleware\\AuthenticateSession',
5 => 'Illuminate\\View\\Middleware\\ShareErrorsFromSession',
6 => 'Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken',
7 => 'Illuminate\\Routing\\Middleware\\SubstituteBindings',
8 => 'Filament\\Http\\Middleware\\DisableBladeIconComponents',
9 => 'Filament\\Http\\Middleware\\DispatchServingFilamentEvent',
10 => 'App\\Http\\Middleware\\AppUserAGBMiddleware',
11 => 'Filament\\Http\\Middleware\\Authenticate',
12 => 'verified:filament.admin.auth.email-verification.prompt',
),
'excluded_middleware' =>
array (
),
'uses' => 'App\\Filament\\Resources\\MailAdressens\\Pages\\ListMailAdressens@__invoke',
'controller' => 'App\\Filament\\Resources\\MailAdressens\\Pages\\ListMailAdressens',
'as' => 'filament.admin.newsletter.resources.mail-adressens.index',
'namespace' => NULL,
'prefix' => 'app/newsletter/mail-adressens',
'where' =>
array (
),
),
'fallback' => false,
'defaults' =>
array (
),
'wheres' =>
array (
),
'bindingFields' =>
array (
),
'lockSeconds' => NULL,
'waitSeconds' => NULL,
'withTrashed' => false,
),
'filament.admin.newsletter.resources.mail-adressens.create' =>
array (
'methods' =>
array (
0 => 'GET',
1 => 'HEAD',
),
'uri' => 'app/newsletter/mail-adressens/create',
'action' =>
array (
'domain' => NULL,
'middleware' =>
array (
0 => 'panel:admin',
1 => 'Illuminate\\Cookie\\Middleware\\EncryptCookies',
2 => 'Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse',
3 => 'Illuminate\\Session\\Middleware\\StartSession',
4 => 'Filament\\Http\\Middleware\\AuthenticateSession',
5 => 'Illuminate\\View\\Middleware\\ShareErrorsFromSession',
6 => 'Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken',
7 => 'Illuminate\\Routing\\Middleware\\SubstituteBindings',
8 => 'Filament\\Http\\Middleware\\DisableBladeIconComponents',
9 => 'Filament\\Http\\Middleware\\DispatchServingFilamentEvent',
10 => 'App\\Http\\Middleware\\AppUserAGBMiddleware',
11 => 'Filament\\Http\\Middleware\\Authenticate',
12 => 'verified:filament.admin.auth.email-verification.prompt',
),
'excluded_middleware' =>
array (
),
'uses' => 'App\\Filament\\Resources\\MailAdressens\\Pages\\CreateMailAdressen@__invoke',
'controller' => 'App\\Filament\\Resources\\MailAdressens\\Pages\\CreateMailAdressen',
'as' => 'filament.admin.newsletter.resources.mail-adressens.create',
'namespace' => NULL,
'prefix' => 'app/newsletter/mail-adressens',
'where' =>
array (
),
),
'fallback' => false,
'defaults' =>
array (
),
'wheres' =>
array (
),
'bindingFields' =>
array (
),
'lockSeconds' => NULL,
'waitSeconds' => NULL,
'withTrashed' => false,
),
'filament.admin.newsletter.resources.mail-adressens.edit' =>
array (
'methods' =>
array (
0 => 'GET',
1 => 'HEAD',
),
'uri' => 'app/newsletter/mail-adressens/{record}/edit',
'action' =>
array (
'domain' => NULL,
'middleware' =>
array (
0 => 'panel:admin',
1 => 'Illuminate\\Cookie\\Middleware\\EncryptCookies',
2 => 'Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse',
3 => 'Illuminate\\Session\\Middleware\\StartSession',
4 => 'Filament\\Http\\Middleware\\AuthenticateSession',
5 => 'Illuminate\\View\\Middleware\\ShareErrorsFromSession',
6 => 'Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken',
7 => 'Illuminate\\Routing\\Middleware\\SubstituteBindings',
8 => 'Filament\\Http\\Middleware\\DisableBladeIconComponents',
9 => 'Filament\\Http\\Middleware\\DispatchServingFilamentEvent',
10 => 'App\\Http\\Middleware\\AppUserAGBMiddleware',
11 => 'Filament\\Http\\Middleware\\Authenticate',
12 => 'verified:filament.admin.auth.email-verification.prompt',
),
'excluded_middleware' =>
array (
),
'uses' => 'App\\Filament\\Resources\\MailAdressens\\Pages\\EditMailAdressen@__invoke',
'controller' => 'App\\Filament\\Resources\\MailAdressens\\Pages\\EditMailAdressen',
'as' => 'filament.admin.newsletter.resources.mail-adressens.edit',
'namespace' => NULL,
'prefix' => 'app/newsletter/mail-adressens',
'where' =>
array (
),
),
'fallback' => false,
'defaults' =>
array (
),
'wheres' =>
array (
),
'bindingFields' =>
array (
),
'lockSeconds' => NULL,
'waitSeconds' => NULL,
'withTrashed' => false,
),
'filament.admin.administration.resources.methodes.index' =>
array (
'methods' =>
@@ -2830,7 +3052,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::6YYyahMFDoqTmNCy' =>
'generated::c8Aa0gB5BhsyJxz2' =>
array (
'methods' =>
array (
@@ -2842,7 +3064,7 @@ app('router')->setCompiledRoutes(
array (
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
'as' => 'generated::6YYyahMFDoqTmNCy',
'as' => 'generated::c8Aa0gB5BhsyJxz2',
),
'fallback' => false,
'defaults' =>
@@ -2858,7 +3080,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::uPFpzDrX62b55R0k' =>
'generated::1gix3NM8CNsYg1oM' =>
array (
'methods' =>
array (
@@ -2870,7 +3092,7 @@ app('router')->setCompiledRoutes(
array (
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
'as' => 'generated::uPFpzDrX62b55R0k',
'as' => 'generated::1gix3NM8CNsYg1oM',
),
'fallback' => false,
'defaults' =>
@@ -2972,7 +3194,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::8vxCBRFgKJnIKw8z' =>
'generated::4ALnCKgsRg5pNXr4' =>
array (
'methods' =>
array (
@@ -3000,8 +3222,8 @@ app('router')->setCompiledRoutes(
return response(\\Illuminate\\Support\\Facades\\View::file(\'/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/laravel/framework/src/Illuminate/Foundation/Configuration\'.\'/../resources/health-up.blade.php\', [
\'exception\' => $exception,
]), status: $exception ? 500 : 200);
}";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f360000000000000000";}}',
'as' => 'generated::8vxCBRFgKJnIKw8z',
}";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f390000000000000000";}}',
'as' => 'generated::4ALnCKgsRg5pNXr4',
),
'fallback' => false,
'defaults' =>
@@ -3017,7 +3239,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::j5C04dYevQlSMFt8' =>
'generated::9tM0beuDkUZJcW3v' =>
array (
'methods' =>
array (
@@ -3033,13 +3255,13 @@ app('router')->setCompiledRoutes(
),
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:50:"function () {
return \\view(\'pages.welcome\');
}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f3b0000000000000000";}}',
}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f3e0000000000000000";}}',
'namespace' => NULL,
'prefix' => '',
'where' =>
array (
),
'as' => 'generated::j5C04dYevQlSMFt8',
'as' => 'generated::9tM0beuDkUZJcW3v',
),
'fallback' => false,
'defaults' =>
@@ -3055,7 +3277,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::9Kv82QZZVXCKxQUz' =>
'generated::TggslUndiRqH7lMm' =>
array (
'methods' =>
array (
@@ -3071,13 +3293,13 @@ app('router')->setCompiledRoutes(
),
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:52:"function () {
return \\view(\'pages.nutzwerte\');
}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f3f0000000000000000";}}',
}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f420000000000000000";}}',
'namespace' => NULL,
'prefix' => '',
'where' =>
array (
),
'as' => 'generated::9Kv82QZZVXCKxQUz',
'as' => 'generated::TggslUndiRqH7lMm',
),
'fallback' => false,
'defaults' =>
@@ -3093,7 +3315,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::f7MHRRwLGpeqdN7H' =>
'generated::8pknM1HUqBZ8CD0A' =>
array (
'methods' =>
array (
@@ -3109,13 +3331,13 @@ app('router')->setCompiledRoutes(
),
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:51:"function () {
return \\view(\'pages.programm\');
}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f410000000000000000";}}',
}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f440000000000000000";}}',
'namespace' => NULL,
'prefix' => '',
'where' =>
array (
),
'as' => 'generated::f7MHRRwLGpeqdN7H',
'as' => 'generated::8pknM1HUqBZ8CD0A',
),
'fallback' => false,
'defaults' =>
@@ -3131,7 +3353,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::GVbV1gIyWnW3UTzK' =>
'generated::fsCBG8FQNzd5aUQx' =>
array (
'methods' =>
array (
@@ -3147,13 +3369,13 @@ app('router')->setCompiledRoutes(
),
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:52:"function () {
return \\view(\'pages.impressum\');
}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f430000000000000000";}}',
}";s:5:"scope";s:37:"Illuminate\\Routing\\RouteFileRegistrar";s:4:"this";N;s:4:"self";s:32:"0000000000000f460000000000000000";}}',
'namespace' => NULL,
'prefix' => '',
'where' =>
array (
),
'as' => 'generated::GVbV1gIyWnW3UTzK',
'as' => 'generated::fsCBG8FQNzd5aUQx',
),
'fallback' => false,
'defaults' =>
@@ -3299,7 +3521,7 @@ app('router')->setCompiledRoutes(
$config,
$isProduction
))($request, $path);
}";s:5:"scope";s:47:"Illuminate\\Filesystem\\FilesystemServiceProvider";s:4:"this";N;s:4:"self";s:32:"0000000000000f4f0000000000000000";}}',
}";s:5:"scope";s:47:"Illuminate\\Filesystem\\FilesystemServiceProvider";s:4:"this";N;s:4:"self";s:32:"0000000000000f520000000000000000";}}',
'as' => 'storage.local',
),
'fallback' => false,
@@ -3332,7 +3554,7 @@ app('router')->setCompiledRoutes(
$config,
$isProduction
))($request, $path);
}";s:5:"scope";s:47:"Illuminate\\Filesystem\\FilesystemServiceProvider";s:4:"this";N;s:4:"self";s:32:"0000000000000f500000000000000000";}}',
}";s:5:"scope";s:47:"Illuminate\\Filesystem\\FilesystemServiceProvider";s:4:"this";N;s:4:"self";s:32:"0000000000000f530000000000000000";}}',
'as' => 'storage.local.upload',
),
'fallback' => false,
@@ -0,0 +1,40 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('mail_adressens', function (Blueprint $table) {
$table->id();
$table->string('email')->unique();
$table->string('company');
$table->string('gender')->nullable();
$table->string('first_name')->nullable();
$table->string('last_name')->nullable();
$table->string('teilhaber')->nullable();
$table->string('address')->nullable();
$table->string('zip')->nullable();
$table->string('city')->nullable();
$table->timestamp('vereidigung')->nullable();
$table->boolean('im_newsletter')->default(false);
$table->boolean('istpartner')->default(false);
$table->boolean('burogemeinschaft')->default(false);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('mail_adressens');
}
};