This commit is contained in:
Lizandro Guarnizo
2026-01-06 15:35:59 -05:00
commit a768146f65
602 changed files with 42505 additions and 0 deletions
@@ -0,0 +1,16 @@
<?php
namespace App\Filament\Resources\BodegaResource\Pages;
use App\Filament\Resources\BodegaResource;
use Filament\Resources\Pages\CreateRecord;
class CreateBodega extends CreateRecord
{
protected static string $resource = BodegaResource::class;
protected function getRedirectUrl(): string
{
return $this->getResource()::getUrl('index');
}
}
@@ -0,0 +1,25 @@
<?php
namespace App\Filament\Resources\BodegaResource\Pages;
use App\Filament\Resources\BodegaResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditBodega extends EditRecord
{
protected static string $resource = BodegaResource::class;
protected function getHeaderActions(): array
{
return [
Actions\ViewAction::make(),
Actions\DeleteAction::make(),
];
}
protected function getRedirectUrl(): string
{
return $this->getResource()::getUrl('index');
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\BodegaResource\Pages;
use App\Filament\Resources\BodegaResource;
use Filament\Resources\Pages\ListRecords;
use Filament\Actions;
class ListBodegas extends ListRecords
{
protected static string $resource = BodegaResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}
?>
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\BodegaResource\Pages;
use App\Filament\Resources\BodegaResource;
use Filament\Actions;
use Filament\Resources\Pages\ViewRecord;
class ViewBodega extends ViewRecord
{
protected static string $resource = BodegaResource::class;
protected function getHeaderActions(): array
{
return [
Actions\EditAction::make(),
];
}
}
@@ -0,0 +1,57 @@
<?php
namespace App\Filament\Resources\BodegaResource\RelationManagers;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Forms;
class ProductosRelationManager extends RelationManager
{
protected static string $relationship = 'productos'; // nombre de la relación en el modelo Bodega
protected static ?string $recordTitleAttribute = 'nombre';
public function form(Forms\Form $form): Forms\Form
{
// No se necesita crear/editar productos aquí (opcional)
return $form;
}
public function table(Tables\Table $table): Tables\Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('id')
->label('ID')
->sortable(),
Tables\Columns\TextColumn::make('nombre')
->searchable()
->limit(50),
Tables\Columns\TextColumn::make('precio_venta')
->label('Precio venta')
->money('USD', true),
// Stock proviene del pivot (producto_bodega.stock)
Tables\Columns\TextColumn::make('pivot.stock')
->label('Stock')
->sortable(),
])
->filters([
// Puedes añadir filtros aquí si lo deseas
])
->headerActions([
// Si deseas crear productos desde aquí, descomenta:
// Tables\Actions\CreateAction::make(),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\DeleteBulkAction::make(),
]);
}
}
?>