fix! исправлена функция получения доступных агентство в хелпере

This commit is contained in:
developer 2026-01-22 16:54:50 +08:00
parent 3dfd5038e7
commit c9892c33a5
3 changed files with 17 additions and 11 deletions

View File

@ -40,7 +40,6 @@
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');
Route::get('/admin/cities/managers', [Modules\Admin\Http\Controllers\AdminCityManagersController::class, 'index'])->name('admin.cities.managers');

View File

@ -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,6 +66,10 @@ function GetAvailableAgents($resultType = 'Collection')
function GetAvailableCompanies($resultType = 'Collection')
{
$companiesIds = [];
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;
}
@ -76,6 +82,7 @@ function GetAvailableCompanies($resultType = 'Collection')
}
}
}
}
$companiesIds = array_unique($companiesIds);
$companies = Company::whereIn('id', $companiesIds);
if ($resultType == 'Collection') {

View File

@ -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;