openvk/Web/Models/Entities/Traits/TOwnable.php

19 lines
510 B
PHP
Raw Normal View History

2020-06-07 19:04:43 +03:00
<?php declare(strict_types=1);
namespace openvk\Web\Models\Entities\Traits;
use openvk\Web\Models\Entities\User;
trait TOwnable
{
function canBeModifiedBy(User $user): bool
{
if(is_callable([$this, "isCreatedBySystem"]))
if($this->isCreatedBySystem())
return false;
if($this->getRecord()->owner > 0)
return $this->getRecord()->owner === $user->getId();
else
return $this->getOwner()->canBeModifiedBy($user);
}
}