lk.zachem.info/app/Modules/Main/Http/Policies/ContentPolicy.php

37 lines
851 B
PHP

<?php
namespace Modules\Main\Http\Policies;
use Illuminate\Auth\Access\Response;
use Modules\Main\Models\City;
use Modules\User\Models\User;
use Modules\CityManager\Models\CityManager;
class ContentPolicy
{
public function before(User $user, string $ability): bool|null
{
if ($user->isAdmin()) {
return true;
}
return null;
}
/**
* Determine whether the user can CRUD content (posts, agents, documents)
*/
public function manage(User $user, City $city): bool
{
if (!$cityManagersOfUser = CityManager::where('user_id', $user->id)->get()) {
return false;
}
foreach ($cityManagersOfUser as $cityManager) {
if ($cityManager->city_id == $city->id) {
return true;
}
}
return false;
}
}