/** * Move issues from one step to another for a given issue type and conversions * @param TBGProject $project * @param TBGIssuetype $type * @param array $conversions * * $conversions should be an array containing arrays: * array ( * array(oldstep, newstep) * ... * ) */ public function convertIssueStepByIssuetype(TBGProject $project, TBGIssuetype $type, array $conversions) { foreach ($conversions as $conversion) { $crit = $this->getCriteria(); $crit->addWhere(self::PROJECT_ID, $project->getID()); $crit->addWhere(self::ISSUE_TYPE, $type->getID()); $crit->addWhere(self::WORKFLOW_STEP_ID, $conversion[0]); $crit->addUpdate(self::WORKFLOW_STEP_ID, $conversion[1]); $this->doUpdate($crit); } }
/** * Return if the user can assign scrum user stories * * @param TBGProject $project * * @return boolean */ public function canAssignScrumUserStories(TBGProject $project) { if ($project->isArchived()) { return false; } if ($this->canSaveConfiguration(TBGSettings::CONFIGURATION_SECTION_PROJECTS)) { return true; } if ($project->getOwner() instanceof TBGUser && $project->getOwner()->getID() == $this->getID()) { return true; } $retval = $this->hasPermission('canassignscrumuserstoriestosprints', $project->getID()); $retval = $retval !== null ? $retval : $this->hasPermission('candoscrumplanning', $project->getID()); $retval = $retval !== null ? $retval : $this->hasPermission('canassignscrumuserstoriestosprints', 0); $retval = $retval !== null ? $retval : $this->hasPermission('candoscrumplanning', 0); return (bool) ($retval !== null) ? $retval : false; }
public static function getSubprojectsArray(TBGProject $project, &$projects) { $projects[$project->getID()] = $project; foreach ($project->getChildProjects() as $subproject) { self::getSubprojectsArray($subproject, $projects); } }
/** * Return if the user can assign scrum user stories * * @param TBGProject $project * * @return boolean */ public function canAssignScrumUserStories(TBGProject $project) { return (bool) ($this->hasPermission('canassignscrumuserstoriestosprints', $project->getID(), 'core', true) || $this->hasPermission('candoscrumplanning', $project->getID(), 'core', true) || $this->hasPermission('canassignscrumuserstoriestosprints', 0, 'core', true) || $this->hasPermission('candoscrumplanning', 0, 'core', true)); }
public function getIncomingEmailAccountsForProject(TBGProject $project) { return TBGIncomingEmailAccount::getAllByProjectID($project->getID()); }