diff --git a/app/Http/Controllers/Bitrix/ClientsApiController.php b/app/Http/Controllers/Bitrix/ClientsApiController.php
index dcbe8b5..8a74095 100644
--- a/app/Http/Controllers/Bitrix/ClientsApiController.php
+++ b/app/Http/Controllers/Bitrix/ClientsApiController.php
@@ -7,62 +7,67 @@
use App\Models\Deal\Deal;
use App\Models\Deal\DealStatus;
+use App\Notifications\UniqueContact;
+use App\Notifications\NotUniqueContact;
+
use Illuminate\Support\Facades\Log;
-
class ClientsApiController extends Controller
- {
- public const ACTION_CONFIRM = 'confirm';
+{
+ public const ACTION_CONFIRM = 'confirm';
public const ACTION_UPDATE_CONTRACT = 'contract';
public function index(Request $request)
- {
+ {
if ($deal = Deal::where('confirm_token', $request->hash)->first())
- {
+ {
switch ( $request->action )
- {
+ {
case $this::ACTION_CONFIRM:
$this->confirm($deal, $request);
break;
case $this::ACTION_UPDATE_CONTRACT:
$this->updateContract($deal, $request);
break;
- }
- return true;
}
- return false;
+ return true;
}
+ return false;
+ }
public function confirm(Deal $deal, Request $request)
- {
+ {
+ $agent = $deal->agent;
if ((bool) $request->is_unique)
- {
+ {
$deal->status = DealStatus::UNIQUE;
- }
+ $agent->user->notify(new UniqueContact($deal));
+ }
else
- {
+ {
$deal->status = DealStatus::NOT_UNIQUE;
- }
+ $agent->user->notify(new NotUniqueContact($deal));
+ }
Log::build([
'driver' => 'single',
- 'path' => storage_path('logs/bitrix.log'),
+ 'path' => storage_path('logs/bitrix.log'),
])->error(
json_encode(
[
'is_unique' => $request->is_unique,
- 'deal' => $deal->id,
- 'status' => $deal->status
+ 'deal' => $deal->id,
+ 'status' => $deal->status
]
)
);
$deal->save();
return $deal->id;
- }
+ }
public function updateContract(Deal $deal, Request $request)
- {
+ {
$contract = new ContractApiController;
$contract($deal, $request);
- }
}
+}
diff --git a/app/Http/Controllers/Bitrix/ContractApiController.php b/app/Http/Controllers/Bitrix/ContractApiController.php
index 88dfe1b..4e827b9 100644
--- a/app/Http/Controllers/Bitrix/ContractApiController.php
+++ b/app/Http/Controllers/Bitrix/ContractApiController.php
@@ -9,22 +9,25 @@
use App\Models\Deal\Contract;
use App\Models\Deal\ContractStatus;
use App\Models\Agent\Agent;
+use App\Notifications\ContractUpdated;
class ContractApiController
- {
+{
public function __invoke(Deal $deal, Request $request)
- {
+ {
$status =
Contract::updateOrCreate(
['deal_id' => $deal->id],
[
- 'status' => constant(ContractStatus::class . "::" . $request->status),
+ 'status' => constant(ContractStatus::class . "::" . $request->status),
'comment' => $request->comment,
- 'price' => $request->price,
- 'reward' => $request->reward,
- 'square' => $request->square,
- 'floor' => $request->floor
+ 'price' => $request->price,
+ 'reward' => $request->reward,
+ 'square' => $request->square,
+ 'floor' => $request->floor
]
);
+ $agent = $deal->agent;
+ $agent->user->notify(new ContractUpdated($deal->contract));
return true;
- }
- }
\ No newline at end of file
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/NotificationProbeController.php b/app/Http/Controllers/NotificationProbeController.php
index 841f609..e08a947 100644
--- a/app/Http/Controllers/NotificationProbeController.php
+++ b/app/Http/Controllers/NotificationProbeController.php
@@ -6,12 +6,14 @@
use App\Models\Deal\Deal;
use App\Notifications\UniqueContact;
+use App\Notifications\NotUniqueContact;
+use App\Notifications\ContractUpdated;
class NotificationProbeController extends Controller
{
public function index()
{
- auth()->user()->notify(new UniqueContact(Deal::find(4)));
+ auth()->user()->notify(new ContractUpdated(Deal::find(4)->contract));
echo auth()->user()->unreadNotifications->count() . '
';
die(auth()->user()->notifications);
}
diff --git a/app/Modules/Notice/Views/user-notifications.blade.php b/app/Modules/Notice/Views/user-notifications.blade.php
index 6213474..6bd3c44 100644
--- a/app/Modules/Notice/Views/user-notifications.blade.php
+++ b/app/Modules/Notice/Views/user-notifications.blade.php
@@ -3,7 +3,7 @@