42 lines
1.0 KiB
PHP
42 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Listeners;
|
|
|
|
use App\Events\ClientCaseToTerrain;
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
use Illuminate\Queue\InteractsWithQueue;
|
|
|
|
class AddClientCaseToTerrain
|
|
{
|
|
/**
|
|
* Create the event listener.
|
|
*/
|
|
public function __construct()
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Handle the event.
|
|
*/
|
|
public function handle(ClientCaseToTerrain $event): void
|
|
{
|
|
$clientCase = $event->clientCase;
|
|
$segment = \App\Models\Segment::where('name','terrain')->firstOrFail();
|
|
|
|
if( $segment ) {
|
|
$clientCase->segments()->detach($segment->id);
|
|
$clientCase->segments()->attach(
|
|
$segment->id,
|
|
);
|
|
|
|
\Log::info("Added contract to terrain", ['contract_id' => $clientCase->id, 'segment' => $segment->name ]);
|
|
}
|
|
}
|
|
|
|
public function failed(ClientCaseToTerrain $event, $exception)
|
|
{
|
|
\Log::error('Failed to update inventory', ['contract_id' => $event->clientCase->id, 'error' => $exception->getMessage()]);
|
|
}
|
|
}
|