zentaomax.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. public function getPairsByRole($role)
  3. {
  4. return $this->loadExtension('cmmi')->getPairsByRole($role);
  5. }
  6. public function delete($table, $userID)
  7. {
  8. if(empty($userID)) return false;
  9. $this->dao->update(TABLE_USER)->set('deleted')->eq(1)->where('id')->eq($userID)->exec();
  10. $this->loadModel('action')->create('user', $userID, 'deleted', '', ACTIONMODEL::CAN_UNDELETED);
  11. $user = $this->getByID($userID, 'id');
  12. $this->loadModel('approval')->deleteApprovalUser($user->account);
  13. $this->loadModel('instance');
  14. if(method_exists($this->instance, 'saveWaitSyncData')) $this->instance->saveWaitSyncData('user', $userID, 'del');
  15. return true;
  16. }
  17. /**
  18. * Get all members for project/execution.
  19. *
  20. * @param int $objectID
  21. * @access public
  22. * @return array
  23. */
  24. public function getAllMembers($objectID)
  25. {
  26. if(defined('TUTORIAL')) return $this->loadModel('tutorial')->getTeamMembersPairs();
  27. $teams = $this->loadModel('project')->getTeamMemberPairs($objectID);
  28. $stakeholders = $this->dao->select('t1.user, t2.realname')->from(TABLE_STAKEHOLDER)->alias('t1')
  29. ->leftJoin(TABLE_USER)->alias('t2')->on('t1.user=t2.account')
  30. ->where('t1.deleted')->eq('0')
  31. ->andWhere('t1.objectID')->eq($objectID)
  32. ->orderBy('t1.id_desc')
  33. ->fetchPairs();
  34. $whitelist = $this->dao->select('t1.*, t2.realname')->from(TABLE_ACL)->alias('t1')
  35. ->leftJoin(TABLE_USER)->alias('t2')->on('t1.account=t2.account')
  36. ->where('t1.objectID')->eq($objectID)
  37. ->andWhere('t1.objectType')->eq('project,sprint')
  38. ->andWhere('t1.type')->eq('whitelist')
  39. ->fetchPairs();
  40. $users = arrayUnion($teams, $stakeholders, $whitelist);
  41. if(empty($users)) return array('' => '');
  42. return arrayUnion(array('' => ''), $users);
  43. }