Beispiel #1
0
 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'));
                     }
                 }
             }
         }
     }
 }