openvk/Web/Models/Entities/Traits/TOwnable.php
2023-12-02 20:21:16 +03:00

28 lines
697 B
PHP

<?php declare(strict_types=1);
namespace openvk\Web\Models\Entities\Traits;
use openvk\Web\Models\Entities\User;
trait TOwnable
{
function canBeViewedBy(?User $user = NULL): bool
{
# TODO: #950
if($this->isDeleted()) {
return false;
}
return true;
}
function canBeModifiedBy(User $user): bool
{
if(method_exists($this, "isCreatedBySystem"))
if($this->isCreatedBySystem())
return false;
if($this->getRecord()->owner > 0)
return $this->getRecord()->owner === $user->getId();
else
return $this->getOwner()->canBeModifiedBy($user);
}
}