public function hasPermission($permission)
{
if ($this->permissions === null) {
$this->permissions = [];
foreach (self::findRoles($this) as $role) {
$this->permissions = array_merge($this->permissions, $role->permissions);
}
}
return in_array($permission, $this->permissions);
}