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;