openvk/Web/Models/Entities/Traits/TOwnable.php
2022-03-22 13:42:06 +02:00

24 lines
639 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): bool
{
// TODO implement normal check in master
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);
}
}