protected function _insert(Default_Model_Issue $issue) { $data = array('title' => $issue->getTitle(false), 'description' => $issue->getDescription(false), 'status' => $issue->getStatus(), 'project' => $issue->getProject()->getProjectId(), 'created_by' => $issue->getCreatedBy()->getUserId(), 'created_time' => new Zend_Db_Expr('NOW()'), 'private' => $issue->isPrivate() ? 1 : 0); if ($issue->getAssignedTo() != null) { $data['assigned_to'] = $issue->getAssignedTo()->getUserId(); } $db = $this->getWriteAdapter(); $db->insert($this->getTableName(), $data); return $db->lastInsertId(); }
public function canEditIssue(Default_Model_Issue $issue) { $acl = Zend_Registry::get('Default_DiContainer')->getAclService(); if ($acl->isAllowed('issue', 'edit-all')) { return true; } $user = Zend_Registry::get('Default_DiContainer')->getUserService()->getIdentity(); if ($acl->isAllowed('issue', 'edit-own')) { if ($issue->getAssignedTo() instanceof Default_Model_User && $issue->getAssignedTo()->getUserId() == $user->getUserId()) { return true; } if ($issue->getCreatedBy()->getUserId() == $user->getUserId()) { return true; } } return false; }