diff --git a/app/Events/V3/Dashboard/Harim/ConfirmGuaranteeLetterNeedProcessed.php b/app/Events/V3/Dashboard/Harim/ConfirmGuaranteeLetterNeedProcessed.php new file mode 100644 index 00000000..ee92536f --- /dev/null +++ b/app/Events/V3/Dashboard/Harim/ConfirmGuaranteeLetterNeedProcessed.php @@ -0,0 +1,17 @@ + + */ + public function broadcastOn(): array + { + return [ + new PrivateChannel('channel-name'), + ]; + } +} diff --git a/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php b/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php index 04c1ad76..5e75f7a0 100644 --- a/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php +++ b/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php @@ -4,6 +4,10 @@ namespace App\Http\Controllers\V3\Dashboard\Harim; use App\Enums\HarimAction; use App\Enums\HarimStates; +use App\Events\V3\Dashboard\Harim\ConfirmGuaranteeLetterNeedProcessed; +use App\Events\V3\Dashboard\Harim\ConfirmNoRoadAccessNeedProcessed; +use App\Events\V3\Dashboard\Harim\ConfirmRoadAccessNeedProcessed; +use App\Events\V3\Dashboard\Harim\RejectRequestProcessed; use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ConfirmRoadAccessEditNeedRequest; @@ -57,6 +61,7 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + RejectRequestProcessed::dispatch($request->harim_id); }); return $this->successResponse(); } @@ -125,6 +130,7 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + ConfirmRoadAccessNeedProcessed::dispatch($request->harim_id); }); return $this->successResponse(); } @@ -147,6 +153,8 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + ConfirmNoRoadAccessNeedProcessed::dispatch($request->harim_id); + }); return $this->successResponse(); } @@ -169,6 +177,7 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + ConfirmRoadAccessEditNeedRequest::dispatch($request->harim_id); }); return $this->successResponse(); } @@ -191,6 +200,7 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + ConfirmGuaranteeLetterNeedProcessed::dispatch($request->harim_id); }); return $this->successResponse(); } diff --git a/app/Listeners/V3/Dashboard/Harim/SendConfirmGuaranteeLetterNeed.php b/app/Listeners/V3/Dashboard/Harim/SendConfirmGuaranteeLetterNeed.php new file mode 100644 index 00000000..861f9670 --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendConfirmGuaranteeLetterNeed.php @@ -0,0 +1,36 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + } + public function handle(ConfirmGuaranteeLetterNeedProcessed $event): void + { + // + } + public function subscribe(Dispatcher $events) + { + $events->listen( + ConfirmGuaranteeLetterNeedProcessed::class, + SendConfirmGuaranteeLetterNeed::class, + ); + } + +} diff --git a/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessEditNeed.php b/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessEditNeed.php new file mode 100644 index 00000000..437d655c --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessEditNeed.php @@ -0,0 +1,39 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + } + + public function handle(ConfirmRoadAccessEditNeedProcessed $event): void + { + // + } + + public function subscribe(Dispatcher $events) + { + $events->listen( + ConfirmRoadAccessEditNeedProcessed::class, + SendConfirmNoRoadAccessEditNeed::class, + ); + } + +} diff --git a/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessNeed.php b/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessNeed.php new file mode 100644 index 00000000..2fe8a514 --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessNeed.php @@ -0,0 +1,39 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + } + + public function handle(ConfirmNoRoadAccessNeedProcessed $event): void + { + // + } + + public function subscribe(Dispatcher $events) + { + $events->listen( + ConfirmNoRoadAccessNeedProcessed::class, + SendConfirmNoRoadAccessNeed::class, + ); + + } + +} diff --git a/app/Listeners/V3/Dashboard/Harim/SendConfirmRoadAccessNeed.php b/app/Listeners/V3/Dashboard/Harim/SendConfirmRoadAccessNeed.php new file mode 100644 index 00000000..d5bf4cb3 --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendConfirmRoadAccessNeed.php @@ -0,0 +1,47 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + + } + + /** + * Handle the event. + */ + public function handle(ConfirmRoadAccessNeedProcessed $event): void + { + Http::post($this->url, + array( + 'username' => $this->username, + 'password' => $this->password, + 'harim_id' => $this->harimId, + 'status' => 'rejected', + 'message' => $this->message, + ))->throw(); + } + public function subscribe(Dispatcher $events) + { + $events->listen( + ConfirmRoadAccessNeedProcessed::class , + SendConfirmRoadAccessNeed::class, + ); + + } +} diff --git a/app/Listeners/V3/Dashboard/Harim/SendRejectNotification.php b/app/Listeners/V3/Dashboard/Harim/SendRejectNotification.php new file mode 100644 index 00000000..37b6b025 --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendRejectNotification.php @@ -0,0 +1,51 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + } + + /** + * @throws RequestException + */ + public function handle(RejectRequestProcessed $event): void + { + Http::post($this->url, + array( + 'username' => $this->username, + 'password' => $this->password, + 'harim_id' => $this->harimId, + 'status' => 'need road access', + 'panjareh_vahed_id' => $this->panjareh_vahed_id, + 'date' => now(), + 'single choice' => 'accepted', + + ))->throw(); + } + + public function subscribe(Dispatcher $events) + { + $events->listen( + RejectRequestProcessed::class, + SendRejectNotification::class, 'handle' + ); + + } +}