diff --git a/app/Filament/Resources/ReserveditemResource.php b/app/Filament/Resources/ReserveditemResource.php index 6a79a1c..12cd8a6 100644 --- a/app/Filament/Resources/ReserveditemResource.php +++ b/app/Filament/Resources/ReserveditemResource.php @@ -9,11 +9,14 @@ use App\Models\Item; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; +use Filament\Resources\Get; use Filament\Tables; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; use Filament\Forms\Components\Section; +use Filament\Forms\Components\Radio; +use Filament\Support\Enums\IconPosition; class ReserveditemResource extends Resource @@ -22,7 +25,7 @@ class ReserveditemResource extends Resource protected static ?string $navigationIcon = 'heroicon-o-archive-box-x-mark'; - protected static ?string $modelLabel = 'Reserved items'; + protected static ?string $modelLabel = 'Reservations'; protected static ?string $title = 'Reserve an item'; @@ -30,21 +33,12 @@ class ReserveditemResource extends Resource { return $form ->schema([ - Forms\Components\Select::make('item_id') - ->label('Choose item to reserve') - ->relationship( - name: 'item', - titleAttribute: 'desc', - modifyQueryUsing: fn ($query) => $query->where('can_be_loaned', true)->where('reserved', false) - ) - ->required() - ->disabledOn('edit') - ->hiddenOn('edit'), - //Forms\Components\TextInput::make('user_id') - // ->label('Användare') - // ->default(auth()->id()) - // ->disabledOn(['edit', 'create']) - // ->hiddenOn('edit'), + Forms\Components\TextInput::make('username') + ->label('Name') + ->default(null), + Forms\Components\TextInput::make('email') + ->label('Email') + ->default(null), Section::make('') ->schema([ Forms\Components\Toggle::make('delivered'), @@ -65,6 +59,9 @@ class ReserveditemResource extends Resource Tables\Columns\TextColumn::make('username') ->label('User') ->sortable(), + Tables\Columns\TextColumn::make('email') + ->label('Email') + ->sortable(), Tables\Columns\TextColumn::make('reserved_date') ->label('Reservation date') ->sortable(), @@ -82,12 +79,15 @@ class ReserveditemResource extends Resource // ]) ->actions([ - Tables\Actions\EditAction::make(), + Tables\Actions\EditAction::make() + ->button() + ->icon('heroicon-m-pencil-square') + ->iconPosition(IconPosition::After), ]) ->bulkActions([ - Tables\Actions\BulkActionGroup::make([ - Tables\Actions\DeleteBulkAction::make(), - ]), + // Tables\Actions\BulkActionGroup::make([ + // Tables\Actions\DeleteBulkAction::make(), + // ]), ]); } @@ -107,12 +107,13 @@ class ReserveditemResource extends Resource ]; } - public static function getWidgets(): array -{ - return [ - ItemResource\Widgets\ItemsOverview::class, - ]; -} + + +public static function canCreate(): bool + { + return false; + } + public static function canViewAny(): bool { diff --git a/app/Filament/Resources/ReserveditemResource/Pages/CreateReserveditem.php b/app/Filament/Resources/ReserveditemResource/Pages/CreateReserveditem.php index 4fd6bd9..f9b584a 100644 --- a/app/Filament/Resources/ReserveditemResource/Pages/CreateReserveditem.php +++ b/app/Filament/Resources/ReserveditemResource/Pages/CreateReserveditem.php @@ -18,9 +18,12 @@ class CreateReserveditem extends CreateRecord protected function handleRecordCreation(array $data): Model { - $data['user_id'] = auth()->id(); - $data['username'] = auth()->user()->name; - $data['reserved_date'] = Carbon::now(); + if(!$data['username']) { + $data['user_id'] = auth()->id(); + $data['username'] = auth()->user()->name; + $data['email'] = auth()->user()->email; + } + $data['reserved_date'] = Carbon::now(); if ($data['delivered']) { @@ -49,10 +52,5 @@ class CreateReserveditem extends CreateRecord return $this->getResource()::getUrl('index'); } - protected function getFooterWidgets(): array - { - return [ - ItemResource\Widgets\ItemsOverview::class, - ]; - } + } diff --git a/app/Filament/Resources/ReserveditemResource/Pages/EditReserveditem.php b/app/Filament/Resources/ReserveditemResource/Pages/EditReserveditem.php index ed90d1e..8ce743e 100644 --- a/app/Filament/Resources/ReserveditemResource/Pages/EditReserveditem.php +++ b/app/Filament/Resources/ReserveditemResource/Pages/EditReserveditem.php @@ -16,7 +16,7 @@ class EditReserveditem extends EditRecord protected function getHeaderActions(): array { return [ - Actions\DeleteAction::make(), + //Actions\DeleteAction::make(), ]; } @@ -51,4 +51,9 @@ class EditReserveditem extends EditRecord { return $this->getResource()::getUrl('index'); } + + public function getHeading(): string + { + return 'Edit: ' . Item::where('id', $this->getRecord()->item_id)->pluck('desc')->first(); + } } diff --git a/app/Filament/Resources/ReserveditemResourceUser.php b/app/Filament/Resources/ReserveditemResourceUser.php index 2388975..e0d46f9 100644 --- a/app/Filament/Resources/ReserveditemResourceUser.php +++ b/app/Filament/Resources/ReserveditemResourceUser.php @@ -94,12 +94,7 @@ class ReserveditemResourceUser extends Resource ]; } - public static function getWidgets(): array -{ - return [ - ItemResource\Widgets\ItemsOverview::class, - ]; -} + public static function canViewAny(): bool { diff --git a/app/Filament/Resources/ReserveditemResourceUser/Pages/CreateReserveditemUser.php b/app/Filament/Resources/ReserveditemResourceUser/Pages/CreateReserveditemUser.php index 3da8bc0..4bbda68 100644 --- a/app/Filament/Resources/ReserveditemResourceUser/Pages/CreateReserveditemUser.php +++ b/app/Filament/Resources/ReserveditemResourceUser/Pages/CreateReserveditemUser.php @@ -42,10 +42,5 @@ class CreateReserveditemUser extends CreateRecord Item::where('id', $record->item_id)->update(['reserved' => true]); } - protected function getFooterWidgets(): array - { - return [ - ItemResource\Widgets\ItemsOverview::class, - ]; - } + } diff --git a/app/Models/Reserveditem.php b/app/Models/Reserveditem.php index 769b490..ad55ca5 100644 --- a/app/Models/Reserveditem.php +++ b/app/Models/Reserveditem.php @@ -21,7 +21,8 @@ class Reserveditem extends Model 'delivered', 'returned', 'user_id', - 'item_id' + 'item_id', + 'email' ]; diff --git a/database/migrations/2025_01_16_061731_reserveditems_table.php b/database/migrations/2025_01_16_061731_reserveditems_table.php index 45b6466..1eca01f 100644 --- a/database/migrations/2025_01_16_061731_reserveditems_table.php +++ b/database/migrations/2025_01_16_061731_reserveditems_table.php @@ -18,6 +18,7 @@ return new class extends Migration $table->foreignId('item_id')->constrained('items')->cascadeOnDelete(); $table->integer('user_id')->nullable(); $table->string('username')->nullable(); + $table->string('email')->nullable(); $table->timestamp('reserved_date')->nullable(); $table->timestamp('delivered_date')->nullable(); $table->timestamp('return_date')->nullable();