예제 #1
0
파일: Issue.php 프로젝트: Roave/issues
 public function removeLabelFromIssue(Default_Model_Issue $issue, Default_Model_Label $label)
 {
     $where = array('issue_id = ?' => $issue->getIssueId(), 'label_id = ?' => $label->getLabelId());
     $db = $this->getWriteAdapter();
     $rowsAffected = $db->delete('issue_label_linker', $where);
     if ($rowsAffected > 0) {
         $this->auditTrail($issue, array(array('action' => 'add-label', 'id' => $label->getLabelId())));
     }
 }
예제 #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;
 }