feat: agregar observador para movimientos de inventario y reportar eventos de usuario
This commit is contained in:
parent
897f59211d
commit
5ad7b9ca72
@ -1,9 +1,14 @@
|
|||||||
<?php namespace App\Models;
|
<?php namespace App\Models;
|
||||||
|
|
||||||
|
use App\Observers\InventoryMovementObserver;
|
||||||
|
use Illuminate\Database\Eloquent\Attributes\ObservedBy;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Notsoweb\LaravelCore\Traits\Models\Extended;
|
||||||
|
|
||||||
|
#[ObservedBy([InventoryMovementObserver::class])]
|
||||||
class InventoryMovement extends Model
|
class InventoryMovement extends Model
|
||||||
{
|
{
|
||||||
|
use Extended;
|
||||||
const UPDATED_AT = null;
|
const UPDATED_AT = null;
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
|
|||||||
39
app/Observers/InventoryMovementObserver.php
Normal file
39
app/Observers/InventoryMovementObserver.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php namespace App\Observers;
|
||||||
|
|
||||||
|
use App\Models\InventoryMovement;
|
||||||
|
use App\Models\UserEvent;
|
||||||
|
|
||||||
|
class InventoryMovementObserver
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Manipulador del evento "created" del modelo InventoryMovement
|
||||||
|
*/
|
||||||
|
public function created(InventoryMovement $inventoryMovement): void
|
||||||
|
{
|
||||||
|
UserEvent::report(model: $inventoryMovement, event: __FUNCTION__, key: 'movement_type');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manipulador del evento "deleted" del modelo InventoryMovement
|
||||||
|
*/
|
||||||
|
public function deleted(InventoryMovement $inventoryMovement): void
|
||||||
|
{
|
||||||
|
UserEvent::report(model: $inventoryMovement, event: __FUNCTION__, key: 'movement_type');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manipulador del evento "restored" del modelo InventoryMovement
|
||||||
|
*/
|
||||||
|
public function restored(InventoryMovement $inventoryMovement): void
|
||||||
|
{
|
||||||
|
UserEvent::report(model: $inventoryMovement, event: __FUNCTION__, key: 'movement_type');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manipulador del evento "force deleted" del modelo InventoryMovement
|
||||||
|
*/
|
||||||
|
public function forceDeleted(InventoryMovement $inventoryMovement): void
|
||||||
|
{
|
||||||
|
UserEvent::report(model: $inventoryMovement, event: __FUNCTION__, key: 'movement_type');
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -6,6 +6,7 @@
|
|||||||
use App\Models\InventoryMovement;
|
use App\Models\InventoryMovement;
|
||||||
use App\Models\InventorySerial;
|
use App\Models\InventorySerial;
|
||||||
use App\Models\InventoryWarehouse;
|
use App\Models\InventoryWarehouse;
|
||||||
|
use App\Models\UserEvent;
|
||||||
use App\Models\Warehouse;
|
use App\Models\Warehouse;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
@ -696,6 +697,8 @@ public function updateMovement(int $movementId, array $data): InventoryMovement
|
|||||||
// 4. Actualizar el registro del movimiento
|
// 4. Actualizar el registro del movimiento
|
||||||
$movement->update($updateData);
|
$movement->update($updateData);
|
||||||
|
|
||||||
|
UserEvent::report(model: $movement, event: 'updated', key: 'movement_type');
|
||||||
|
|
||||||
return $movement->load(['inventory', 'warehouseFrom', 'warehouseTo', 'user', 'serials']);
|
return $movement->load(['inventory', 'warehouseFrom', 'warehouseTo', 'user', 'serials']);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
8
lang/es/inventorymovement.php
Normal file
8
lang/es/inventorymovement.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'created' => 'El movimiento de inventario ":model" ha sido creado',
|
||||||
|
'updated' => 'El movimiento de inventario ":model" ha sido actualizado',
|
||||||
|
'deleted' => 'El movimiento de inventario ":model" ha sido eliminado',
|
||||||
|
'restored' => 'El movimiento de inventario ":model" ha sido restaurado',
|
||||||
|
];
|
||||||
Loading…
x
Reference in New Issue
Block a user