From c9892c33a56c0d29c39b1a907c569ccf11df8376 Mon Sep 17 00:00:00 2001 From: developer Date: Thu, 22 Jan 2026 16:54:50 +0800 Subject: [PATCH] =?UTF-8?q?fix!=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D0=B0=D0=B3=D0=B5=D0=BD=D1=82=D1=81=D1=82=D0=B2=D0=BE=20=D0=B2?= =?UTF-8?q?=20=D1=85=D0=B5=D0=BB=D0=BF=D0=B5=D1=80=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Modules/Admin/Routes/web.php | 1 - app/Modules/Main/Helpers/helper.php | 25 ++++++++++++------- .../Livewire/CreateCompanyAdminLivewire.php | 2 +- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/app/Modules/Admin/Routes/web.php b/app/Modules/Admin/Routes/web.php index 12eb37a..8eeaf4a 100644 --- a/app/Modules/Admin/Routes/web.php +++ b/app/Modules/Admin/Routes/web.php @@ -39,7 +39,6 @@ Route::post('/admin/companies/{company}/restore', [Modules\Admin\Http\Controllers\AdminCompaniesController::class, 'restore'])->name('admin.companies.restore')->withTrashed(); Route::post('/admin/companies/admins/{companyAdmin}/delete', [Modules\Admin\Http\Controllers\AdminCompaniesController::class, 'deleteAdmin'])->name('admin.companies.admins.delete'); Route::post('/admin/companies/agents/{agent}/delete', [Modules\Admin\Http\Controllers\AdminCompaniesController::class, 'deleteAgent'])->name('admin.companies.agents.delete'); - Route::get('/admin/cities', [Modules\Admin\Http\Controllers\AdminCitiesController::class, 'index'])->name('admin.cities'); diff --git a/app/Modules/Main/Helpers/helper.php b/app/Modules/Main/Helpers/helper.php index adf4503..1710dff 100644 --- a/app/Modules/Main/Helpers/helper.php +++ b/app/Modules/Main/Helpers/helper.php @@ -6,6 +6,8 @@ use Modules\CityManager\Models\CityManager; use Modules\Main\Models\Agent\Agent; use Modules\Main\Models\Complex; +use Modules\User\Models\Role; +use Modules\User\Models\UserRole; if (!function_exists('AdminCompanyOfUser')) { function AdminCompanyOfUser() @@ -64,15 +66,20 @@ function GetAvailableAgents($resultType = 'Collection') function GetAvailableCompanies($resultType = 'Collection') { $companiesIds = []; - if ($adminCompany = AdminCompanyOfUser()) { - $companiesIds[] = $adminCompany->id; - } - if ($cityManager = CityManager::where('user_id', auth()->user()->id)) { - if ($cityManager->count()) { - $companies = Company::whereIn('city_id', $cityManager->pluck('city_id')); - if ($companies->count()) { - $companies = $companies->get()->pluck('id'); - $companiesIds = array_merge($companiesIds, $companies->all()); + if (UserRole::where('user_id', auth()->user()->id)->where('role_id', Role::SUPER_ADMIN)->count() == 1) { + $companies = Company::all()->pluck('id'); + $companiesIds = array_merge($companiesIds, $companies->all()); + } else { + if ($adminCompany = AdminCompanyOfUser()) { + $companiesIds[] = $adminCompany->id; + } + if ($cityManager = CityManager::where('user_id', auth()->user()->id)) { + if ($cityManager->count()) { + $companies = Company::whereIn('city_id', $cityManager->pluck('city_id')); + if ($companies->count()) { + $companies = $companies->get()->pluck('id'); + $companiesIds = array_merge($companiesIds, $companies->all()); + } } } } diff --git a/app/Modules/Main/Http/Livewire/CreateCompanyAdminLivewire.php b/app/Modules/Main/Http/Livewire/CreateCompanyAdminLivewire.php index 900e28c..cc960d9 100644 --- a/app/Modules/Main/Http/Livewire/CreateCompanyAdminLivewire.php +++ b/app/Modules/Main/Http/Livewire/CreateCompanyAdminLivewire.php @@ -15,7 +15,7 @@ class CreateCompanyAdminLivewire extends Component public function mount($containerId = 'createCompanyAdminModal') { $this->containerId = $containerId; - $availableCompaniesIds = GetAvailableAgents('Builder')->pluck('company_id'); + $availableCompaniesIds = GetAvailableCompanies('Collection')->pluck('id'); $this->availableCompanies = Company::whereIn('id', $availableCompaniesIds)->get(); if ($this->availableCompanies->count() == 1) { $this->companyId = $this->availableCompanies->first()->id;