diff --git a/app/Filament/Resources/ConfeccionResource/Pages/EditConfeccion.php b/app/Filament/Resources/ConfeccionResource/Pages/EditConfeccion.php index 014b504..f23a892 100644 --- a/app/Filament/Resources/ConfeccionResource/Pages/EditConfeccion.php +++ b/app/Filament/Resources/ConfeccionResource/Pages/EditConfeccion.php @@ -68,38 +68,6 @@ class EditConfeccion extends EditRecord // Refrescar la página para ver cambios (redirigir explicitando el record para evitar error de ruta) $this->redirect(route('filament.admin.resources.confeccions.edit', ['record' => $record->id])); }), - - // Arreglos: restar cantidad del total recibido y crear traslado de reparaciones - Actions\Action::make('arreglos') - ->label('Arreglos') - ->modalHeading('Registrar Arreglo') - ->form([ - Forms\Components\TextInput::make('cantidad') - ->label('Cantidad a arreglar') - ->numeric() - ->required() - ->minValue(1) - ->maxValue(fn () => $this->getRecord()->cantidad_recibida ?? 0) - ->helperText(fn () => 'Máximo: ' . ($this->getRecord()->cantidad_recibida ?? 0)), - Forms\Components\Textarea::make('notas'), - ]) - ->action(function (array $data): void { - $record = $this->getRecord(); - - $cantidad = (int) ($data['cantidad'] ?? 0); - - try { - $record->registerArreglo($cantidad, $data['notas'] ?? null, auth()->id() ?? null); - - \Filament\Notifications\Notification::make()->success()->title('Arreglo registrado')->body('Se registró el arreglo correctamente.')->send(); - } catch (\Illuminate\Validation\ValidationException $e) { - \Filament\Notifications\Notification::make()->danger()->title('Error')->body($e->validator->errors()->first() ?? 'Error al registrar arreglo.')->send(); - } catch (\Throwable $e) { - \Filament\Notifications\Notification::make()->danger()->title('Error')->body($e->getMessage())->send(); - } - - $this->redirect(route('filament.admin.resources.confeccions.edit', ['record' => $record->id])); - }), ]; } } diff --git a/app/Filament/Resources/ConfeccionResource/RelationManagers/AjustesRelationManager.php b/app/Filament/Resources/ConfeccionResource/RelationManagers/AjustesRelationManager.php index 9002611..810e503 100644 --- a/app/Filament/Resources/ConfeccionResource/RelationManagers/AjustesRelationManager.php +++ b/app/Filament/Resources/ConfeccionResource/RelationManagers/AjustesRelationManager.php @@ -11,6 +11,7 @@ class AjustesRelationManager extends RelationManager { protected static string $relationship = 'ajustes'; protected static ?string $recordTitleAttribute = 'id'; + protected static ?string $title = 'Arreglos'; public function table(Tables\Table $table): Tables\Table { @@ -25,18 +26,29 @@ class AjustesRelationManager extends RelationManager ]) ->filters([]) ->headerActions([ - Tables\Actions\CreateAction::make()->form([ - \Filament\Forms\Components\TextInput::make('cantidad')->numeric()->required()->minValue(1), - \Filament\Forms\Components\Textarea::make('notas'), - ])->action(function (array $data) { - $owner = $this->getOwnerRecord(); - try { - $owner->registerArreglo((int)$data['cantidad'], $data['notas'] ?? null, auth()->id() ?? null); - \Filament\Notifications\Notification::make()->success()->title('Arreglo registrado')->send(); - } catch (\Throwable $e) { - \Filament\Notifications\Notification::make()->danger()->title('Error')->body($e->getMessage())->send(); - } - }), + Tables\Actions\CreateAction::make() + ->label('Registrar arreglo') + ->modalHeading('Registrar Arreglo') + ->form([ + \Filament\Forms\Components\TextInput::make('cantidad') + ->label('Cantidad') + ->numeric() + ->required() + ->minValue(1) + ->helperText('Prendas que llegaron defectuosas y necesitan reparación'), + \Filament\Forms\Components\Textarea::make('notas'), + ]) + ->action(function (array $data) { + $owner = $this->getOwnerRecord(); + try { + $owner->registerArreglo((int)$data['cantidad'], $data['notas'] ?? null, auth()->id() ?? null); + \Filament\Notifications\Notification::make()->success()->title('Arreglo registrado')->send(); + } catch (\Illuminate\Validation\ValidationException $e) { + \Filament\Notifications\Notification::make()->danger()->title('Error')->body($e->validator->errors()->first())->send(); + } catch (\Throwable $e) { + \Filament\Notifications\Notification::make()->danger()->title('Error')->body($e->getMessage())->send(); + } + }), ]) ->actions([]) ->bulkActions([]);