diff --git a/app/Filament/Pages/Reserve.php b/app/Filament/Pages/Reserve.php index 4245fec..427050e 100644 --- a/app/Filament/Pages/Reserve.php +++ b/app/Filament/Pages/Reserve.php @@ -34,6 +34,7 @@ use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Mail; use App\Mail\ReservationCreatedUser; use App\Mail\ReservationCreated; +use Filament\Forms\Components\Checkbox; class Reserve extends BasePage implements HasTable @@ -134,14 +135,23 @@ class Reserve extends BasePage implements HasTable ->required(), TextInput::make('email') ->label('Email') + ->email() ->required(), + TextInput::make('phone') + ->label('Nummer') + ->tel() + ->required(), + Checkbox::make('gdpr') + ->label('Genom att checka i denna rutan godkänner du att vi lagrar din mailadress och telefonnummer.') + ->accepted(), ]) ->action(function (array $data, Item $record): void { $reservation = Reserveditem::create([ 'item_id' => $record->id, 'reserved_date' => Carbon::now(), 'username' => $data['username'], - 'email' => $data['email'] + 'email' => $data['email'], + 'phone' => $data['phone'] ]); Item::where('id', $record->id)->update(['reserved' => true]); Mail::to($data['email']) @@ -166,9 +176,9 @@ class Reserve extends BasePage implements HasTable ImageEntry::make('image') ->label('Bild') ->width(300) - ->height('auto') - ->disk('local') - ->visibility('private'), + ->height('auto'), + //->disk('local') + //->visibility('private'), TextEntry::make('desc') ->label('Beskrivning'), TextEntry::make('acquisition_date') diff --git a/app/Filament/Resources/ItemResource.php b/app/Filament/Resources/ItemResource.php index 1b55c58..c767ff6 100644 --- a/app/Filament/Resources/ItemResource.php +++ b/app/Filament/Resources/ItemResource.php @@ -37,6 +37,7 @@ use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\ImageColumn; use Filament\Tables\Columns\IconColumn; use Filament\Tables\Actions\Action; +use Filament\Forms\Components\Checkbox; class ItemResource extends Resource @@ -123,7 +124,7 @@ class ItemResource extends Resource ->default(null) ->hidden(fn ($get): string => $get('type') == 'item'), Toggle::make('can_be_loaned') - ->label('Can be loaned') + ->label('Loanable') ->translateLabel() ->hidden(fn ($get): string => $get('type') == 'game'), ]); @@ -264,15 +265,25 @@ class ItemResource extends Resource ->required(), TextInput::make('email') ->label('Email') + ->email() ->translateLabel() ->required(), + TextInput::make('phone') + ->label('Nummer') + ->translateLabel() + ->tel() + ->required(), + Checkbox::make('gdpr') + ->label('Genom att checka i denna rutan godkänner du att vi lagrar din mailadress och telefonnummer.') + ->accepted(), ]) ->action(function (array $data, Item $record): void { $reservation = Reserveditem::create([ 'item_id' => $record->id, 'reserved_date' => Carbon::now(), 'username' => $data['username'], - 'email' => $data['email'] + 'email' => $data['email'], + 'phone' => $data['phone'] ]); Item::where('id', $record->id)->update(['reserved' => true]); Mail::to($data['email']) diff --git a/app/Filament/Resources/ReserveditemResource.php b/app/Filament/Resources/ReserveditemResource.php index c54f819..2d56859 100644 --- a/app/Filament/Resources/ReserveditemResource.php +++ b/app/Filament/Resources/ReserveditemResource.php @@ -57,10 +57,18 @@ class ReserveditemResource extends Resource TextInput::make('username') ->label('Name') ->translateLabel() - ->default(null), + ->default(null) + ->required(), TextInput::make('email') ->label('Email') - ->default(null), + ->default(null) + ->email() + ->required(), + TextInput::make('phone') + ->label('Phone') + ->default(null) + ->tel() + ->required(), Section::make('') ->schema([ Toggle::make('delivered') @@ -93,6 +101,10 @@ class ReserveditemResource extends Resource ->label('Email') ->sortable() ->icon('heroicon-m-envelope'), + TextColumn::make('phone') + ->label('Phone') + ->sortable() + ->icon('heroicon-m-phone'), TextColumn::make('reserved_date') ->label('Reservation date') ->translateLabel() diff --git a/app/Filament/Resources/ReserveditemResource/Pages/CreateReserveditem.php b/app/Filament/Resources/ReserveditemResource/Pages/CreateReserveditem.php index f9b584a..645ae91 100644 --- a/app/Filament/Resources/ReserveditemResource/Pages/CreateReserveditem.php +++ b/app/Filament/Resources/ReserveditemResource/Pages/CreateReserveditem.php @@ -22,6 +22,7 @@ class CreateReserveditem extends CreateRecord $data['user_id'] = auth()->id(); $data['username'] = auth()->user()->name; $data['email'] = auth()->user()->email; + $data['phone'] = auth()->user()->phone; } $data['reserved_date'] = Carbon::now(); diff --git a/app/Models/Reserveditem.php b/app/Models/Reserveditem.php index ad55ca5..b76cb51 100644 --- a/app/Models/Reserveditem.php +++ b/app/Models/Reserveditem.php @@ -22,7 +22,8 @@ class Reserveditem extends Model 'returned', 'user_id', 'item_id', - 'email' + 'email', + 'phone' ]; diff --git a/database/migrations/2025_06_02_050756_add_phone_to_reserveditems_table.php b/database/migrations/2025_06_02_050756_add_phone_to_reserveditems_table.php new file mode 100644 index 0000000..86304e5 --- /dev/null +++ b/database/migrations/2025_06_02_050756_add_phone_to_reserveditems_table.php @@ -0,0 +1,28 @@ +string('phone')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('reserveditems', function (Blueprint $table) { + $table->dropColumn('phone'); + }); + } +}; diff --git a/lang/vendor/filament-panels/sv.json b/lang/vendor/filament-panels/sv.json index 9022fa7..9c796af 100644 --- a/lang/vendor/filament-panels/sv.json +++ b/lang/vendor/filament-panels/sv.json @@ -35,5 +35,6 @@ "Email verified at": "Email verifierad den", "Total number of games": "Totalt antal spel i lager", "Total number of items": "Totalt antal saker i lager", - "Reserved games and items": "Reserverade spel och saker" + "Reserved games and items": "Reserverade spel och saker", + "Number": "Nummer" } \ No newline at end of file