lk.zachem.info/app/Modules/Main/Http/Policies/CompanyPolicy.php
developer 59bdd07bc0 Обновлен способ вывода главного меню.
Обновлена обработка проверки на уникальность из битрикса
2025-12-09 09:11:33 +08:00

58 lines
1.6 KiB
PHP

<?php
namespace Modules\Main\Http\Policies;
use Modules\User\Models\User;
use Modules\User\Models\UserRole;
use Modules\User\Models\Role;
use Modules\Main\Models\Company\Company;
use Modules\Main\Models\Company\CompanyAdmin;
class CompanyPolicy
{
public function create(User $user): bool
{
if (UserRole::where('user_id', $user->id)->where('role_id', Role::SUPER_ADMIN)->count() == 1)
{
return true;
}
return false;
}
public function editAgentsTable(User $user): bool
{
dd(111);
if (UserRole::where('user_id', $user->id)->where('role_id', Role::COMPANY_ADMIN)->count() == 1)
{
return true;
}
return false;
}
public function editClientsTable(User $user): bool
{
if (UserRole::where('user_id', $user->id)->where('role_id', Role::COMPANY_ADMIN)->count() == 1)
{
return true;
}
if (UserRole::where('user_id', $user->id)->where('role_id', Role::CITY_MANAGER)->count() == 1)
{
return true;
}
return false;
}
public function update(User $user, Company $company): bool
{
if (UserRole::where('user_id', $user->id)->where('role_id', Role::SUPER_ADMIN)->count() == 1)
{
return true;
}
if (
CompanyAdmin::where('user_id', $user->id)->where('company_id', $company->id)->count() == 1
&& UserRole::where('user_id', $user->id)->where('role_id', Role::COMPANY_ADMIN)->count() == 1
)
{
return true;
}
return false;
}
}