From b789a97c47b397e356bcdeac1c33111e033dce43 Mon Sep 17 00:00:00 2001 From: Thekindbull Date: Thu, 20 Mar 2025 13:10:54 +0800 Subject: [PATCH] confirmer updated --- .../Bitrix/ClientsApiController.php | 2 +- .../Company/CreateCompanyController.php | 3 +- app/Livewire/ContractsTable.php | 78 +++++++++++++++++++ app/Models/Bitrix/SendCompany.php | 4 +- resources/views/layouts/guest.blade.php | 25 +++--- 5 files changed, 96 insertions(+), 16 deletions(-) create mode 100644 app/Livewire/ContractsTable.php diff --git a/app/Http/Controllers/Bitrix/ClientsApiController.php b/app/Http/Controllers/Bitrix/ClientsApiController.php index cf50a02..dcbe8b5 100644 --- a/app/Http/Controllers/Bitrix/ClientsApiController.php +++ b/app/Http/Controllers/Bitrix/ClientsApiController.php @@ -60,7 +60,7 @@ public function confirm(Deal $deal, Request $request) return $deal->id; } - public function update_contract(Deal $deal, Request $request) + public function updateContract(Deal $deal, Request $request) { $contract = new ContractApiController; $contract($deal, $request); diff --git a/app/Http/Controllers/Company/CreateCompanyController.php b/app/Http/Controllers/Company/CreateCompanyController.php index c4a96bb..047db5c 100644 --- a/app/Http/Controllers/Company/CreateCompanyController.php +++ b/app/Http/Controllers/Company/CreateCompanyController.php @@ -30,6 +30,7 @@ public function __invoke(Request $request) 'secret' => bin2hex(random_bytes(16)), 'status' => 'new' ]); + $data = $request->only('name', 'email', 'inn', 'legal_address', 'secret', 'status', 'type', 'phone'); $company = Company::create($data); if (!$company) @@ -44,7 +45,7 @@ public function __invoke(Request $request) if (!$sender = $companyConfirmByBitrix->send()) { $company->delete(); - return back()->withErrors(['msg' => 'Company creation error'])->withInput(); + return back()->withErrors(['msg' => 'Error with bitrix sender'])->withInput(); } return view('company.created'); } diff --git a/app/Livewire/ContractsTable.php b/app/Livewire/ContractsTable.php new file mode 100644 index 0000000..c309e35 --- /dev/null +++ b/app/Livewire/ContractsTable.php @@ -0,0 +1,78 @@ +status = $status; + $this->count = $count; + $this->mode = $mode; + } + + public function getContracts() + { + $deals = false; + $user = auth()->user(); + if ($agent = Agent::where('user_id', $user->id)->first()) + { + $deals = Deal::where('agent_id', $agent->id); + } + elseif ($admin = CompanyAdmin::where('user_id', $user->id)->first()) + { + $deals = Deal::whereIn('agent_id', function ($query) use ($admin) + { + $query->select('id'); + $query->from('agents'); + $query->where('company_id', $admin->company_id); + }); + } + return $deals; + } + public function render() + { + $deals = $this->getDeals(); + if ($this->status && $this->status == DealStatus::UNIQUE) + { + $deals = $deals + ->whereIn('status', [DealStatus::UNIQUE]) + ->orderBy('id', 'desc')->paginate($this->count, ['*'], 'unique_clients'); + } + elseif ($this->status && $this->status == DealStatus::NOT_UNIQUE) + { + $deals = $deals + ->whereIn('status', [DealStatus::MODERATION, DealStatus::NEW , DealStatus::NOT_UNIQUE]) + ->orderBy('id', 'desc')->paginate($this->count, ['*'], 'not_unique_clients'); + } + else + { + $deals = $deals->orderBy('id', 'desc')->paginate($this->count, ['*'], 'all_clients'); + } + ; + + return view( + 'livewire.clients-table', + [ + 'deals' => $deals, + 'statuses' => DealStatus::class + ] + ); + } + } diff --git a/app/Models/Bitrix/SendCompany.php b/app/Models/Bitrix/SendCompany.php index 6c52295..7ceefd7 100644 --- a/app/Models/Bitrix/SendCompany.php +++ b/app/Models/Bitrix/SendCompany.php @@ -25,7 +25,7 @@ class SendCompany public function __construct($id, array $data) { - $this->ID = $id; + $this->ID = env('BITRIX_CODE_PREFIX', '') . $id; $data = array_change_key_case($data, CASE_UPPER); $finalData = $this->castConstants($data); $this->data = $finalData; @@ -55,7 +55,7 @@ public function send() $data = [ 'IBLOCK_TYPE_ID' => $this->IBLOCK_TYPE_ID, 'IBLOCK_ID' => $this->IBLOCK_ID, - 'ELEMENT_CODE' => 'local' . $this->ID, + 'ELEMENT_CODE' => $this->ID, 'FIELDS' => $this->data ]; $sender = new BitrixSender($this->URL, $data); diff --git a/resources/views/layouts/guest.blade.php b/resources/views/layouts/guest.blade.php index ab4b83c..3e15cb0 100644 --- a/resources/views/layouts/guest.blade.php +++ b/resources/views/layouts/guest.blade.php @@ -51,7 +51,6 @@ /* * Header */ - @@ -59,21 +58,23 @@
-

- -

-
-
- 8-800-222-06-10 +

+ +

+
+
+ 8-800-222-06-10
Звонок по РФ бесплатный
-
+
- - @yield('content') + @foreach ($errors->all() as $error) + {{ $error }} + @endforeach + @yield('content')