public function deleteAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $id = $this->_request->getParam('objid');
     $messages['message'] = '';
     $messages['msgtype'] = '';
     $messages['flagtype'] = '';
     $actionflag = 3;
     if ($id) {
         $employeeleavetypesmodel = new Default_Model_Employeeleavetypes();
         $data = array('isactive' => 0, 'modifieddate' => gmdate("Y-m-d H:i:s"));
         $where = array('id=?' => $id);
         $leave_data = $employeeleavetypesmodel->getsingleEmployeeLeavetypeData($id);
         $Id = $employeeleavetypesmodel->SaveorUpdateEmployeeLeaveTypeData($data, $where);
         if ($Id == 'update') {
             sapp_Global::send_configuration_mail("Leave Type", $leave_data[0]['leavetype']);
             $menuID = EMPLOYEELEAVETYPES;
             $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $id);
             $messages['message'] = 'Leave type deleted successfully.';
             $messages['msgtype'] = 'success';
         } else {
             $messages['message'] = 'Leave type cannot be deleted.';
             $messages['msgtype'] = 'error';
         }
     } else {
         $messages['message'] = 'Leave type cannot be deleted.';
         $messages['msgtype'] = 'error';
     }
     $this->_helper->json($messages);
 }
예제 #2
0
 public function saveLeaveTypes($hrWizardData)
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $employeeLeaveTypesModel = new Default_Model_Employeeleavetypes();
     $msgarray = array();
     $errorflag = 'true';
     $service_desk_id = $this->_request->getParam('category_id');
     $leaveTypeArr = $this->_request->getParam('leavetype');
     $numberOfDaysArr = $this->_request->getParam('numberofdays');
     if (!empty($leaveTypeArr)) {
         $leaveArr = array_count_values($leaveTypeArr);
         for ($i = 0; $i < sizeof($leaveTypeArr); $i++) {
             if ($leaveTypeArr[$i] == '') {
                 $msgarray['leave_type'][$i] = 'Please enter request type.';
                 $errorflag = 'false';
             } else {
                 if (!preg_match('/^[a-zA-Z0-9.\\- ]+$/', $leaveTypeArr[$i])) {
                     $msgarray['leave_type'][$i] = 'Please enter valid request type.';
                     $errorflag = 'false';
                 } else {
                     if ($i > 0 && $leaveArr[$leaveTypeArr[$i]] > 1) {
                         $msgarray['leave_type'][$i] = 'Please enter different leave type.';
                         $errorflag = 'false';
                     } else {
                         $duplicateLeaveType = $employeeLeaveTypesModel->checkDuplicateLeaveType($leaveTypeArr[$i]);
                         if (!empty($duplicateLeaveType)) {
                             if ($duplicateLeaveType[0]['count'] > 0) {
                                 $msgarray['leave_type'][$i] = 'Leave type already exists.';
                                 $errorflag = 'false';
                             }
                         }
                     }
                 }
             }
             if ($numberOfDaysArr[$i] == '') {
                 $msgarray['leave_type'][$i] = 'Please enter number of days.';
                 $errorflag = 'false';
             } else {
                 if (!preg_match('/^[0-9]+$/', $numberOfDaysArr[$i])) {
                     $msgarray['leave_type'][$i] = 'Please enter only number.';
                     $errorflag = 'false';
                 }
             }
         }
         $msgarray['leavetypesize'] = sizeof($leaveTypeArr);
     }
     if ($errorflag == 'true') {
         try {
             $actionflag = 1;
             $tableid = '';
             $where = '';
             for ($i = 0; $i < sizeof($leaveTypeArr); $i++) {
                 if (strlen(trim($leaveTypeArr[$i])) > 3) {
                     $leaveCode = strtoupper(substr(trim($leaveTypeArr[$i]), 0, 4));
                 } else {
                     $leaveCode = strtoupper(trim($leaveTypeArr[$i]));
                 }
                 $data = array('leavetype' => $leaveTypeArr[$i], 'numberofdays' => $numberOfDaysArr[$i], 'leavecode' => $leaveCode, 'leavepreallocated' => 1, 'leavepredeductable' => 1, 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1);
                 $Id = $employeeLeaveTypesModel->SaveorUpdateEmployeeLeaveTypeData($data, $where);
                 $tableid = $Id;
                 $menuID = EMPLOYEELEAVETYPES;
                 $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             }
             $hrWizardModel = new Default_Model_Hrwizard();
             $hrwizardarray = array('leavetypes' => 2, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             if ($hrWizardData['holidays'] == 2 && $hrWizardData['perf_appraisal'] == 2) {
                 $hrwizardarray['iscomplete'] = 2;
             }
             $hrWizardModel->SaveorUpdateHrWizardData($hrwizardarray, '');
             $this->_helper->getHelper("FlashMessenger")->addMessage("Leave Types added successfully.");
             $this->_redirect('hrwizard/configureleavetypes');
         } catch (Exception $e) {
             $msgarray['category_id'] = "Something went wrong, please try again.";
             return $msgarray;
         }
     } else {
         return $msgarray;
     }
 }