From ee718a3a7d11bb73d20ef0ae9852919351f61c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anna-Sara=20S=C3=A9lea?= Date: Mon, 18 May 2026 06:50:12 +0200 Subject: [PATCH] Possibility to set Mailtemplates to draft --- .../Schemas/MailtemplateForm.php | 9 ++++---- .../Participants/Tables/ParticipantsTable.php | 4 ++-- app/Models/Mailtemplate.php | 3 ++- ...00000_add_draft_to_mailtemplates_table.php | 22 +++++++++++++++++++ 4 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 database/migrations/2026_05_17_000000_add_draft_to_mailtemplates_table.php diff --git a/app/Filament/Resources/Mailtemplates/Schemas/MailtemplateForm.php b/app/Filament/Resources/Mailtemplates/Schemas/MailtemplateForm.php index b9267ff..9ae1f75 100644 --- a/app/Filament/Resources/Mailtemplates/Schemas/MailtemplateForm.php +++ b/app/Filament/Resources/Mailtemplates/Schemas/MailtemplateForm.php @@ -5,6 +5,7 @@ namespace App\Filament\Resources\Mailtemplates\Schemas; use Filament\Forms\Components\TextInput; use Filament\Forms\Components\Textarea; use Filament\Forms\Components\RichEditor; +use Filament\Forms\Components\Toggle; use Filament\Schemas\Schema; use Filament\Forms\Components\MarkdownEditor; use DiscoveryDesign\FilamentGaze\Forms\Components\GazeBanner; @@ -21,13 +22,13 @@ class MailtemplateForm TextInput::make('title') ->required() ->columnSpanFull(), - TextInput::make('type') - ->label('Greeting') - ->required() - ->columnSpanFull(), MarkdownEditor::make('content') ->required() ->columnSpanFull(), + Toggle::make('draft') + ->default(false) + ->onColor('warning') + ->columnSpanFull(), ]); } } diff --git a/app/Filament/Resources/Participants/Tables/ParticipantsTable.php b/app/Filament/Resources/Participants/Tables/ParticipantsTable.php index 6874ead..be4be9b 100644 --- a/app/Filament/Resources/Participants/Tables/ParticipantsTable.php +++ b/app/Filament/Resources/Participants/Tables/ParticipantsTable.php @@ -158,7 +158,7 @@ class ParticipantsTable ->schema([ Select::make('mailtemplate') ->label('Mailtemplate') - ->options(Mailtemplate::all()->pluck('title', 'id')) + ->options(Mailtemplate::where('draft', false)->pluck('title', 'id')) ]) ->action(function (array $data, Participant $record) { $mailContent = Mailtemplate::where('id', $data['mailtemplate'])->get(); @@ -176,7 +176,7 @@ class ParticipantsTable ->schema([ Select::make('mailtemplate') ->label('Mailtemplate') - ->options(Mailtemplate::all()->pluck('title', 'id')) + ->options(Mailtemplate::where('draft', false)->pluck('title', 'id')) ]) ->action(function (array $data, Participant $record) { $mailContent = Mailtemplate::where('id', $data['mailtemplate'])->get(); diff --git a/app/Models/Mailtemplate.php b/app/Models/Mailtemplate.php index f92f733..8d1a292 100644 --- a/app/Models/Mailtemplate.php +++ b/app/Models/Mailtemplate.php @@ -9,6 +9,7 @@ class Mailtemplate extends Model protected $fillable = [ 'title', 'content', - 'type' + 'type', + 'draft' ]; } diff --git a/database/migrations/2026_05_17_000000_add_draft_to_mailtemplates_table.php b/database/migrations/2026_05_17_000000_add_draft_to_mailtemplates_table.php new file mode 100644 index 0000000..f903641 --- /dev/null +++ b/database/migrations/2026_05_17_000000_add_draft_to_mailtemplates_table.php @@ -0,0 +1,22 @@ +boolean('draft')->default(false)->after('content'); + }); + } + + public function down(): void + { + Schema::table('mailtemplates', function (Blueprint $table) { + $table->dropColumn('draft'); + }); + } +};