public function addAction()
 {
     $emptyFlag = 0;
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
         $loginuserUnitID = $auth->getStorage()->read()->businessunit_id;
         $loginuserDeptID = $auth->getStorage()->read()->department_id;
     }
     $employeeform = new Default_Form_Myteamemployee();
     $usersModel = new Default_Model_Users();
     $employmentstatusModel = new Default_Model_Employmentstatus();
     $busineesUnitModel = new Default_Model_Businessunits();
     $user_model = new Default_Model_Usermanagement();
     $candidate_model = new Default_Model_Candidatedetails();
     $role_model = new Default_Model_Roles();
     $jobtitlesModel = new Default_Model_Jobtitles();
     $prefixModel = new Default_Model_Prefix();
     $msgarray = array();
     $identity_code_model = new Default_Model_Identitycodes();
     $identity_codes = $identity_code_model->getIdentitycodesRecord();
     $emp_identity_code = isset($identity_codes[0]) ? $identity_codes[0]['employee_code'] : "";
     if ($emp_identity_code != '') {
         $emp_id = $emp_identity_code . str_pad($user_model->getMaxEmpId($emp_identity_code), 4, '0', STR_PAD_LEFT);
     } else {
         $emp_id = '';
         $msgarray['employeeId'] = 'Identity codes are not configured yet.';
     }
     $employeeform->employeeId->setValue($emp_id);
     $employeeform->modeofentry->setValue('Direct');
     $roles_arr = $role_model->getRolesListByGroupID(EMPLOYEE_GROUP);
     if (sizeof($roles_arr) > 0) {
         $employeeform->emprole->addMultiOptions(array('' => 'Select Role') + $roles_arr);
     } else {
         $employeeform->emprole->addMultiOptions(array('' => 'Select Role'));
         $msgarray['emprole'] = 'Roles are not configured yet.';
     }
     $employmentStatusData = $employmentstatusModel->getempstatusActivelist();
     $employeeform->emp_status_id->addMultiOption('', 'Select Employment Status');
     if (!empty($employmentStatusData)) {
         foreach ($employmentStatusData as $employmentStatusres) {
             $employeeform->emp_status_id->addMultiOption($employmentStatusres['workcodename'], $employmentStatusres['statusname']);
         }
     } else {
         $msgarray['emp_status_id'] = 'Employment status is not configured yet.';
         $emptyFlag++;
     }
     $businessunitData = $busineesUnitModel->getDeparmentList();
     if (!empty($businessunitData)) {
         foreach ($businessunitData as $businessunitres) {
             if ($businessunitres['id'] == $loginuserUnitID) {
                 $employeeform->businessunit_id->addMultiOption($businessunitres['id'], $businessunitres['unitname']);
             }
         }
         $departmentsmodel = new Default_Model_Departments();
         $loginUserdepartmentData = $departmentsmodel->getSingleDepartmentData($loginuserDeptID);
         $totalDeptList = $departmentsmodel->getTotalDepartmentList();
         $employeeform->department_id->clearMultiOptions();
         if (count($loginUserdepartmentData) > 0) {
             $employeeform->department_id->addMultiOption($loginUserdepartmentData['id'], utf8_encode($loginUserdepartmentData['deptname']));
         }
         if (empty($totalDeptList)) {
             $msgarray['department_id'] = 'Departments are not added yet.';
         }
     } else {
         $msgarray['businessunit_id'] = 'Business units are not added yet.';
         $emptyFlag++;
     }
     $jobtitleData = $jobtitlesModel->getJobTitleList();
     $employeeform->jobtitle_id->addMultiOption('', 'Select Job Title');
     if (!empty($jobtitleData)) {
         foreach ($jobtitleData as $jobtitleres) {
             $employeeform->jobtitle_id->addMultiOption($jobtitleres['id'], $jobtitleres['jobtitlename']);
         }
     } else {
         $msgarray['jobtitle_id'] = 'Job titles are not configured yet.';
         $msgarray['position_id'] = 'Positions are not configured yet.';
         $emptyFlag++;
     }
     $prefixData = $prefixModel->getPrefixList();
     $employeeform->prefix_id->addMultiOption('', 'Select Prefix');
     if (!empty($prefixData)) {
         foreach ($prefixData as $prefixres) {
             $employeeform->prefix_id->addMultiOption($prefixres['id'], $prefixres['prefix']);
         }
     } else {
         $msgarray['prefix_id'] = 'Prefixes are not configured yet.';
         $emptyFlag++;
     }
     $userData = $usersModel->getUserDetails($loginUserId);
     if (count($userData) > 0) {
         $employeeform->reporting_manager->addMultiOption($userData[0]['id'], $userData[0]['userfullname']);
     }
     $employeeform->setAttrib('action', DOMAIN . 'myemployees/add');
     $this->view->form = $employeeform;
     $this->view->msgarray = $msgarray;
     $this->view->emptyFlag = $emptyFlag++;
     if ($this->getRequest()->getPost()) {
         $result = $this->save($employeeform);
         $this->view->msgarray = $result;
         $this->view->messages = $result;
     }
 }
Exemple #2
0
 public static function getbudeptname($appraisalid)
 {
     $appInitModel = new Default_Model_Appraisalinit();
     $businessunitmodel = new Default_Model_Businessunits();
     $deptmodel = new Default_Model_Departments();
     $buname = '';
     $deptname = '';
     $perf_impl_flag = '';
     $appraisaldataArr = array();
     if ($appraisalid) {
         $appraisaldataArr = $appInitModel->getAppDataById($appraisalid);
         if (!empty($appraisaldataArr)) {
             if ($appraisaldataArr['businessunit_id'] != '') {
                 $buDataArr = $businessunitmodel->getSingleUnitData($appraisaldataArr['businessunit_id']);
                 // $perfimplementation = $appInitModel->check_performance_implmentation($appraisaldataArr['businessunit_id']);
                 if (!empty($buDataArr)) {
                     $buname = $buDataArr['unitname'];
                 }
                 /*if(!empty($perfimplementation))
                 		{
                 			$perf_impl_flag = $perfimplementation['performance_app_flag'];
                 		}*/
                 $perf_impl_flag = isset($appraisaldataArr['performance_app_flag']) ? $appraisaldataArr['performance_app_flag'] : 1;
             }
             if ($perf_impl_flag == 0) {
                 if ($appraisaldataArr['department_id'] != '') {
                     $deptArr = $deptmodel->getSingleDepartmentData($appraisaldataArr['department_id']);
                 }
                 if (!empty($deptArr)) {
                     $deptname = $deptArr['deptname'];
                 }
             }
         }
     }
     return array('buname' => $buname, 'deptname' => $deptname, 'perf_app_flag' => $perf_impl_flag, 'appdata' => $appraisaldataArr);
 }
 public function editpopupAction()
 {
     Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/");
     $orgInfoModel = new Default_Model_Organisationinfo();
     $getorgData = $orgInfoModel->getorgrecords();
     $deptModel = new Default_Model_Departments();
     if (!empty($getorgData)) {
         $orgdata = '';
         $auth = Zend_Auth::getInstance();
         if ($auth->hasIdentity()) {
             $loginUserId = $auth->getStorage()->read()->id;
         }
         $msgarray = array();
         $flag = 'true';
         $bunitid = $this->getRequest()->getParam('unitId');
         $id = intVal($this->getRequest()->getParam('id'));
         $countriesModel = new Default_Model_Countries();
         $statesmodel = new Default_Model_States();
         $citiesmodel = new Default_Model_Cities();
         $timezonemodel = new Default_Model_Timezone();
         $businessunitsmodel = new Default_Model_Businessunits();
         $allTimezoneData = $timezonemodel->fetchAll('isactive=1', 'timezone')->toArray();
         $allCountriesData = $countriesModel->fetchAll('isactive=1', 'country')->toArray();
         $allStatesData = $statesmodel->fetchAll('isactive=1', 'state')->toArray();
         $allCitiesData = $citiesmodel->fetchAll('isactive=1', 'city')->toArray();
         $allBusinessunitsData = $businessunitsmodel->fetchAll('isactive=1', 'unitname')->toArray();
         $deptModel = new Default_Model_Departments();
         $deptform = new Default_Form_departments();
         $deptform->setAction(BASE_URL . 'departments/editpopup/id/' . $id . '/unitId/' . $bunitid);
         $country = $getorgData[0]['country'];
         if (isset($_POST['country'])) {
             $country = $_POST['country'];
         }
         $state = $getorgData[0]['state'];
         if (isset($_POST['state'])) {
             $state = $_POST['state'];
         }
         $city = $getorgData[0]['city'];
         if (isset($_POST['city'])) {
             $city = $_POST['city'];
         }
         $address = $getorgData[0]['address1'];
         //department head data
         $managementUsersData = $deptModel->getDepartmenttHead('');
         foreach ($managementUsersData as $mgmtdata) {
             $deptform->depthead->addMultiOption($mgmtdata['user_id'], $mgmtdata['userfullname']);
         }
         if (isset($country) && $country != 0 && $country != '') {
             $deptform->setDefault('country', $country);
             $statesData = $statesmodel->getBasicStatesList($country);
             foreach ($statesData as $res) {
                 $deptform->state->addMultiOption($res['state_id_org'], utf8_encode($res['state']));
             }
             if (isset($state) && $state != 0 && $state != '') {
                 $deptform->setDefault('state', $state);
             }
         }
         if (isset($state) && $state != 0 && $state != '') {
             $citiesData = $citiesmodel->getBasicCitiesList($state);
             foreach ($citiesData as $res) {
                 $deptform->city->addMultiOption($res['city_org_id'], utf8_encode($res['city']));
             }
             if (isset($city) && $city != 0 && $city != '') {
                 $deptform->setDefault('city', $city);
             }
         }
         if (isset($address) && $address != '') {
             $deptform->address1->setValue($address);
         }
         $close = '';
         $controllername = 'departments';
         $deptData = array();
         if ($id) {
             $data = $deptModel->getSingleDepartmentData($id);
             if (!empty($data)) {
                 $deptform->populate($data);
                 $deptform->submit->setLabel('Update');
                 $st_date = sapp_Global::change_date($data['startdate'], 'view');
                 $deptform->setDefault('start_date', $st_date);
                 $deptform->setDefault('start_date', $st_date);
                 $deptform->state->clearMultiOptions();
                 $deptform->city->clearMultiOptions();
                 $countryId = $data['country'];
                 if (isset($_POST['country'])) {
                     $countryId = $_POST['country'];
                 }
                 $stateId = $data['state'];
                 if (isset($_POST['state'])) {
                     $stateId = $_POST['state'];
                 }
                 $cityId = $data['city'];
                 if (isset($_POST['city'])) {
                     $cityId = $_POST['city'];
                 }
                 if ($countryId != '') {
                     $statesmodel = new Default_Model_States();
                     $statesData = $statesmodel->getBasicStatesList($countryId);
                     foreach ($statesData as $res) {
                         $deptform->state->addMultiOption($res['state_id_org'], utf8_encode($res['state']));
                     }
                 }
                 if ($stateId != '') {
                     $citiesmodel = new Default_Model_Cities();
                     $citiesData = $citiesmodel->getBasicCitiesList($stateId);
                     foreach ($citiesData as $res) {
                         $deptform->city->addMultiOption($res['city_org_id'], utf8_encode($res['city']));
                     }
                 }
                 $deptform->setDefault('country', $countryId);
                 $deptform->setDefault('state', $stateId);
                 $deptform->setDefault('city', $cityId);
                 $this->view->ermsg = '';
                 $this->view->datarr = $data;
             } else {
                 $this->view->ermsg = 'nodata';
             }
         }
         $bname = $deptModel->getbusinessunitname($bunitid);
         $this->view->bunitname = $bname;
         $this->view->deptData = sizeof($deptData);
         $this->view->form = $deptform;
         $this->view->unitid = $bunitid;
         $this->view->controllername = $controllername;
         if (!empty($allBusinessunitsData) && !empty($allCountriesData) && !empty($allStatesData) && !empty($allCitiesData) && !empty($allTimezoneData)) {
             $this->view->configuremsg = '';
         } else {
             $this->view->configuremsg = 'notconfigurable';
         }
         if (empty($allCountriesData)) {
             $msgarray['country'] = 'Countries are not configured yet.';
             $flag = 'false';
         }
         if (empty($allStatesData)) {
             $msgarray['state'] = 'States are not configured yet.';
             $flag = 'false';
         }
         if (empty($allCitiesData)) {
             $msgarray['city'] = 'Cities are not configured yet.';
             $flag = 'false';
         }
         if (empty($allTimezoneData)) {
             $msgarray['timezone'] = 'Time zones are not configured yet.';
             $flag = 'false';
         }
         $this->view->msgarray = $msgarray;
         if ($this->getRequest()->getPost()) {
             if ($deptform->isValid($this->_request->getPost()) && $flag == 'true') {
                 $deptname = $this->_request->getParam('deptname');
                 $deptcode = $this->_request->getParam('deptcode');
                 $description = $this->_request->getParam('description');
                 $start_date = $this->_request->getParam('start_date', null);
                 $start_date = sapp_Global::change_date($start_date, 'database');
                 $country = $this->_request->getParam('country');
                 $state = intval($this->_request->getParam('state'));
                 $city = intval($this->_request->getParam('city'));
                 $address1 = $this->_request->getParam('address1');
                 $address2 = $this->_request->getParam('address2');
                 $address3 = $this->_request->getParam('address3');
                 $unitid = $this->_request->getParam('unitid');
                 $timezone = $this->_request->getParam('timezone');
                 $depthead = $this->_request->getParam('depthead');
                 if (!isset($unitid) || $unitid == '') {
                     $unitid = $bunitid;
                 }
                 $deptcodeExistance = $deptModel->checkCodeDuplicates($deptcode, $id);
                 if (!$deptcodeExistance) {
                     $date = new Zend_Date();
                     $actionflag = '';
                     $tableid = '';
                     $data = array('deptname' => trim($deptname), 'deptcode' => trim($deptcode), 'description' => trim($description), 'startdate' => $start_date != '' ? $start_date : NULL, 'country' => trim($country), 'state' => trim($state), 'city' => trim($city), 'address1' => trim($address1), 'address2' => trim($address2), 'address3' => trim($address3), 'timezone' => trim($timezone), 'unitid' => $unitid, 'depthead' => trim($depthead), 'modifiedby' => $loginUserId, 'modifieddate' => $date->get('yyyy-MM-dd HH:mm:ss'));
                     if ($id != '') {
                         $where = array('id=?' => $id);
                         $actionflag = 2;
                     } else {
                         $data['createdby'] = $loginUserId;
                         $data['createddate'] = $date->get('yyyy-MM-dd HH:mm:ss');
                         $data['isactive'] = 1;
                         $where = '';
                         $actionflag = 1;
                     }
                     $Id = $deptModel->SaveorUpdateDepartmentsUnits($data, $where);
                     if ($Id == 'update') {
                         $this->view->eventact = 'updated';
                         $tableid = $id;
                     } else {
                         $this->view->eventact = 'added';
                         $tableid = $Id;
                     }
                     $menuID = DEPARTMENTS;
                     $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
                     Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/");
                     $close = 'close';
                     $this->view->popup = $close;
                     $this->view->controllername = $controllername;
                 } else {
                     $msgarray['message'] = 'A Department, with the given code, already exists.';
                     $msgarray['msgtype'] = 'error';
                     $this->view->messages = $msgarray;
                 }
             } else {
                 $messages = $deptform->getMessages();
                 foreach ($messages as $key => $val) {
                     foreach ($val as $key2 => $val2) {
                         $msgarray[$key] = $val2;
                         break;
                     }
                     if (empty($allCountriesData)) {
                         $msgarray['country'] = 'Countries are not configured yet.';
                     }
                     if (empty($allStatesData)) {
                         $msgarray['state'] = 'States are not configured yet.';
                     }
                     if (empty($allCitiesData)) {
                         $msgarray['city'] = 'Cities are not configured yet.';
                     }
                     if (empty($allTimezoneData)) {
                         $msgarray['timezone'] = 'Time zones are not configured yet.';
                     }
                 }
                 $this->view->msgarray = $msgarray;
             }
         }
     } else {
         $orgdata = 'noorgdata';
         $this->view->orgdata = $orgdata;
     }
 }
 /**
  * 
  * Edit function to prepopulate the data.
  * 
  */
 public function editAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $id = $this->getRequest()->getParam('id');
     $callval = $this->getRequest()->getParam('call');
     if ($callval == 'ajaxcall') {
         $this->_helper->layout->disableLayout();
     }
     $appraisalconfigform = new Default_Form_Appraisalconfig();
     $bunitModel = new Default_Model_Businessunits();
     $appraisalconfigmodel = new Default_Model_Appraisalconfig();
     $departmentsmodel = new Default_Model_Departments();
     $msgarray = array();
     $appraisalconfigform->submit->setLabel('Update');
     try {
         if ($id) {
             if (is_numeric($id) && $id > 0) {
                 /** to show/hide edit button **/
                 $chkFlagForEdit = $appraisalconfigmodel->checkInitializationData($id);
                 $this->view->chkFlagForEdit = $chkFlagForEdit;
                 if (empty($chkFlagForEdit)) {
                     $data = $appraisalconfigmodel->getAppraisalConfigbyID($id);
                     if (!empty($data)) {
                         $data = $data[0];
                         if ($data['department_id'] != '' && $data['department_id'] != 'NULL') {
                             $deptdata = $departmentsmodel->getSingleDepartmentData($data['department_id']);
                             if (sizeof($deptdata) > 0) {
                                 $appraisalconfigform->department_id->addMultiOption($deptdata['id'], utf8_encode($deptdata['deptname']));
                             }
                         }
                         $bunitData = $bunitModel->getSingleUnitData($data['businessunit_id']);
                         if (!empty($bunitData)) {
                             $appraisalconfigform->businessunit_id->addMultiOption($bunitData['id'], utf8_encode($bunitData['unitname']));
                         }
                         if ($data['department_id'] != '' && $data['department_id'] != 'NULL') {
                             $departmentlistArr = $departmentsmodel->getDepartmentList($data['businessunit_id']);
                             $departmentlistArr = $departmentsmodel->getSingleDepartmentData($data['department_id']);
                         } else {
                             $departmentlistArr = array();
                         }
                         // Disable 'Business unit wise' option when 'No Business Unit' was selected
                         if ($data["businessunit_id"] == 0) {
                             $appraisalconfigform->performance_app_flag->setOptions(array('disable' => array(1)));
                         }
                         $appraisalconfigform->populate($data);
                         $appraisalconfigform->setDefault('businessunit_id', $data['businessunit_id']);
                         if (sizeof($departmentlistArr) > 0) {
                             $appraisalconfigform->setDefault('department_id', $data['department_id']);
                         }
                         $this->view->performance_app_flag = $data['performance_app_flag'];
                         $appraisalconfigform->setAttrib('action', DOMAIN . 'appraisalconfig/edit/id/' . $id);
                         $this->view->data = $data;
                         /****
                         			
                         			$chk_cnt = $appraisalconfigmodel->check_act_init($id);
                         			$this->view->chk_cnt = $chk_cnt;
                         			if($chk_cnt > 0)
                         			{
                         				$appraisalconfigform->businessunit_id->setAttrib("disabled", "disabled");
                         				$appraisalconfigform->performance_app_flag->setAttrib("disabled", "disabled");
                         				$appraisalconfigform->department_id->setAttrib("disabled", "disabled");
                         				$appraisalconfigform->appraisal_mode->setAttrib("disabled", "disabled");
                         				$appraisalconfigform->appraisal_ratings->setAttrib("disabled", "disabled"); //added on 13-04-2015 by soujanya
                         			}
                         			
                         			*****/
                     } else {
                         $this->view->ermsg = 'norecord';
                     }
                 } else {
                     $this->view->ermsg = 'noedit';
                 }
             } else {
                 $this->view->ermsg = 'norecord';
             }
         } else {
             $this->view->ermsg = 'nodata';
         }
     } catch (Exception $e) {
         $this->view->ermsg = 'nodata';
     }
     $this->view->form = $appraisalconfigform;
     if ($this->getRequest()->getPost()) {
         $result = $this->save($appraisalconfigform);
         $this->view->msgarray = $result;
     }
     $this->render('form');
 }
 /**
  * 
  * Edit function to prepopulate the data.
  * In this action service desk id, department, request recievers, cc mail recivers and approver list is populated.
  */
 public function editAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $id = $this->getRequest()->getParam('id');
     $callval = $this->getRequest()->getParam('call');
     if ($callval == 'ajaxcall') {
         $this->_helper->layout->disableLayout();
     }
     $appraisalconfigform = new Default_Form_Appraisalconfig();
     $bunitModel = new Default_Model_Businessunits();
     $appraisalconfigmodel = new Default_Model_Appraisalconfig();
     $departmentsmodel = new Default_Model_Departments();
     $msgarray = array();
     $appraisalconfigform->submit->setLabel('Update');
     try {
         if ($id) {
             if (is_numeric($id) && $id > 0) {
                 $data = $appraisalconfigmodel->getAppraisalConfigbyID($id);
                 if (!empty($data)) {
                     $data = $data[0];
                     if ($data['department_id'] != '' && $data['department_id'] != 'NULL') {
                         $deptdata = $departmentsmodel->getSingleDepartmentData($data['department_id']);
                         if (sizeof($deptdata) > 0) {
                             $appraisalconfigform->department_id->addMultiOption($deptdata['id'], utf8_encode($deptdata['deptname']));
                         }
                     }
                     $bunitData = $bunitModel->getSingleUnitData($data['businessunit_id']);
                     if (!empty($bunitData)) {
                         $appraisalconfigform->businessunit_id->addMultiOption($bunitData['id'], utf8_encode($bunitData['unitname']));
                     }
                     if ($data['department_id'] != '' && $data['department_id'] != 'NULL') {
                         $departmentlistArr = $departmentsmodel->getDepartmentList($data['businessunit_id']);
                         $departmentlistArr = $departmentsmodel->getSingleDepartmentData($data['department_id']);
                     } else {
                         $departmentlistArr = array();
                     }
                     $appraisalconfigform->populate($data);
                     $appraisalconfigform->setDefault('businessunit_id', $data['businessunit_id']);
                     if (sizeof($departmentlistArr) > 0) {
                         $appraisalconfigform->setDefault('department_id', $data['department_id']);
                     }
                     $this->view->performance_app_flag = $data['performance_app_flag'];
                     $appraisalconfigform->setAttrib('action', DOMAIN . 'appraisalconfig/edit/id/' . $id);
                     $this->view->data = $data;
                     $appraisalconfigform->businessunit_id->setAttrib("disabled", "disabled");
                     $appraisalconfigform->performance_app_flag->setAttrib("disabled", "disabled");
                     $appraisalconfigform->department_id->setAttrib("disabled", "disabled");
                     $appraisalconfigform->appraisal_mode->setAttrib("disabled", "disabled");
                     //$approval_selection_edit = $appraisalconfigmodel->checkEnablestatus($businessunit_id,$performance_app_flag,$department_id);
                     $appraisalconfigform->approval_selection->setAttrib("disabled", "disabled");
                 } else {
                     $this->view->ermsg = 'norecord';
                 }
             } else {
                 $this->view->ermsg = 'norecord';
             }
         } else {
             $this->view->ermsg = 'nodata';
         }
     } catch (Exception $e) {
         $this->view->ermsg = 'nodata';
     }
     $this->view->form = $appraisalconfigform;
     //echo "<pre>";print_r($appraisalconfigform);echo "</pre>";
     if ($this->getRequest()->getPost()) {
         $result = $this->save($appraisalconfigform);
         $this->view->msgarray = $result;
     }
     $this->render('form');
 }
 public function buildoptions($businessUnitId, $departmentId, $performanceappflag)
 {
     $businessunitmodel = new Default_Model_Businessunits();
     $deptmodel = new Default_Model_Departments();
     $deptOptions = '';
     $buDataArr = $businessunitmodel->getSingleUnitData($businessUnitId);
     if (!empty($buDataArr)) {
         $buOptions = "<option value=" . $buDataArr['id'] . ">" . utf8_encode($buDataArr['unitname']) . "</option>";
     }
     if ($performanceappflag == 0) {
         if ($departmentId != '') {
             $deptArr = $deptmodel->getSingleDepartmentData($departmentId);
         }
     }
     if (!empty($deptArr)) {
         $deptOptions = "<option value=" . $deptArr['id'] . ">" . utf8_encode($deptArr['deptname']) . "</option>";
     }
     return array('buoptions' => $buOptions, 'deptoptions' => $deptOptions);
 }
 /**
  * 
  * Edit function to prepopulate the data.
  * In this action service desk id, department, request recievers, cc mail recivers and approver list is populated.
  */
 public function editAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $id = $this->getRequest()->getParam('id');
     $callval = $this->getRequest()->getParam('call');
     if ($callval == 'ajaxcall') {
         $this->_helper->layout->disableLayout();
     }
     $servicedeskconfform = new Default_Form_servicedeskconf();
     $bunitModel = new Default_Model_Businessunits();
     $servicedeskconfmodel = new Default_Model_Servicedeskconf();
     $servicedeskdepartmentmodel = new Default_Model_Servicedeskdepartment();
     $departmentsmodel = new Default_Model_Departments();
     $employeemodel = new Default_Model_Employee();
     $approvingauthflag = '';
     $msgarray = array();
     $emparray = array();
     $empstring = '';
     $servicedeskconfform->submit->setLabel('Update');
     try {
         if ($id) {
             if (is_numeric($id) && $id > 0) {
                 $data = $servicedeskconfmodel->getServiceDeskConfbyID($id);
                 if (!empty($data)) {
                     $data = $data[0];
                     $bunitData = $bunitModel->getSingleUnitData($data['businessunit_id']);
                     if (!empty($bunitData)) {
                         $servicedeskconfform->businessunit_id->addMultiOption($bunitData['id'], utf8_encode($bunitData['unitname']));
                     }
                     $employeeData = $employeemodel->getEmployeesForServiceDesk($data['businessunit_id'], $data['department_id']);
                     $serviceDeptData = $servicedeskdepartmentmodel->getServiceDeskDepartmentDatabyID($data['service_desk_id']);
                     if ($data['department_id'] != '' && $data['department_id'] != 'NULL') {
                         $departmentlistArr = $departmentsmodel->getSingleDepartmentData($data['department_id']);
                     } else {
                         $departmentlistArr = array();
                     }
                     if (!empty($employeeData)) {
                         foreach ($employeeData as $empRes) {
                             $emparray[$empRes['user_id']] = $empRes['userfullname'];
                         }
                         if (!empty($emparray)) {
                             $servicedeskconfform->request_recievers->setMultiOptions($emparray);
                             $servicedeskconfform->cc_mail_recievers->setMultiOptions($emparray);
                         }
                     }
                     if (sizeof($serviceDeptData) > 0) {
                         if (sizeof($serviceDeptData) > 0) {
                             $servicedeskconfform->service_desk_id->addMultiOption($serviceDeptData[0]['id'], utf8_encode($serviceDeptData[0]['service_desk_name']));
                         }
                     }
                     if (sizeof($departmentlistArr) > 0) {
                         $servicedeskconfform->department_id->addMultiOption($departmentlistArr['id'], utf8_encode($departmentlistArr['deptname']));
                     }
                     if ($data['approver_1'] != '' && $data['approver_1'] != 'NULL') {
                         if ($data['approver_2'] != '' && $data['approver_2'] != 'NULL') {
                             $empstring = $data['approver_2'];
                         }
                         if ($data['approver_3'] != '' && $data['approver_3'] != 'NULL') {
                             $empstring .= ',' . $data['approver_3'];
                         }
                         $approver1data = $employeemodel->getApproverForServiceDesk($data['businessunit_id'], $data['department_id'], $empstring);
                         if (sizeof($approver1data) > 0) {
                             foreach ($approver1data as $approver1res) {
                                 $servicedeskconfform->approver_1->addMultiOption($approver1res['user_id'], utf8_encode($approver1res['userfullname']));
                             }
                         }
                         $approvingauthflag = 1;
                     }
                     if ($data['approver_2'] != '' && $data['approver_2'] != 'NULL') {
                         if ($data['approver_1'] != '' && $data['approver_1'] != 'NULL') {
                             $empstring = $data['approver_1'];
                         }
                         if ($data['approver_3'] != '' && $data['approver_3'] != 'NULL') {
                             $empstring .= ',' . $data['approver_3'];
                         }
                         $approver2data = $employeemodel->getApproverForServiceDesk($data['businessunit_id'], $data['department_id'], $empstring);
                         if (sizeof($approver2data) > 0) {
                             foreach ($approver2data as $approver2res) {
                                 $servicedeskconfform->approver_2->addMultiOption($approver2res['user_id'], utf8_encode($approver2res['userfullname']));
                             }
                         }
                         $approvingauthflag = 2;
                     }
                     if ($data['approver_3'] != '' && $data['approver_3'] != 'NULL') {
                         if ($data['approver_1'] != '' && $data['approver_1'] != 'NULL') {
                             $empstring = $data['approver_1'];
                         }
                         if ($data['approver_2'] != '' && $data['approver_2'] != 'NULL') {
                             $empstring .= ',' . $data['approver_2'];
                         }
                         $approver3data = $employeemodel->getApproverForServiceDesk($data['businessunit_id'], $data['department_id'], $empstring);
                         if (sizeof($approver3data) > 0) {
                             foreach ($approver3data as $approver3res) {
                                 $servicedeskconfform->approver_3->addMultiOption($approver3res['user_id'], utf8_encode($approver3res['userfullname']));
                             }
                         }
                         $approvingauthflag = 3;
                     }
                     $servicedeskconfform->populate($data);
                     $servicedeskconfform->setDefault('businessunit_id', $data['businessunit_id']);
                     $servicedeskconfform->setDefault('approvingauthority', $approvingauthflag);
                     if (sizeof($departmentlistArr) > 0) {
                         $servicedeskconfform->setDefault('department_id', $data['department_id']);
                     }
                     if ($data['approver_1'] != '' && $data['approver_1'] != 'NULL') {
                         $servicedeskconfform->setDefault('approver_1', $data['approver_1']);
                     }
                     if ($data['approver_2'] != '' && $data['approver_2'] != 'NULL') {
                         $servicedeskconfform->setDefault('approver_2', $data['approver_2']);
                     }
                     if ($data['approver_3'] != '' && $data['approver_3'] != 'NULL') {
                         $servicedeskconfform->setDefault('approver_3', $data['approver_3']);
                     }
                     $this->view->approvingauthflag = $approvingauthflag;
                     $this->view->service_desk_flag = $data['service_desk_flag'];
                     $this->view->request_recievers_value = $data['request_recievers'];
                     $this->view->cc_mail_recievers_value = $data['cc_mail_recievers'] != '' ? $data['cc_mail_recievers'] : '';
                     $servicedeskconfform->setAttrib('action', DOMAIN . 'servicedeskconf/edit/id/' . $id);
                     $this->view->data = $data;
                     $servicedeskconfform->businessunit_id->setAttrib("disabled", "disabled");
                     $servicedeskconfform->service_desk_flag->setAttrib("disabled", "disabled");
                     $servicedeskconfform->department_id->setAttrib("disabled", "disabled");
                     $servicedeskconfform->service_desk_id->setAttrib("disabled", "disabled");
                 } else {
                     $this->view->ermsg = 'norecord';
                 }
             } else {
                 $this->view->ermsg = 'norecord';
             }
         } else {
             $this->view->ermsg = 'nodata';
         }
     } catch (Exception $e) {
         $this->view->ermsg = 'nodata';
     }
     $this->view->form = $servicedeskconfform;
     if ($this->getRequest()->getPost()) {
         $result = $this->save($servicedeskconfform);
         $this->view->msgarray = $result;
     }
     $this->render('form');
 }
 public function viewpopupAction()
 {
     Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/");
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $id = $this->getRequest()->getParam('id');
     if ($id == '') {
         $id = $loginUserId;
     }
     $callval = $this->getRequest()->getParam('call');
     if ($callval == 'ajaxcall') {
         $this->_helper->layout->disableLayout();
     }
     $objName = 'empjobhistory';
     $empjobhistoryform = new Default_Form_empjobhistory();
     $empjobhistoryModel = new Default_Model_Empjobhistory();
     $employeeModel = new Default_Model_Employee();
     $positionModel = new Default_Model_Positions();
     $departmentModel = new Default_Model_Departments();
     $jobtitleModel = new Default_Model_Jobtitles();
     $empjobhistoryform->removeElement("submit");
     $elements = $empjobhistoryform->getElements();
     $clientsModel = new Timemanagement_Model_Clients();
     if (count($elements) > 0) {
         foreach ($elements as $key => $element) {
             if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") {
                 $element->setAttrib("disabled", "disabled");
             }
         }
     }
     if ($id) {
         $data = $empjobhistoryModel->getsingleEmpJobHistoryData($id);
         if (!empty($data)) {
             $positionheldArr = 'norows';
             if (is_numeric($data[0]['positionheld'])) {
                 $positionheldArr = $positionModel->getsinglePositionData($data[0]['positionheld']);
             }
             if ($positionheldArr != 'norows') {
                 $empjobhistoryform->positionheld->addMultiOption($positionheldArr[0]['id'], $positionheldArr[0]['positionname']);
             }
             $departmentArr = array();
             if (is_numeric($data[0]['department'])) {
                 $departmentArr = $departmentModel->getSingleDepartmentData($data[0]['department']);
             }
             if (!empty($departmentArr)) {
                 $empjobhistoryform->department->addMultiOption($departmentArr['id'], $departmentArr['deptname']);
             }
             $jobtitleArr = 'norows';
             if (is_numeric($data[0]['jobtitleid'])) {
                 $jobtitleArr = $jobtitleModel->getsingleJobTitleData($data[0]['jobtitleid']);
             }
             if ($jobtitleArr != 'norows') {
                 $empjobhistoryform->jobtitleid->addMultiOption($jobtitleArr[0]['id'], $jobtitleArr[0]['jobtitlename']);
             }
             $clientsArr = array();
             if (is_numeric($data[0]['client_id'])) {
                 $clientsArr = $clientsModel->getClientDetailsById($data[0]['client_id']);
             }
             if (!empty($clientsArr)) {
                 $empjobhistoryform->client->addMultiOption($clientsArr[0]['id'], $clientsArr[0]['client_name']);
             }
             $empjobhistoryform->populate($data[0]);
             if (isset($data[0]['start_date']) && $data[0]['start_date'] != '') {
                 $start_date = sapp_Global::change_date($data[0]['start_date'], 'view');
                 $empjobhistoryform->start_date->setValue($start_date);
             }
             if (isset($data[0]['end_date']) && $data[0]['end_date'] != '') {
                 $end_date = sapp_Global::change_date($data[0]['end_date'], 'view');
                 $empjobhistoryform->end_date->setValue($end_date);
             }
         }
         $this->view->controllername = $objName;
         $this->view->id = $id;
         $this->view->form = $empjobhistoryform;
     }
 }