예제 #1
0
 public function executePriorityList()
 {
     $this->pilot_request_count = PilotRequestPeer::countIn2Days();
     $this->no_pilot_count = MissionPeer::countNoPilotIn2Days();
     $this->cancelled_legs = MissionLegPeer::countCancelled();
     $pilot = PilotPeer::retrieveByPK($this->getUser()->getPilotId());
     if (!$pilot instanceof Pilot) {
         return sfView::NONE;
     }
     if ($pilot->getPrimaryAirportId()) {
         $this->near_mission = MissionLegPeer::getPilotNear($pilot->getPrimaryAirportId());
     } else {
         $this->near_mission = array();
     }
     $pilot_id = $this->getUser()->getPilotId();
     $this->p_id = $pilot_id;
     if ($pilot_id) {
         $pilot = PilotPeer::retrieveByPK($pilot_id);
         $p_firstname = $pilot->getMember()->getPerson()->getFirstName();
         $p_lastname = $pilot->getMember()->getPerson()->getLastName();
         $c = new Criteria();
         $c->add(MissionLegPeer::TRANSPORTATION, 'air_mission');
         $c->add(MissionLegPeer::PILOT_ID, $pilot_id);
         $c->addJoin(MissionLegPeer::MISSION_ID, MissionPeer::ID, Criteria::RIGHT_JOIN);
         $c->add(MissionPeer::MISSION_DATE, date('Y-m-d H:i:s'), Criteria::LESS_THAN);
         $c->addJoin(MissionLegPeer::MISSION_REPORT_ID, MissionReportPeer::ID, Criteria::LEFT_JOIN);
         $c->add(MissionReportPeer::APPROVED, null, Criteria::ISNULL);
         $mission_legs = MissionLegPeer::doSelectJoinMission($c, null, Criteria::RIGHT_JOIN);
         $this->miss = count($mission_legs);
         $pind = MissionLegPeer::getPendingMissions($pilot_id);
         $this->pinding = $pind;
         //Update Farazi
         $member_id = $this->getUser()->getMemberId();
         $member = MemberPeer::retrieveByPK($member_id);
         $date_now = strtotime("NOW");
         $date_ren = strtotime($member->getRenewalDate());
         $sub = $date_ren - $date_now;
         $preday = 0;
         if ($sub >= 86400) {
             $pday = $sub / 86400;
             $preday = explode('.', $pday);
         } else {
             $pday = $sub / 86400;
             $preday = explode('.', $pday);
         }
         $this->due_day = $preday[0];
     }
     // Show mission request list for adin user
     if ($this->getUser()->hasCredential(array('Administrator'), false)) {
         // Get number of un processed mission requests
         $this->un_proc_miss_req = MissionRequestPeer::getNumberOfNonProcessedMissionRequest();
         // Get number of un processed member applications
         $this->un_proc_mem_apps = ApplicationTempPeer::getNonProcessedMemberApplications();
         // Get number of un processed pilot requests
         $this->un_proc_pilot_reqs = PilotRequestPeer::getPager()->getNbResults();
         // Get uncoordinate mission legs
         $this->un_coor_mission_legs = MissionLegPeer::getPager(10, 1, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, true)->getNbResults();
     }
     // ziyed : count unprocessed contact request
     $c = new Criteria();
     $c->add(ContactRequestPeer::PROCESSED, NULL, Criteria::ISNULL);
     $this->un_proce_contact_req = ContactRequestPeer::doCount($c);
     //end
     //Farazi : new contact requests
     $c = new Criteria();
     $c->add(ContactRequestPeer::PROCESSED, NULL, Criteria::ISNULL);
     $this->new_contact_requeststs = ContactRequestPeer::doSelect($c);
     //end
     // ziyed : count unprocessed contact request
     $c = new Criteria();
     $c->add(ContactRequestPeer::PROCESSED, NULL, Criteria::ISNULL);
     $c->add(ContactRequestPeer::REQUEST_DATE, 'ABS(DATEDIFF( NOW( \'Y-m-d\' ),' . ContactRequestPeer::REQUEST_DATE . ') ) > 1', Criteria::CUSTOM);
     $this->graterThanOneDay = ContactRequestPeer::doCount($c);
     //end
     //Farazi
     //Removed Pilots
     if ($this->getUser()->hasCredential(array('Pilot'), false)) {
         $pilot = PilotPeer::retrieveByPK($this->getUser()->getPilotId());
         $this->removed_pilot = PilotRequestPeer::getRemovedPilot($pilot->getMemberId());
     }
     //Revival Pilots
     if ($this->getUser()->hasCredential(array('Pilot'), false)) {
         $pilot = PilotPeer::retrieveByPK($this->getUser()->getPilotId());
         $this->revival_pilot = PilotRequestPeer::getRevivalPilot($pilot->getMemberId());
     }
     //New Pilot added to the mission leg
     if ($this->getUser()->hasCredential(array('Administrator', 'Staff', 'Coordinator'), false)) {
         $this->pilots_added = PilotRequestPeer::getPilotsAdded();
     }
     //Mission report due
     $c = new Criteria();
     $pilotId = $this->getUser()->getPilotId();
     $c->add(MissionLegPeer::PILOT_ID, $pilotId, Criteria::EQUAL);
     $c->add(MissionLegPeer::MISSION_REPORT_ID, NULL, Criteria::ISNULL);
     $c->add(MissionLegPeer::CANCEL_MISSION_LEG, 1, Criteria::NOT_EQUAL);
     $c->addJoin(MissionPeer::ID, MissionLegPeer::MISSION_ID, Criteria::LEFT_JOIN);
     $c->add(MissionPeer::MISSION_DATE, 'NOW( \'Y-m-d\' )', Criteria::LESS_THAN);
     //echo $c->toString();
     $this->mission_report_dues = MissionLegPeer::doCount($c);
     //End Farazi
 }