Notice->getParent function fixes

NoResultException was the wrong choice in this case, because it was
not a DB_DataObject instance that performed the search, but a static
call to the Notice class.
This commit is contained in:
Mikael Nordfeldth 2013-10-22 15:37:01 +02:00
parent b46c1746f2
commit e274f69634
1 changed files with 3 additions and 7 deletions

View File

@ -2530,19 +2530,15 @@ class Notice extends Managed_DataObject
return $groups;
}
protected $_parent = -1;
protected $_parent = -1; // local object cache
public function getParent()
{
if (empty($this->reply_to)) {
// Should this also be NoResultException? I don't think so.
throw new Exception('Notice has no parent');
} elseif ($this->_parent === -1) { // local object cache
if (!empty($this->reply_to) && $this->_parent === -1) {
$this->_parent = Notice::getKV('id', $this->reply_to);
}
if (!($this->_parent instanceof Notice)) {
throw new NoResultException($this->_parent);
throw new ServerException('Notice has no parent');
}
return $this->_parent;
}