1<?php 2 3/** 4 * OrangeHRM is a comprehensive Human Resource Management (HRM) System that captures 5 * all the essential functionalities required for any enterprise. 6 * Copyright (C) 2006 OrangeHRM Inc., http://www.orangehrm.com 7 * 8 * OrangeHRM is free software; you can redistribute it and/or modify it under the terms of 9 * the GNU General Public License as published by the Free Software Foundation; either 10 * version 2 of the License, or (at your option) any later version. 11 * 12 * OrangeHRM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 * See the GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License along with this program; 17 * if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 * Boston, MA 02110-1301, USA 19 */ 20 21/** 22 * Description of SearchReviewListConfigurationFactory 23 * 24 */ 25class SearchReviewListConfigurationFactory extends ohrmListConfigurationFactory { 26 27 protected function init() { 28 29 $headerArray = array(); 30 $header1 = new ListHeader(); 31 $header2 = new DueDateHeader(); 32 $header3 = new ReviewPeriodHeader(); 33 $header4 = new ListHeader(); 34 $header6 = new ManagePerformanceActionHeader(); 35 $header5 = new ListHeader(); 36 37 $header1->populateFromArray(array( 38 'name' => 'Employee', 39 'isSortable' => true, 40 'sortField' => 'employeeId', 41 'elementType' => 'label', 42 'elementProperty' => array('getter' => array('getEmployee', 'getFullName')), 43 )); 44 45 46 $header2->populateFromArray(array( 47 'name' => 'Due Date', 48 'isSortable' => true, 49 'sortField' => 'due_date', 50 'elementType' => 'DueDate', 51 )); 52 53 $header3->populateFromArray(array( 54 'name' => 'Review Period', 55 'isSortable' => false, 56 'sortField' => null, 57 'elementType' => 'ReviewPeriod', 58 'elementProperty' => array('getter' => 'getWorkPeriodStart'), 59 )); 60 61 $header4->populateFromArray(array( 62 'name' => 'Work Period End Date', 63 'isSortable' => false, 64 'sortField' => null, 65 'elementType' => 'label', 66 'elementProperty' => array('getter' => 'getWorkPeriodEnd'), 67 )); 68 69 70 $header4->populateFromArray(array( 71 'name' => 'Job Title', 72 'isSortable' => false, 73 'sortField' => null, 74 'elementType' => 'label', 75 'elementProperty' => array('getter' => array('getJobTitle', 'getJobTitle')), 76 )); 77 78 $header6->populateFromArray(array( 79 'name' => 'Action', 80 'isSortable' => false, 81 'sortField' => null, 82 'elementType' => 'ManagePerformanceAction', 83 'elementProperty' => array( 84 'placeholderGetters' => array('id' => 'getId'), 85 'urlPattern' => 'index.php/performance/performanceReviewProgress?id={id}'), 86 )); 87 88 $reviewStatus = array(); 89 $reviewStatus [ReviewStatusActivated::getInstance()->getStatusId()] = ReviewStatusActivated::getInstance()->getName(); 90 $reviewStatus [ReviewStatusApproved::getInstance()->getStatusId()] = ReviewStatusApproved::getInstance()->getName(); 91 $reviewStatus [ReviewStatusInProgress::getInstance()->getStatusId()] = ReviewStatusInProgress::getInstance()->getName(); 92 $reviewStatus [ReviewStatusInactive::getInstance()->getStatusId()] = ReviewStatusInactive::getInstance()->getName(); 93 94 $header5->populateFromArray(array( 95 'name' => 'Status', 96 'width' => '10%', 97 'isSortable' => false, 98 'sortField' => null, 99 'filters' => array('EnumCellFilter' => array( 100 'enum' => $reviewStatus, 101 'default' => ''), 102 'I18nCellFilter' => array() 103 ), 104 'elementType' => 'label', 105 'textAlignmentStyle' => 'left', 106 'elementProperty' => array('getter' => 'getStatusId'), 107 )); 108 109 $this->headers = array($header1, $header2, $header3, $header4, $header5, $header6); 110 } 111 112 /** 113 * 114 * @return string 115 */ 116 public function getClassName() { 117 return 'ReviewList'; 118 } 119 120} 121