Example #1
0
 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;
     }
 }
Example #2
0
 public function process($data)
 {
     if ($this->isValid($data) !== true) {
         throw new C3op_Form_ReceivableCreateException('Invalid data!');
     } else {
         $db = Zend_Registry::get('db');
         $receivableMapper = new C3op_Projects_ReceivableMapper($db);
         $predictedDate = $this->predictedDate->GetValue();
         $dateValidator = new C3op_Util_ValidDate();
         if ($dateValidator->isValid($predictedDate)) {
             $converter = new C3op_Util_DateConverter();
             $dateForMysql = $converter->convertDateToMySQLFormat($predictedDate);
             $predictedDateConvertedToMySQL = $dateForMysql;
         }
         $realDate = $this->realDate->GetValue();
         $dateValidator = new C3op_Util_ValidDate();
         if ($dateValidator->isValid($realDate)) {
             $converter = new C3op_Util_DateConverter();
             $dateForMysql = $converter->convertDateToMySQLFormat($realDate);
             $realDateConvertedToMySQL = $dateForMysql;
             $receivable->SetRealDate($realDateConvertedToMySQL);
         }
         $receivable = new C3op_Projects_Receivable($this->project->GetValue(), $predictedDateConvertedToMySQL, $this->predictedValue->GetValue());
         $receivable->SetTitle($this->title->GetValue());
         $receivable->SetProject((double) $this->project->GetValue());
         $receivable->SetRealValue((double) $this->realValue->GetValue());
         $receivableMapper->insert($receivable);
     }
 }
Example #3
0
 public function testThatInvalidDateIsntValid()
 {
     $validator = new C3op_Util_ValidDate();
     $invalidDate = "30-30-2003";
     $this->assertFalse($validator->isValid($invalidDate));
     $invalidDate = "an7yth4ing3";
     $this->assertFalse($validator->isValid($invalidDate));
 }
Example #4
0
 private function prepareDateValueToSet($value, C3op_Util_ValidDate $validator, C3op_Util_DateConverter $converter)
 {
     if ($validator->isValid($value)) {
         return $converter->convertDateToMySQLFormat($value);
     } else {
         return "";
     }
 }
Example #5
0
 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();
         }
     }
 }
Example #6
0
 public function convertDateToMySQLFormat($date)
 {
     class_exists('C3op_Util_ValidDate') || (require "validDate.php");
     $dateValidator = new C3op_Util_ValidDate();
     if ($dateValidator->isValid($date)) {
         return implode("-", array_reverse(explode(!strstr($date, '/') ? "-" : "/", $date)));
     } else {
         throw new C3op_Util_DateException('Invalid date!');
     }
 }
Example #7
0
 public function shouldStarted(C3op_Projects_Action $action)
 {
     $dateValidator = new C3op_Util_ValidDate();
     if ($dateValidator->isValid($action->getPredictedBeginDate())) {
         if ($action->getStatus() == C3op_Projects_ActionStatusConstants::STATUS_PLAN && $action->getPredictedBeginDate() <= date("Y-m-d 0:0:0")) {
             return true;
         }
     }
     return false;
 }
Example #8
0
 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();
     }
 }
Example #9
0
 public function process($data)
 {
     if ($this->isValid($data) !== true) {
         throw new C3op_Form_OutlayCreateException('Invalid data!');
     } else {
         $db = Zend_Registry::get('db');
         $outlayMapper = new C3op_Projects_OutlayMapper($db);
         $outlay = new C3op_Projects_Outlay($this->humanResource->GetValue());
         $outlay->SetAction($this->action->GetValue());
         $outlay->SetProject($this->project->GetValue());
         $outlay->SetPredictedValue($this->predictedValue->GetValue());
         $predictedDate = $this->predictedDate->GetValue();
         $dateValidator = new C3op_Util_ValidDate();
         if ($dateValidator->isValid($predictedDate)) {
             $converter = new C3op_Util_DateConverter();
             $dateForMysql = $converter->convertDateToMySQLFormat($predictedDate);
             $outlay->SetPredictedDate($dateForMysql);
         }
         $outlay->SetObservation($this->observation->GetValue());
         $outlayMapper->insert($outlay);
     }
 }
Example #10
0
 public function process($data)
 {
     if ($this->isValid($data) !== true) {
         throw new C3op_Form_ProjectCreateException('Invalid data!');
     } else {
         $db = Zend_Registry::get('db');
         $projectMapper = new C3op_Projects_ProjectMapper($db);
         $project = new C3op_Projects_Project();
         $project->SetTitle($this->title->GetValue());
         $project->SetClient($this->client->GetValue());
         $project->SetOurResponsible($this->ourResponsible->GetValue());
         $project->SetResponsibleAtClient($this->responsibleAtClient->GetValue());
         $beginDate = $this->beginDate->GetValue();
         $dateValidator = new C3op_Util_ValidDate();
         if ($dateValidator->isValid($beginDate)) {
             $converter = new C3op_Util_DateConverter();
             $dateForMysql = $converter->convertDateToMySQLFormat($beginDate);
             $project->SetBeginDate($dateForMysql);
         }
         $finishDate = $this->finishDate->GetValue();
         $dateValidator = new C3op_Util_ValidDate();
         if ($dateValidator->isValid($finishDate)) {
             $converter = new C3op_Util_DateConverter();
             $dateForMysql = $converter->convertDateToMySQLFormat($finishDate);
             $project->SetFinishDate($dateForMysql);
         }
         $project->SetValue($this->value->GetValue());
         $project->SetStatus($this->status->GetValue());
         $project->SetContractNature($this->contractNature->GetValue());
         $project->SetAreaActivity($this->areaActivity->GetValue());
         $project->SetOverhead($this->overhead->GetValue());
         $project->SetManagementFee($this->managementFee->GetValue());
         $project->SetObject($this->object->GetValue());
         $project->SetSummary($this->summary->GetValue());
         $project->SetObservation($this->observation->GetValue());
         $projectMapper->insert($project);
     }
 }
Example #11
0
 public function SetRealDate($realDate)
 {
     if ($realDate != "") {
         $dateValidator = new C3op_Util_ValidDate();
         if ($dateValidator->isValid($realDate)) {
             if ($this->realDate != $realDate) {
                 $this->realDate = $realDate;
             }
         } else {
             throw new C3op_Projects_ReceivableException("This ({$realDate}) is not a valid date of begin.");
         }
     }
 }
Example #12
0
 public function SetFinishDate($finishDate)
 {
     if ($finishDate != "") {
         $dateValidator = new C3op_Util_ValidDate();
         if ($dateValidator->isValid($finishDate)) {
             if ($this->finishDate != $finishDate) {
                 $this->finishDate = $finishDate;
             }
         } else {
             throw new C3op_Projects_ProjectException("This ({$finishDate}) is not a valid date of finish.");
         }
     }
 }
Example #13
0
 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;
 }
Example #14
0
 public function SetRealFinishDate($realFinishDate)
 {
     if ($realFinishDate != "") {
         $dateValidator = new C3op_Util_ValidDate();
         if ($realFinishDate == "0000-00-00" || $dateValidator->isValid($realFinishDate)) {
             if ($this->realFinishDate != $realFinishDate) {
                 $this->realFinishDate = $realFinishDate;
             }
         } else {
             throw new C3op_Projects_ActionException("This ({$realFinishDate}) is not a valid date of finish.");
         }
     }
 }
Example #15
0
 public function SetLastLogin($lastLogin)
 {
     if ($lastLogin != "") {
         $dateValidator = new C3op_Util_ValidDate();
         if ($dateValidator->isValid($lastLogin)) {
             if ($this->lastLogin != $lastLogin) {
                 $this->lastLogin = $lastLogin;
             }
         } else {
             throw new C3op_Auth_UserException("This ({$lastLogin}) is not a valid date of begin.");
         }
     }
 }