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; return $groups;
} }
protected $_parent = -1; protected $_parent = -1; // local object cache
public function getParent() public function getParent()
{ {
if (empty($this->reply_to)) { if (!empty($this->reply_to) && $this->_parent === -1) {
// Should this also be NoResultException? I don't think so.
throw new Exception('Notice has no parent');
} elseif ($this->_parent === -1) { // local object cache
$this->_parent = Notice::getKV('id', $this->reply_to); $this->_parent = Notice::getKV('id', $this->reply_to);
} }
if (!($this->_parent instanceof Notice)) { if (!($this->_parent instanceof Notice)) {
throw new NoResultException($this->_parent); throw new ServerException('Notice has no parent');
} }
return $this->_parent; return $this->_parent;
} }