/** * @param sfWebRequest $request * @return string */ public function executeDecisionModalSave(sfWebRequest $request) { $decision_id = $this->getUser()->getAttribute('decision_id', null, 'sfGuardSecurityUser'); if (!empty($decision_id)) { $decision = DecisionTable::getInstance()->getDecisionForUser($this->getUser()->getGuardUser(), $decision_id); } if (empty($decision) || !is_object($decision)) { if (!DecisionTable::getInstance()->verifyAvailableName($this->getUser()->getGuardUser(), $request->getParameter('name'))) { return $this->renderText(json_encode(array('status' => 'error', 'message' => 'A project with that name already exists'))); } $decision = new Decision(); $folder = FolderTable::getInstance()->getNotDeletableForUser($this->getUser()->getGuardUser(), Folder::TYPE_PROJECT); if (!empty($folder)) { $decision->setFolderId($folder->getId()); } // Create log $log = new Log(); $log->setAction('project_create'); $log->setUserId($this->getUser()->getGuardUser()->id); $log->setInformation(json_encode(array('decision_name' => $request->getParameter('name'), 'decision_type' => $request->getParameter('type_id'), 'decision_template' => $request->getParameter('template_id')))); $log->save(); } $decision->setName($request->getParameter('name', '')); $decision->setTypeId($request->getParameter('type_id')); $decision->setTemplateId($request->getParameter('template_id')); $decision->save(); $this->getUser()->setAttribute('decision_id', $decision->getId(), 'sfGuardSecurityUser'); return $this->renderText(json_encode(array('status' => 'success', 'dashboard_url' => $this->generateUrl('dashboard', array('decision_id' => $decision->getId()))))); }
public function getProjectCreateResponse(sfGuardUser $user) { /** @var sfWebRequest $request */ $request = $this->getRequest(); $decision = new Decision(); $decision->User = $user; $decision->name = $request->getParameter('name', 'New project (API)'); $decision->objective = $request->getParameter('description', ''); $decision->type_id = 1; $decision->template_id = 1; try { $decision->save(); $result = array('status' => 'success', 'result' => $decision->getAPIData()); } catch (sfException $ex) { $result = array('status' => 'error', 'error' => $ex->getMessage()); } return $result; }
/** * Test getWinner returns winner */ public function testGetWinner() { $decision = new Decision($this->getScores()); $scores = array_flip($this->getScoresTotalled()); $this->assertEquals(array_shift($scores), $decision->getWinner()); }
public function getMeetingAssumptions($meeting_id) { return $this->model->ForMeeting($meeting_id)->get(); }
$errors[] = 'AC_ERROR_INVALID_WEB_SERVICE_ID'; } else { $user_id = $user_row['user_id']; } } if (!is_array($decisions)) { $errors[] = 'AC_ERROR_SEQUENCEID_NOT_GIVEN'; } // return errors if (is_array($errors)) { if ($output == 'rest') { echo RESTWebServiceOutput::generateErrorRpt($errors); } else { echo HTMLRpt::generateErrorRpt($errors); } exit; } // make decisions $decision = new Decision($user_id, $uri, $output, $session_id); if ($decision->hasError()) { $decision_error = $decision->getErrorRpt(); // displays in checker_input_form.tmpl.php } else { // make decsions $decision->makeDecisions($decisions); if ($output == 'rest') { echo RESTWebServiceOutput::generateSuccessRpt(); } else { echo HTMLRpt::generateSuccessRpt(); } }
/** * @param PHPPowerPoint_Slide $currentSlide * @param Decision $decision */ private function buildSlide(PHPPowerPoint_Slide $currentSlide, Decision $decision) { // Title $shape = $currentSlide->createRichTextShape(); $shape->setHeight(30); $shape->setWidth(600); $shape->setOffsetX(180); $shape->setOffsetY(50); $shape->createText($decision->getName()); $shape->getAlignment()->setHorizontal(PHPPowerPoint_Style_Alignment::HORIZONTAL_CENTER); // Other info $shape = $currentSlide->createRichTextShape(); $shape->setHeight(500); $shape->setWidth(920); $shape->setOffsetX(20); $shape->setOffsetY(80); $shape->getAlignment()->setHorizontal(PHPPowerPoint_Style_Alignment::HORIZONTAL_LEFT); $textRun = $shape->createTextRun('Start/End date'); $textRun->getFont()->setBold(true); $shape->createTextRun(': '); if ($decision->getStartDate()) { $shape->createTextRun(DateTime::createFromFormat('Y-m-d H:i:s', $decision->getStartDate())->format('j M Y')); } else { $textRun = $shape->createTextRun('not set'); $textRun->getFont()->setItalic(true); } $shape->createTextRun(' - '); if ($decision->getEndDate()) { $shape->createTextRun(DateTime::createFromFormat('Y-m-d H:i:s', $decision->getEndDate())->format('j M Y')); } else { $textRun = $shape->createTextRun('not set'); $textRun->getFont()->setItalic(true); } $shape->createBreak(); $textRun = $shape->createTextRun('Status'); $textRun->getFont()->setBold(true); $shape->createTextRun(': ' . $decision->getStatus()); $shape->createBreak(); $tags = array(); foreach ($decision->getTagDecision() as $tag_decision) { $tags[] = $tag_decision->getTag()->getName(); } $textRun = $shape->createTextRun('Tags'); $textRun->getFont()->setBold(true); $shape->createTextRun(': ' . implode(', ', $tags)); $shape->createBreak(); $shape->createBreak(); $shape->createTextRun(strip_tags($decision->getObjective())); if ($this->roadmap->getShowReleases() && count($decision->getProjectRelease())) { $shape->createBreak(); $shape->createBreak(); $textRun = $shape->createTextRun('Releases'); $textRun->getFont()->setSize(14); $shape->createBreak(); foreach ($decision->getProjectRelease() as $project_release) { /** @var ProjectRelease $project_release */ $textRun = $shape->createTextRun(' ' . $project_release->getName()); $textRun->getFont()->setSize(12); $shape->createBreak(); if ($this->roadmap->getShowItems()) { foreach ($project_release->getProjectReleaseAlternative() as $project_release_alternative) { /** @var ProjectReleaseAlternative $project_release_alternative */ $shape->createTextRun(' ' . $project_release_alternative->getAlternative()->getName()); $shape->createBreak(); } } } } if ($this->roadmap->getShowDependencies()) { $alternative_relations_text = ''; $alternative_relations = array(); $related_decisions = array(); foreach ($decision->getAlternative() as $alternative) { /** @var $alternative Alternative */ if (count($alternative->getAlternativeRelation())) { $alternative_relations[$alternative->getId()]['alternative'] = $alternative; foreach ($alternative->getAlternativeRelation() as $relation) { /** @var $relation AlternativeRelation */ $related_decisions[$relation->getAlternativeTo()->getDecisionId()] = $relation->getAlternativeTo()->getDecision()->getName(); $alternative_relations[$alternative->getId()]['relations'][$relation->getAlternativeTo()->getDecisionId()]['decision'] = $relation->getAlternativeTo()->getDecision(); $alternative_relations[$alternative->getId()]['relations'][$relation->getAlternativeTo()->getDecisionId()]['linked_alternatives'][] = $relation->getAlternativeTo(); } } } if (count($alternative_relations)) { $shape->createBreak(); $shape->createTextRun('This project has dependency to project(s) ' . implode(', ', $related_decisions))->getFont()->setBold(true); foreach ($alternative_relations as $alternative_relation) { foreach ($alternative_relation['relations'] as $relation) { $temp_linked_alternatives = array(); foreach ($relation['linked_alternatives'] as $linked_alternative) { $temp_linked_alternatives[] .= $linked_alternative->getName(); } $shape->createBreak(); $shape->createTextRun(' - ' . $alternative_relation['alternative']->getName() . " has dependency to " . implode(', ', $temp_linked_alternatives) . " in project " . $relation['decision']->getName()); } } } } }
include_once AC_INCLUDE_PATH . 'classes/Utility.class.php'; include_once AC_INCLUDE_PATH . 'classes/DAO/GuidelinesDAO.class.php'; include_once AC_INCLUDE_PATH . 'classes/DAO/ChecksDAO.class.php'; include_once AC_INCLUDE_PATH . 'classes/DAO/UserLinksDAO.class.php'; include_once AC_INCLUDE_PATH . 'classes/Decision.class.php'; global $starttime; $mtime = microtime(); $mtime = explode(" ", $mtime); $mtime = $mtime[1] + $mtime[0]; $starttime = $mtime; // input_form - array in session that contains latest user request (needed for file export) unset($_SESSION['input_form']); $guidelinesDAO = new GuidelinesDAO(); // process to make decision if (isset($_POST['make_decision']) || isset($_POST['reverse'])) { $decision = new Decision($_SESSION['user_id'], $_POST['uri'], $_POST['output'], $_POST['jsessionid']); if ($decision->hasError()) { $decision_error = $decision->getErrorRpt(); // displays in checker_input_form.tmpl.php } else { // make decsions if (isset($_POST['make_decision'])) { $decision->makeDecisions($_POST['d']); } // reverse decision if (isset($_POST['reverse'])) { foreach ($_POST['reverse'] as $sequenceID => $garbage) { $decision->makeDecisions(array($sequenceID => AC_NO_DECISION)); } } }
/** * @param sfWebRequest $request * @return sfView */ public function executeImportFromTrello(sfWebRequest $request) { $this->forward404Unless($request->isXmlHttpRequest()); if (!DecisionTable::getInstance()->verifyAvailableName($this->getUser()->getGuardUser(), $request->getParameter('board_name'))) { return $this->renderText(json_encode(array('status' => 'error', 'message' => 'A project with that name already exists'))); } $decision = new Decision(); $decision->setName($request->getParameter('board_name')); $decision->setUserId($this->getUser()->getGuardUser()->getId()); $decision->setExternalId($request->getParameter('board_id')); $decision->setTypeId(2); $type_template = TypeTemplate::getInstance()->createQuery('t')->where('t.user_id is NULL')->andWhere('t.type_id = ?', 2)->andWhere('t.name = ?', 'Default')->fetchOne(); $decision->setTemplateId($type_template->getId()); // Default template $decision->setFolderId(FolderTable::getInstance()->getNotDeletableForUser($this->getUser()->getGuardUser(), Folder::TYPE_PROJECT)->getId()); $decision->save(); $dashboard_role = $decision->getDashboardRole(); foreach (json_decode($request->getParameter('cards', '{}')) as $card) { $alternative = new Alternative(); $alternative->setName($card->name); $alternative->setDecisionId($decision->getId()); $alternative->setAdditionalInfo($card->desc); $alternative->setNotes($card->notes); $alternative->setExternalId($card->id); $alternative->setCreatedBy($request->getParameter('full_name') . ' (via Trello)'); $alternative->setUpdatedBy($request->getParameter('full_name') . ' (via Trello)'); if ($card->due) { $date = DateTime::createFromFormat('Y-m-d\\TH:i:s.000Z', $card->due); $alternative->setDueDate($date->format('Y-m-d H:i:s')); $alternative->setNotifyDate($date->format('Y-m-d H:i:s')); } $alternative->save(); foreach ($card->labels as $label) { Tag::newTag($this->getUser()->getGuardUser(), $alternative->getId(), $label, 'alternative'); } if ($dashboard_role) { foreach ($decision->getCriterion() as $criterion) { $planned_alternative_measurement = new PlannedAlternativeMeasurement(); $planned_alternative_measurement->setAlternative($alternative); $planned_alternative_measurement->setCriterion($criterion); $dashboard_role->PlannedAlternativeMeasurement->add($planned_alternative_measurement); } } } $dashboard_role->PlannedAlternativeMeasurement->save(); if ($request->getParameter('wizard')) { $user = $this->getUser()->getGuardUser(); $user->setWizard(false); $user->save(); } // Create log $log = new Log(); $log->setAction('project_create'); $log->setUserId($this->getUser()->getGuardUser()->id); $log->setInformation(json_encode(array('decision_name' => $decision->getName(), 'decision_type' => $decision->getTypeId(), 'decision_template' => $decision->getTemplateId(), 'imported' => 'Trello'))); $log->save(); return $this->renderText(json_encode(array('status' => 'success', 'dashboard_url' => $this->generateUrl('dashboard', array('decision_id' => $decision->getId()))))); }