protected function init() { $header1 = new PerformanceEvaluationLinkHeader(); $header2 = new ListHeader(); $header3 = new ReviewPeriodHeader(); $header4 = new ListHeader(); $header6 = new ListHeader(); $header7 = new ListHeader(); $header8 = new ListHeader(); $header1->populateFromArray(array('name' => 'Employee', 'width' => '20%', 'isSortable' => false, 'sortField' => null, 'elementType' => 'performanceEvaluationLink', 'elementProperty' => array('labelGetter' => array('getEmployee', 'getFullName'), 'placeholderGetters' => array('id' => 'getId'), 'urlPattern' => 'index.php/performance/reviewEvaluate/id/{id}'))); $header2->populateFromArray(array('name' => 'Due Date', 'width' => '10%', 'isSortable' => false, 'sortField' => null, 'elementType' => 'label', 'elementProperty' => array('getter' => 'getDueDate'))); $header3->populateFromArray(array('name' => 'Review Period', 'width' => '20%', 'isSortable' => false, 'sortField' => null, 'elementType' => 'ReviewPeriod')); $header4->populateFromArray(array('name' => 'Job Title', 'width' => '10%', 'isSortable' => false, 'sortField' => null, 'elementType' => 'label', 'elementProperty' => array('getter' => array('getJobTitle', 'getJobTitle')))); $reviewStatus = array(); $reviewStatus[ReviewStatusActivated::getInstance()->getStatusId()] = ReviewStatusActivated::getInstance()->getName(); $reviewStatus[ReviewStatusApproved::getInstance()->getStatusId()] = ReviewStatusApproved::getInstance()->getName(); $reviewStatus[ReviewStatusInProgress::getInstance()->getStatusId()] = ReviewStatusInProgress::getInstance()->getName(); $reviewStatus[ReviewStatusInactive::getInstance()->getStatusId()] = ReviewStatusInactive::getInstance()->getName(); $header6->populateFromArray(array('name' => 'Review Status', 'width' => '15%', 'isSortable' => false, 'sortField' => null, 'filters' => array('EnumCellFilter' => array('enum' => $reviewStatus, 'default' => ''), 'I18nCellFilter' => array()), 'elementType' => 'label', 'textAlignmentStyle' => 'left', 'elementProperty' => array('getter' => 'getStatusId'))); $reviewStatus = array(); $reviewStatus[ReviewerReviewStatusActivated::getInstance()->getStatusId()] = ReviewerReviewStatusActivated::getInstance()->getName(); $reviewStatus[ReviewerReviewStatusCompleted::getInstance()->getStatusId()] = ReviewerReviewStatusCompleted::getInstance()->getName(); $reviewStatus[ReviewerReviewStatusInProgress::getInstance()->getStatusId()] = ReviewerReviewStatusInProgress::getInstance()->getName(); $header7->populateFromArray(array('name' => 'Evaluation Status', 'width' => '15%', 'isSortable' => false, 'sortField' => null, 'filters' => array('EnumCellFilter' => array('enum' => $reviewStatus, 'default' => ''), 'I18nCellFilter' => array()), 'elementType' => 'label', 'textAlignmentStyle' => 'left', 'elementProperty' => array('getter' => array('getReviewers', 'getFirst', 'getStatus')))); $this->headers = array($header1, $header2, $header3, $header4, $header6, $header7); }
public function __toString() { $linkable = $this->getPropertyValue('linkable', true); if ($linkable instanceof sfOutputEscaperArrayDecorator || is_array($linkable)) { list($method, $params) = $linkable; $linkable = call_user_func_array(array($this->dataObject, $method), $params->getRawValue()); } if ($linkable) { $placeholderGetters = $this->getPropertyValue('placeholderGetters'); $urlPattern = $this->getPropertyValue('urlPattern'); if ($this->dataObject->getStatusId() == ReviewStatusInactive::getInstance()->getStatusId()) { $urlPattern = 'saveReview?hdnEditId={id}'; } else { $urlPattern = 'reviewEvaluateByAdmin?id={id}'; } $url = $urlPattern; foreach ($placeholderGetters as $placeholder => $getter) { $placeholderValue = is_array($this->dataObject) ? $this->dataObject[$getter] : $this->dataObject->{$getter}(); $url = preg_replace("/\\{{$placeholder}\\}/", $placeholderValue, $url); } if (preg_match('/^index.php/', $url)) { sfProjectConfiguration::getActive()->loadHelpers('Url'); $url = public_path($url, true); } $linkAttributes = array('href' => $url); if ($this->hasProperty('labelGetter')) { $label = $this->getValue('labelGetter'); } else { $label = $this->getPropertyValue('label', 'Undefined'); } if ($this->dataObject->getStatusId() == ReviewStatusInactive::getInstance()->getStatusId()) { return content_tag('a', __('Edit Details'), $linkAttributes) . $this->getHiddenFieldHTML(); } else { return content_tag('a', __('Evaluate'), $linkAttributes) . $this->getHiddenFieldHTML(); } } else { return $this->toValue(); } }
protected function init() { $headerArray = array(); $header1 = new ListHeader(); $header2 = new DueDateHeader(); $header3 = new ReviewPeriodHeader(); $header4 = new ListHeader(); $header6 = new ManagePerformanceActionHeader(); $header5 = new ListHeader(); $header1->populateFromArray(array('name' => 'Employee', 'isSortable' => true, 'sortField' => 'employeeId', 'elementType' => 'label', 'elementProperty' => array('getter' => array('getEmployee', 'getFullName')))); $header2->populateFromArray(array('name' => 'Due Date', 'isSortable' => true, 'sortField' => 'due_date', 'elementType' => 'DueDate')); $header3->populateFromArray(array('name' => 'Review Period', 'isSortable' => false, 'sortField' => null, 'elementType' => 'ReviewPeriod', 'elementProperty' => array('getter' => 'getWorkPeriodStart'))); $header4->populateFromArray(array('name' => 'Work Period End Date', 'isSortable' => false, 'sortField' => null, 'elementType' => 'label', 'elementProperty' => array('getter' => 'getWorkPeriodEnd'))); $header4->populateFromArray(array('name' => 'Job Title', 'isSortable' => false, 'sortField' => null, 'elementType' => 'label', 'elementProperty' => array('getter' => array('getJobTitle', 'getJobTitle')))); $header6->populateFromArray(array('name' => 'Action', 'isSortable' => false, 'sortField' => null, 'elementType' => 'ManagePerformanceAction', 'elementProperty' => array('placeholderGetters' => array('id' => 'getId'), 'urlPattern' => 'index.php/performance/performanceReviewProgress?id={id}'))); $reviewStatus = array(); $reviewStatus[ReviewStatusActivated::getInstance()->getStatusId()] = ReviewStatusActivated::getInstance()->getName(); $reviewStatus[ReviewStatusApproved::getInstance()->getStatusId()] = ReviewStatusApproved::getInstance()->getName(); $reviewStatus[ReviewStatusInProgress::getInstance()->getStatusId()] = ReviewStatusInProgress::getInstance()->getName(); $reviewStatus[ReviewStatusInactive::getInstance()->getStatusId()] = ReviewStatusInactive::getInstance()->getName(); $header5->populateFromArray(array('name' => 'Status', 'width' => '10%', 'isSortable' => false, 'sortField' => null, 'filters' => array('EnumCellFilter' => array('enum' => $reviewStatus, 'default' => ''), 'I18nCellFilter' => array()), 'elementType' => 'label', 'textAlignmentStyle' => 'left', 'elementProperty' => array('getter' => 'getStatusId'))); $this->headers = array($header1, $header2, $header3, $header4, $header5, $header6); }
/** * * @return type */ public function saveForm($postData) { $formValues = $this->getValues(); $isSupervisorValid = true; $reviewers = array(); if ($postData['saveReview360Form']['supervisorReviewerId']) { $reviewers['supervisors'] = array($postData['saveReview360Form']['supervisorReviewerId']); } if ($formValues['reviewId'] > 0) { $review = $this->getPerformanceReviewService()->searchReview(array('id' => $formValues['reviewId'])); } else { $review = new PerformanceReview(); $isSupervisorValid = $this->isSupervisorValid($formValues['employeeId'], $postData['saveReview360Form']['supervisorReviewerId']); } if ($isSupervisorValid) { $review->setEmployeeNumber($formValues['employeeId']); $review->setWorkPeriodStart(date("Y-m-d", strtotime($formValues['workPeriodStartDate']))); $review->setWorkPeriodEnd(date("Y-m-d", strtotime($formValues['workPeriodEndDate']))); $review->setDueDate(date("Y-m-d", strtotime($formValues['dueDate']))); $employee = $this->getEmployeeService()->getEmployee($formValues['employeeId']); $review->setJobTitleCode($employee->getJobTitleCode()); $review->setDepartmentId($employee->getWorkStation()); $review->save(); $postData['reviewers'] = $reviewers; $review = $this->createReviewers($postData['reviewers'], $review); $review->save(); $this->setReview($review); if ($formValues['formAction'] == 'save') { $review->setStatusId(ReviewStatusInactive::getInstance()->getStatusId()); $review->save(); } else { if ($formValues['formAction'] == 'activate') { $review = $this->createRatings($review); $review->save(); $errorMessages = array(); $employee = $this->getEmployeeService()->getEmployee($this->getValue('employeeId')); if ($employee->getJobTitle()->getId() == null && $employee->getSubDivision()->getId() == null) { $errorMessages[] = __("Cannot activate review for employees who doesn't have Job Title and/or Sub-Division"); } if (!isset($postData['reviewers'])) { $errorMessages[] = __("Cannot activate review without reviewers"); } else { if (sizeof($review->getReviewerRating()) == 0) { $errorMessages[] = __("Cannot activate review without KPIs"); } } if (sizeof($errorMessages) == 0) { $review->setStatusId(ReviewStatusActivated::getInstance()->getStatusId()); $review->setActivatedDate(date("Y-m-d H:i:s")); $review->save(); return true; } else { $this->setTemplateMessage(implode("<br/>", $errorMessages)); $review->setStatusId(ReviewStatusInactive::getInstance()->getStatusId()); $review->save(); return false; } } } return true; } else { $errorMessages = array(); $errorMessages[] = __("Invalid Supervisor"); $this->setTemplateMessage(implode("<br/>", $errorMessages)); } }
public function testGetInstanceTest4() { $this->assertTrue(ReviewStatusInactive::getInstance() instanceof ReviewStatusInactive); }
public function getPerformanceReviewStatusAsArray($includeInactive = false) { $reviewStatus = array(); $reviewStatus[0] = 'All'; if ($includeInactive) { $reviewStatus[ReviewStatusInactive::getInstance()->getStatusId()] = ReviewStatusInactive::getInstance()->getName(); } $reviewStatus[ReviewStatusActivated::getInstance()->getStatusId()] = ReviewStatusActivated::getInstance()->getName(); $reviewStatus[ReviewStatusApproved::getInstance()->getStatusId()] = ReviewStatusApproved::getInstance()->getName(); $reviewStatus[ReviewStatusInProgress::getInstance()->getStatusId()] = ReviewStatusInProgress::getInstance()->getName(); return $reviewStatus; }