예제 #1
0
파일: Issue.php 프로젝트: Roave/issues
 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();
 }
예제 #2
0
파일: Issue.php 프로젝트: Roave/issues
 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;
 }