public function executePilotDelete(sfWebRequest $request) { #Security if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Coordinator'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } if ($request->getParameter('id')) { $suc = ''; $mission_leg = MissionLegPeer::retrieveByPK($request->getParameter('id')); if ($mission_leg->getPilotId()) { $pilot = PilotPeer::retrieveByPK($mission_leg->getPilotId()); $pilotmember = MemberPeer::retrieveByPK($pilot->getMemberId()); $pilotPerson = PersonPeer::retrieveByPK($pilotmember->getPersonId()); //print_r($pilotPerson); //die(); $mission = MissionPeer::retrieveByPK($mission_leg->getMissionId()); $missionDate = $mission->getMissionDate(); $externalID = $mission->getExternalId(); $legNumber = $mission_leg->getLegNumber(); $missionLegInfo = $externalID . "-" . $legNumber; // Farazi 18.05.2011 // Get all pilot request without removed pilot $reqPilot = PilotPeer::retrieveByPK($mission_leg->getPilotId()); //Get pilot request who was not accepted $pilotRequesters = PilotRequestPeer::getNotAcceptedPilots($request->getParameter('id'), $reqPilot->getMemberId()); if ($pilotRequesters) { $final_emails = array(); foreach ($pilotRequesters as $pilotrequester) { // Reopen $pilotrequester->setPilotStatus(1); // 2 Means Pilot Delete 1 Pilot Reopen 3 Decline $pilotrequester->save(); $member = MemberPeer::retrieveByPK($pilotrequester->getMemberId()); $req_person_email = $member->getPerson()->getEmail(); if ($req_person_email) { $final_emails[] = $req_person_email; } } if (count($final_emails)) { //$this->getComponent('mail', 'revivalPilotRequestAck', array('email' => $final_emails,'missionleginfo' => $missionLegInfo,'missiondate' => $missionDate)); } } if (isset($mission_leg)) { $mission_leg->setPilotId(NULL); if ($mission_leg->save()) { //print_r($pilotPerson->getEmail()); //die(); if ($pilot->getMemberId()) { $pilotReq = PilotRequestPeer::getPilotByRequestersLegIdMemberId($request->getParameter('id'), $pilot->getMemberId()); //print_r($pilotRequester); //die(); $pilotReq->setAccepted(0); $pilotReq->setProcessed(0); $pilotReq->setPilotStatus(2); // 2 Means Pilot Delete 1 Pilot Reopen 3 Decline $pilotReq->save(); // Pilot removed acknowledgement email if ($pilotPerson->getEmail()) { $this->getComponent('mail', 'removeLegPilotAck', array('email' => $pilotPerson->getEmail(), 'missionleginfo' => $missionLegInfo, 'missiondate' => $missionDate, 'name' => $pilotPerson->getFirstName() . ' ' . $pilotPerson->getLastName())); } $this->getUser()->setFlash('success', 'Pilot has been removed successfully.'); return $this->redirect('@leg_edit?id=' . $request->getParameter('id')); } } } } } }