public function process($data) { $db = Zend_Registry::get('db'); $actionMapper = new C3op_Projects_ActionMapper($db); if ($this->isValid($data) !== true) { throw new C3op_Form_ActionEditException('Invalid data!'); } else { $id = $data['id']; $action = $actionMapper->findById($id); $action->SetTitle($data['title']); $action->SetProject($data['project']); $action->SetStatus($data['status']); $action->SetDescription($data['description']); $action->SetSubordinatedTo($data['subordinatedTo']); $action->SetResponsible($data['responsible']); $action->SetMilestone($data['milestone']); $action->SetRequirementForReceiving($data['requirementForReceiving']); $predictedBeginDate = $data['predictedBeginDate']; $dateValidator = new C3op_Util_ValidDate(); if ($dateValidator->isValid($predictedBeginDate)) { $converter = new C3op_Util_DateConverter(); $dateForMysql = $converter->convertDateToMySQLFormat($predictedBeginDate); $action->SetPredictedBeginDate($dateForMysql); } $predictedFinishDate = $data['predictedFinishDate']; $dateValidator = new C3op_Util_ValidDate(); if ($dateValidator->isValid($predictedFinishDate)) { $converter = new C3op_Util_DateConverter(); $dateForMysql = $converter->convertDateToMySQLFormat($predictedFinishDate); $action->SetPredictedFinishDate($dateForMysql); } $actionMapper->update($action); return $id; } }
public function RejectReceipt(C3op_Projects_Action $action, C3op_Projects_ActionMapper $mapper) { $action->SetStatus(C3op_Projects_ActionStatusConstants::STATUS_IN_EXECUTION); //$action->SetRealFinishDate("0000-00-00"); $mapper->update($action); $this->LogRejection($action); }
public function start(C3op_Projects_Action $action, C3op_Projects_ActionMapper $actionMapper) { $action->SetRealBeginDate(date("Y-m-d")); $action->SetStatus(C3op_Projects_ActionStatusConstants::STATUS_IN_EXECUTION); $actionMapper->update($action); $this->LogAutoStart($action); }
public function AcknowledgeReceipt(C3op_Projects_Action $action, C3op_Projects_ActionMapper $mapper) { if (!$action->GetDone()) { $action->SetStatus(C3op_Projects_ActionStatusConstants::STATUS_RECEIVED); $mapper->update($action); } $this->LogAcknowledgment($action); }
public static function ChangePredictedFinishDate(C3op_Projects_Action $action, C3op_Projects_ActionMapper $actionMapper, $newDate, $observation) { if ($observation != "" && $action->GetPredictedFinishDate() != $newDate) { $action->SetPredictedFinishDate($newDate); $actionMapper->update($action); self::LogPredictedFinishDateChanging($action, $observation); } }
public function process($data) { if ($this->isValid($data) !== true) { throw new C3op_Form_HumanResourceCreateException('Invalid data!'); } else { $db = Zend_Registry::get('db'); $humanResourceMapper = new C3op_Projects_HumanResourceMapper($db); $humanResource = $humanResourceMapper->findById($this->id->GetValue()); $actionMapper = new C3op_Projects_ActionMapper($this->db); $itsAction = $actionMapper->findById($humanResource->GetAction()); $weHaveThedates = true; $predictedBeginDate = $this->predictedBeginDate->GetValue(); $dateValidator = new C3op_Util_ValidDate(); if ($dateValidator->isValid($predictedBeginDate)) { $converter = new C3op_Util_DateConverter(); $newBeginDate = $converter->convertDateToMySQLFormat($predictedBeginDate); } else { $weHaveThedates = false; } $predictedFinishDate = $this->predictedFinishDate->GetValue(); $dateValidator = new C3op_Util_ValidDate(); if ($dateValidator->isValid($predictedFinishDate)) { $converter = new C3op_Util_DateConverter(); $newFinishDate = $converter->convertDateToMySQLFormat($predictedFinishDate); } else { $weHaveThedates = false; } if (!$weHaveThedates) { throw new C3op_Form_HumanResourceCreateException('É obrigatório informar as datas contratadas.'); } $formerPredictedBeginDate = $itsAction->GetPredictedBeginDate(); $formerPredictedFinishDate = $itsAction->GetPredictedFinishDate(); $dateChanged = false; if ($dateValidator->isValid($formerPredictedBeginDate) && $formerPredictedBeginDate != $newBeginDate) { $dateChanged = true; } if ($dateValidator->isValid($formerPredictedFinishDate) && $formerPredictedFinishDate != $newFinishDate) { $dateChanged = true; } $observation = $this->observation->GetValue(); if ($dateChanged && $observation == "") { throw new C3op_Form_HumanResourceCreateException('Mudanças de data devem ser justificadas.'); } else { C3op_Projects_HumanResourceContracting::ContactContract($itsAction, $humanResource, $humanResourceMapper); if ($observation != "" && $itsAction->GetPredictedBeginDate() != $newBeginDate) { C3op_Projects_ActionDateChange::ChangePredictedBeginDate($itsAction, $actionMapper, $newBeginDate, $observation); } if ($observation != "" && $itsAction->GetPredictedFinishDate() != $newFinishDate) { C3op_Projects_ActionDateChange::ChangePredictedFinishDate($itsAction, $actionMapper, $newFinishDate, $observation); } $actionMapper->update($itsAction); $humanResourceMapper->update($humanResource); return $humanResource->GetId(); } } }
public function AcceptReceipt(C3op_Projects_Action $action, C3op_Projects_ActionMapper $mapper) { if ($action->GetStatus() == C3op_Projects_ActionStatusConstants::STATUS_RECEIVED) { $action->SetStatus(C3op_Projects_ActionStatusConstants::STATUS_DONE); $action->SetDone(true); $mapper->FetchLastReceiptDate($action); $action->SetRealFinishDate($action->GetReceiptDate($mapper)); $mapper->update($action); } $this->LogDelivery($action); }
public function retrieveTree(C3op_Projects_Project $project, C3op_Projects_ProjectMapper $projectMapper, C3op_Projects_ActionMapper $actionMapper) { $mainActions = $projectMapper->getAllActionsSubordinatedTo($project); $projectTree = array(); foreach ($mainActions as $actionId) { $loopAction = $actionMapper->findById($actionId); $obj = new C3op_Projects_ActionTree(); $actionTree = $obj->retrieveTree($loopAction, $actionMapper); $projectTree[$actionId] = $actionTree; } // get all subordinated actions return $projectTree; }
private function getTreeOfAllSubordinatedActions(C3op_Projects_Action $action, C3op_Projects_ActionMapper $actionMapper) { $tree = array(); $subordinatedIds = $actionMapper->getActionsSubordinatedTo($action); $a = $action->GetId(); if (count($subordinatedIds) > 0) { foreach ($subordinatedIds as $key => $id) { $loopAction = $actionMapper->findById($id); $tree[$id] = $this->getTreeOfAllSubordinatedActions($loopAction, $actionMapper); } } return $tree; }
public function GetAllActionsSubordinatedTo(C3op_Projects_Action $action, C3op_Projects_ActionMapper $actionMapper, C3op_Projects_Project $project, C3op_Projects_ProjectMapper $projectMapper) { echo "<hr>entering getallactionssubordinatedto<br>"; echo "action " . $action->GetId() . " - " . $action->GetTitle() . "<br>"; echo "project " . $project->GetId() . "<br>"; $allActionsBelowMe = array(); $actionsIdJustBelowMe = $actionMapper->getActionsSubordinatedTo($action); while (list(, $actionId) = each($actionsIdJustBelowMe)) { $thisAction = $actionMapper->findById($actionId); $actionsJustBelowMe = $this->GetAllActionsSubordinatedTo($thisAction, $actionMapper, $project, $projectMapper); $allActionsBelowMe[] = array("action" => $thisAction, "actionsBelow" => $actionsJustBelowMe); } echo "returning from getallactionssubordinatedto<br>"; echo "action " . $action->GetId() . " - " . $action->GetTitle() . "<br>"; echo "project " . $project->GetId() . "<br>"; print_r($allActionsBelowMe); echo "count allactionsbelowme " . count($allActionsBelowMe) . "<br><hr><br>"; return $allActionsBelowMe; }
public function process($data) { if ($this->isValid($data) !== true) { throw new C3op_Form_ActionCreateException('Invalid data!'); } else { $db = Zend_Registry::get('db'); $actionMapper = new C3op_Projects_ActionMapper($db); $action = new C3op_Projects_Action($this->project->GetValue()); // $action->SetTitle($this->title->GetValue()); $action->SetTitle($data['title']); $action->SetStatus(C3op_Projects_ActionStatusConstants::STATUS_PLAN); $action->SetDescription($this->description->GetValue()); $predictedBeginDate = $this->predictedBeginDate->GetValue(); $dateValidator = new C3op_Util_ValidDate(); if ($dateValidator->isValid($predictedBeginDate)) { $converter = new C3op_Util_DateConverter(); $dateForMysql = $converter->convertDateToMySQLFormat($predictedBeginDate); $action->SetPredictedBeginDate($dateForMysql); } $predictedFinishDate = $this->predictedFinishDate->GetValue(); $dateValidator = new C3op_Util_ValidDate(); if ($dateValidator->isValid($predictedFinishDate)) { $converter = new C3op_Util_DateConverter(); $dateForMysql = $converter->convertDateToMySQLFormat($predictedFinishDate); $action->SetPredictedFinishDate($dateForMysql); } $action->SetSubordinatedTo($this->subordinatedTo->GetValue()); $action->SetResponsible($this->responsible->GetValue()); $milestone = $this->milestone->GetValue(); if ($milestone == '1') { $action->SetMilestone(1); } else { $action->SetMilestone(0); } $requirementForReceiving = $this->requirementForReceiving->GetValue(); if ($requirementForReceiving == '1') { $action->SetRequirementForReceiving(1); } else { $action->SetRequirementForReceiving(0); } $actionMapper->insert($action); return $action->getId(); } }
private function initActionWithCheckedId(C3op_Projects_ActionMapper $mapper) { return $mapper->findById($this->checkIdFromGet()); }
public function getAllUnacknowledgededActions(C3op_Projects_Project $p, C3op_Projects_ActionMapper $actionMapper) { $result = array(); foreach ($this->db->query(sprintf('SELECT a.id FROM projects_actions a INNER JOIN projects_actions_dates d ON a.id = d.action WHERE a.status = %d AND a.project = %d ORDER BY d.real_begin_date', C3op_Projects_ActionStatusConstants::STATUS_IN_EXECUTION, $p->GetId())) as $row) { $action = $actionMapper->findById($row['id']); $obj = new C3op_Projects_ActionStartMode($action, $actionMapper); if ($obj->isUnacknowledged()) { $result[] = $row['id']; } } return $result; }
public function receivablesAction() { $receivableMapper = new C3op_Projects_ReceivableMapper($this->db); $id = $this->checkIdFromGet(); $thisProject = $this->projectMapper->findById($id); $receivablesIdList = $this->projectMapper->getAllReceivables($thisProject); $receivablesList = array(); reset($receivablesList); $receivablesTotalValue = 0; $receivablesCounter = 0; foreach ($receivablesIdList as $receivableId) { $thisReceivable = $receivableMapper->findById($receivableId); $receivablesCounter++; if ($thisReceivable->GetTitle()) { $title = $thisReceivable->GetTitle(); } else { $title = "(#{$receivablesCounter})"; } $validator = new C3op_Util_ValidDate(); if ($validator->isValid($thisReceivable->GetPredictedDate())) { $predictedDate = C3op_Util_DateDisplay::FormatDateToShow($thisReceivable->GetPredictedDate()); } else { $predictedDate = "(data desconhecida)"; } if ($thisReceivable->GetPredictedValue() > 0) { $receivablesTotalValue += $thisReceivable->GetPredictedValue(); $predictedValue = C3op_Util_CurrencyDisplay::FormatCurrency($thisReceivable->GetPredictedValue()); } else { $predictedValue = ""; } $productsIdList = $receivableMapper->getAllProducts($thisReceivable); $productsList = array(); foreach ($productsIdList as $productId) { $actionMapper = new C3op_Projects_ActionMapper($this->db); $thisAction = $actionMapper->findById($productId); $actionTitle = sprintf("<a href=/projects/action/detail/?id=%d>%s</a>", $productId, $thisAction->GetTitle()); $productsList[$productId] = array('title' => $actionTitle, 'linkDetail' => '/projects/action/detail/?id=' . $productId); } $receivablesList[$receivableId] = array('title' => $title, 'productsList' => $productsList, 'predictedDate' => $predictedDate, 'predictedValue' => $predictedValue, 'editLink' => '/projects/receivable/edit/?id=' . $receivableId); } if ($receivablesTotalValue == $thisProject->GetValue()) { $projectValue = C3op_Util_CurrencyDisplay::FormatCurrency($receivablesTotalValue) . " (OK)"; } else { $projectValue = "Valor do Projeto: " . C3op_Util_CurrencyDisplay::FormatCurrency($thisProject->GetValue()); $projectValue .= " Total dos recebimentos:" . C3op_Util_CurrencyDisplay::FormatCurrency($receivablesTotalValue) . " (?)"; } $projectInfo = array('title' => $thisProject->GetTitle(), 'linkDetail' => '/projects/project/detail/?id=' . $id, 'projectValue' => $projectValue, 'editLink' => '/projects/project/edit/?id=' . $id, 'receivablesList' => $receivablesList); $this->view->projectInfo = $projectInfo; }
public function GetReceiptDate(C3op_Projects_ActionMapper $actionMapper) { if (is_null($this->receiptDate)) { $actionMapper->FetchLastReceiptDate($this); } return $this->receiptDate; }