<?php $mission = $mission_leg->getMission(); $passenger = $mission->getPassenger(); // Camp information if ($mission->getCampId()) { $camp = CampPeer::retrieveByPK($mission->getCampId()); } // Passenger Information $pass_person = PersonPeer::retrieveByPK($passenger->getPersonId()); //Requester $requester = RequesterPeer::retrieveByPK($mission->getRequesterId()); $req_person = PersonPeer::retrieveByPK($requester->getPersonId()); $req_passenger = PassengerPeer::getByPersonId($requester->getPersonId()); //Mission Coordinator if ($mission->getCoordinatorId()) { $misscoordinator = CoordinatorPeer::retrieveByPK($mission->getCoordinatorId()); if ($misscoordinator->getMemberId()) { $missCoordiPerson = PersonPeer::retrieveByPK($misscoordinator->getMember()->getPersonId()); } } //Coordinator if ($mission_leg->getCoordinatorId()) { $coordinator = CoordinatorPeer::retrieveByPK($mission_leg->getCoordinatorId()); if ($coordinator->getMemberId()) { $coordiPerson = PersonPeer::retrieveByPK($coordinator->getMember()->getPersonId()); } } $baggageWeight = $mission_leg->getBaggageWeight(); $baggageDesc = $mission_leg->getBaggageDesc(); if ($mission_leg->getFboId()) {
public function executeAjaxAddPersonAndPassenger(sfWebRequest $request) { #Security if (!$this->getUser()->hasCredential(array('Administrator', 'Staff'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } //$this->setLayout(false); if ($request->getParameter('add_pass') == 'yes') { $this->person = new Person(); $this->person_title = 'Step 1 : Add person'; if ($request->getParameter('camp_id')) { $this->camp_id = $request->getParameter('camp_id'); } $this->stepped = 1; } if ($request->getParameter('add_pass_iti') == 'yes') { $this->person = new Person(); $this->person_title = 'Step 1 : Add person'; $this->person_itine = 1; } if ($request->getParameter('add_cont') == 'yes') { $this->person = new Person(); $this->person_title = 'Step 1 : Add person'; $this->contact = 1; } if ($request->getParameter('id')) { $this->person = PersonPeer::retrieveByPK($request->getParameter('id')); $this->person_title = 'Edit person'; } else { $this->person = new Person(); $this->person_title = 'Add person'; } # Person Form $this->person_form = new PersonForm($this->person); $this->back = $request->getReferer(); //session $this->key = $request->getParameter('key'); if (!$this->key) { $this->key = rand(1000, 9999); } if (strstr($request->getReferer(), 'person/view')) { if ($this->person) { //session $referer_session = $this->getUser()->getAttribute('ref'); if (!$referer_session) { $referer_session = array($this->key => array()); $this->getUser()->setAttribute('ref', $referer_session); } elseif (!isset($referer_session[$this->key])) { $a = '@person_view?id=' . $this->person->getId(); $referer_session[$this->key] = array('referer' => $a); $this->getUser()->setAttribute('ref', $referer_session[$this->key]); } } } $this->person_referer = $request->getParameter('referer'); if ($request->isMethod('post')) { if ($request->hasParameter('action_from_passenger_or_requester')) { $this->action_from = $request->getParameter('action_from_passenger_or_requester'); } $this->person_referer = $request->getParameter('referer'); $this->person_form->bind($request->getParameter('per')); if ($this->person_form->isValid() && $request->getParameter('per[first_name]') != "" && $request->getParameter('per[last_name]') != "") { $this->person->setTitle($this->person_form->getValue('title')); $this->person->setFirstName($this->person_form->getValue('first_name')); $this->person->setLastName($this->person_form->getValue('last_name')); $this->person->setAddress1($this->person_form->getValue('address1')); $this->person->setAddress2($this->person_form->getValue('address2')); $this->person->setCity($this->person_form->getValue('city')); $this->person->setCounty($this->person_form->getValue('county')); $this->person->setState($this->person_form->getValue('state')); $this->person->setCountry($this->person_form->getValue('country')); $this->person->setZipcode($this->person_form->getValue('zipcode')); $this->person->setDayPhone($this->person_form->getValue('day_phone')); $this->person->setDayComment($this->person_form->getValue('day_comment')); $this->person->setEveningPhone($this->person_form->getValue('evening_phone')); $this->person->setEveningComment($this->person_form->getValue('evening_comment')); $this->person->setMobilePhone($this->person_form->getValue('mobile_phone')); $this->person->setMobileComment($this->person_form->getValue('mobile_comment')); $this->person->setPagerPhone($this->person_form->getValue('paper_phone')); $this->person->setPagerComment($this->person_form->getValue('paper_comment')); $this->person->setOtherPhone($this->person_form->getValue('other_phone')); $this->person->setOtherComment($this->person_form->getValue('other_comment')); $this->person->setFaxPhone1($this->person_form->getValue('fax_phone1')); $this->person->setFaxComment1($this->person_form->getValue('fax_comment1')); $this->person->setAutoFax($this->person_form->getValue('auto_fax')); $this->person->setFaxPhone2($this->person_form->getValue('fax_phone2')); $this->person->setFaxComment2($this->person_form->getValue('fax_comment2')); $this->person->setEmail($this->person_form->getValue('email')); $this->person->setEmailTextOnly($this->person_form->getValue('email_text_only')); $this->person->setEmailBlocked($this->person_form->getValue('email_blocked')); $this->person->setComment($this->person_form->getValue('comment')); //$this->person->setBlockMailings($this->person_form->getValue('block_mailings')==0?null:$this->person_form->getValue('block_mailings')); $this->person->setBlockMailings($this->person_form->getValue('block_mailings')); $this->person->setNewsletter($this->person_form->getValue('newsletter')); $this->person->setGender($this->person_form->getValue('gender')); $this->person->setDeceased($this->person_form->getValue('deceased')); $this->person->setDeceasedComment($this->person_form->getValue('deceased_comment')); $this->person->setSecondaryEmail($this->person_form->getValue('secondary_email')); $this->person->setDeceasedDate($this->person_form->getValue('deceased_date')); $this->person->setMiddleName($this->person_form->getValue('middle_name')); $this->person->setSuffix($this->person_form->getValue('suffix')); $this->person->setNickname($this->person_form->getValue('nickname')); $this->person->setVeteran($this->person_form->getValue('veteran')); if ($this->person->isNew()) { $content = $this->getUser()->getName() . ' added new Person: ' . $this->person->getFirstName(); ActivityPeer::log($content); } $this->person->save(); //////////////////////////////////////#bglobal omar if ($this->person->getId()) { $passenger = new Passenger($this->person->getId()); $passenger->setPersonId($this->person->getId()); $passenger->save(); $c = new Criteria(); $c->add(RoleNotificationPeer::MID, 5); $c->add(RoleNotificationPeer::NOTIFICATION, 1); $c->addOr(RoleNotificationPeer::NOTIFICATION, 3); $c->addJoin(RoleNotificationPeer::ROLE_ID, PersonRolePeer::ROLE_ID); $c->addJoin(PersonRolePeer::PERSON_ID, PersonPeer::ID); $personemail = PersonPeer::doSelect($c); $allemail = array(); $pindex = 0; foreach ($personemail as $getEmail) { if (strlen($getEmail->getEmail()) > 0) { $allemail[$pindex++] = $getEmail->getEmail(); } else { if (strlen($getEmail->getSecondaryEmail()) > 0) { $allemail[$pindex++] = $getEmail->getSecondaryEmail(); } } } //$allemail[$pindex]="*****@*****.**"; /* $email['subject']="New Person added"; $link=$request->getHost()."/person/view/".$this->person->getId(); $body="A new person added in ".$request->getHost()."\r\n" .$this->person->getFirstName()." ".$this->person->getLastName()."\r\n Profile Link: ".$link; $email['body']=$body; $email['sender_email']="*****@*****.**"; $this->getComponent('mail', 'sendBulk', array( 'subject' => $email['subject'], 'recievers' => $allemail, 'sender' => $email['sender_email'], 'body' => $email['body'], ));*/ } ///////////////////////////////////// if ($request->hasParameter('has')) { $data = ''; if ($request->getParameter('camp_id')) { $data = '&camp_id=' . $request->getParameter('camp_id'); } $this->getUser()->setFlash('success', 'Step 1 : New Person information has been successfully created! Now you can add passenger!'); $this->redirect('@passenger_create?add_pass='******'has') . '&p_id=' . $this->person->getId() . $data); } if ($request->hasParameter('iti')) { $this->getUser()->setFlash('success', 'Step 1 : New Person information has been successfully created! Now you can add passenger!'); $this->redirect('@passenger_create?add_pass_iti=' . $request->getParameter('iti') . '&p_id=' . $this->person->getId()); } if ($request->hasParameter('contact')) { $this->getUser()->setFlash('success', 'Step 1 : New Person information has been successfully created! Now you can add contact!'); $this->redirect('@contact_create?person_id=' . $this->person->getId()); } $this->getUser()->setFlash('success', 'Person information has been successfully saved!'); $last = $request->getParameter('back'); $referer_session = $this->getUser()->getAttribute('ref'); //$back_url = '@person_view?id='.$this->person->getId(); //$this->redirect($back_url); //$this->person_a = $this->person_form->getValue('first_name').' '. $this->person_form->getValue('last_name'); //return $this->renderText('Person information has been successfully saved!'); //return $this->renderText($this->person_form->getValue('first_name').' '. $this->person_form->getValue('last_name')); $this->personpass_id = $this->person->getId(); $this->_passenger = PassengerPeer::getByPersonId($this->personpass_id); $this->personpass_last_name = $this->person->getLastName(); //echo $this->person->getId(); //$this->person_a = $this->person_form->getValue('first_name').' '. $this->person_form->getValue('last_name'); } else { if ($request->getParameter("per[title]") == "") { $this->titleError = "true"; } if ($request->getParameter("per[first_name]") == "") { $this->first_name_error = "true"; } if ($request->getParameter("per[last_name]") == "") { $this->last_name_error = "true"; } } $this->person_form__ = $request->getRequestParameters(); $this->setTemplate("ajaxAddPersonAndPassenger"); } else { # Set referer URL $this->person_referer = $request->getReferer() ? $request->getReferer() : '@person'; } }
/** * Mission * CODE: mission_create, mission_leg_create */ public function executeUpdate(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('add_passengers')) { $this->group_camp_id = $request->getParameter('add_passengers'); } if ($request->getParameter('id')) { } else { if ($request->isMethod('post')) { $main_id = $request->getParameter('main_id'); $row_id = $request->getParameter('row_id'); $camp_id = $request->getParameter('camp_id'); if (isset($row_id)) { $fname = $request->getParameter('pass_fname' . $row_id); $lname = $request->getParameter('pass_lname' . $row_id); $location = $request->getParameter('pass_loc' . $row_id); $note = $request->getParameter('pass_note' . $row_id); $link = $request->getParameter('pass_link' . $row_id); } else { $main_id = $request->getParameter('person_id'); $fname = $request->getParameter('pass_fname'); $lname = $request->getParameter('pass_lname'); $location = $request->getParameter('pass_loc'); $note = $request->getParameter('pass_note'); $link = $request->getParameter('link'); } //echo var_dump($request->getParameter('link'));die(); #create default Itinerary to passenger if (isset($main_id)) { $is_passenger = PassengerPeer::getByPersonId($main_id); if (!$is_passenger->getRequesterId() && $camp_id) { $this->getUser()->setFlash('success', 'Passenger has no Requester. Requester must be selected before create a Mission!'); $this->redirect('@add_passengers?id=' . $camp_id); } $itinerary = new Itinerary(); if (isset($is_passenger) && $is_passenger instanceof Passenger) { $itinerary->setDateRequested(date('y/m/d')); $itinerary->setApointTime('Morning'); $itinerary->setPassengerId($is_passenger->getId()); $miss_type = MissionTypePeer::getName('Camp'); if (isset($miss_type) && $miss_type instanceof MissionType) { $itinerary->setMissionTypeId($miss_type->getId()); } if ($is_passenger->getRequesterId()) { $pass_req = $is_passenger->getRequester(); if (isset($pass_req) && $pass_req) { if (isset($pass_req) && $pass_req instanceof Requester) { $itinerary->setRequesterId($pass_req->getId()); } } } if (isset($camp_id)) { $camp = CampPeer::retrieveByPK($camp_id); if (isset($camp) && $camp instanceof Camp) { if ($camp->getAgencyId()) { $agency = $camp->getAgency(); if (isset($agency) && $agency instanceof Agency) { $itinerary->setAgencyId($agency->getId()); } } } } $itinerary->setCampId($camp_id); $itinerary->save(); if (isset($itinerary) && $itinerary instanceof Itinerary) { $this->redirect('@itinerary_detail?id=' . $itinerary->getId() . '&add_passengers=' . $camp_id); } } } } } $this->itinerary = ItineraryPeer::retrieveByPK($request->getParameter('id')); $this->forward404Unless($this->itinerary); $itinerary =& $this->itinerary; $this->errors = array(); if ($request->isMethod('post')) { # validation $mission_date = $request->getParameter('mission_date'); if (empty($mission_date)) { $this->errors[] = 'Mission date is required'; } $companions = (array) $request->getParameter('companions'); if (count($companions)) { $c = new Criteria(); $c->add(CompanionPeer::ID, $companions, Criteria::IN); $c->add(CompanionPeer::PASSENGER_ID, $this->itinerary->getPassengerId()); if (CompanionPeer::doCount($c) != count($companions)) { $this->errors[] = 'Some companions not found'; } } #use it when add group mission $group_camp_id = $request->getParameter('add_passengers'); switch ($request->getParameter('transportation')) { case 'air_mission': $origin_airports = (array) $request->getParameter('origin_idents'); $dest_airports = (array) $request->getParameter('destination_idents'); $idents = $dest_airports; $tmp_arr = array(); foreach ($origin_airports as $i => $ident) { $idents[] = $ident; $v = $ident . ' to ' . $dest_airports[$i]; if (in_array($v, $tmp_arr)) { $this->errors[] = 'Leg ' . $v . ' appeared more than one'; } else { $tmp_arr[] = $v; } if ($dest_airports[$i] == $ident) { $this->errors[] = 'Leg ' . $ident . ' to ' . $dest_airports[$i] . ' is invalid'; } } $idents = array_unique($idents); $c = new Criteria(); $c->add(AirportPeer::IDENT, $idents, Criteria::IN); if (count($idents) != AirportPeer::doCount($c)) { $this->errors[] = 'Some airport idents are invalid'; } break; case 'ground_mission': $origin = $request->getParameter('ground_origin'); $destination = $request->getParameter('ground_destination'); if (empty($destination)) { $this->errors[] = 'Please specify destination address'; } if (empty($origin)) { $this->errors[] = 'Please specify origin address'; } elseif ($destination == $origin) { $this->errors[] = 'Origin and Destination addresses conflict'; } break; case 'commercial_mission': if ($v = $request->getParameter('airline_id')) { $custom = $request->getParameter('airline_custom'); if ($v == 'other') { if (empty($custom)) { $this->errors[] = 'Please type a new airline name!'; } } else { $airline = AirlinePeer::retrieveByPK($v = $request->getParameter('airline_id')); if (!$airline instanceof Airline) { $this->errors[] = 'Please select airline!'; } } } else { $this->errors[] = 'Please select airline!'; } break; default: $this->errors[] = 'Please select Transportation Type'; } if (count($this->errors)) { # error in form switch ($request->getParameter('transportation')) { case 'air_mission': $this->origin_idents = $origin_airports; $this->dest_idents = $dest_airports; break; case 'ground_mission': break; case 'commercial_mission': break; } $this->selected_companions = $companions; } else { # Create Mission $mission = new Mission(); $mission->setItineraryId($itinerary->getId()); $mission->setMissionTypeId($itinerary->getMissionTypeId()); $mission->setDateRequested($itinerary->getDateRequested()); $mission->setPassengerId($itinerary->getPassengerId()); $mission->setRequesterId($itinerary->getRequesterId()); $mission->setCampId($itinerary->getCampId()); $mission->setMissionDate(strtotime($request->getParameter('mission_date'))); $mission->setMissionSpecificComments($request->getParameter('comment')); $mission->save(); # Create Companions foreach ($companions as $id) { $mission_companion = new MissionCompanion(); $mission_companion->setMissionId($mission->getId()); $mission_companion->setCompanionId($id); $mission_companion->save(); } # Create Legs switch ($request->getParameter('transportation')) { case 'air_mission': for ($i = 0; $i < sizeof($origin_airports); $i++) { $airport_o = AirportPeer::getByIdent($origin_airports[$i]); $airport_d = AirportPeer::getByIdent($dest_airports[$i]); $mission_leg = new MissionLeg(); $mission_leg->setMissionId($mission->getId()); $mission_leg->setLegNumber($i + 1); $mission_leg->setFromAirportId($airport_o->getId()); $mission_leg->setToAirportId($airport_d->getId()); $mission_leg->setBaggageWeight($request->getParameter('baggage_weight')); $mission_leg->setBaggageDesc($request->getParameter('baggage_desc')); $mission_leg->setPassOnBoard(0); $mission_leg->setTransportation('air_mission'); $mission_leg->save(); } $this->getUser()->setFlash('success', 'Mission and Leg(s) has successfully created!'); break; case 'ground_mission': $mission_leg = new MissionLeg(); $mission_leg->setMissionId($mission->getId()); $mission_leg->setLegNumber(1); $mission_leg->setPassOnBoard(0); $mission_leg->setTransportation('ground_mission'); $mission_leg->setGroundOrigin($request->getParameter('ground_origin')); $mission_leg->setGroundDestination($request->getParameter('ground_destination')); $mission_leg->save(); break; case 'commercial_mission': $flight_time = $request->getParameter('flight_time'); if (empty($flight_time['hour']) || empty($flight_time['minute'])) { $flight_time = null; } $airline_id = $request->getParameter('airline_id'); if ($airline_id == 'other') { $airline = new Airline(); $airline->setName($request->getParameter('airline_custom')); $airline->save(); } else { $airline = AirlinePeer::retrieveByPK($airline_id); $this->forward404Unless($airline); } $origins = $request->getParameter('origin'); $destinations = $request->getParameter('destination'); $flight_numbers = $request->getParameter('flight_number'); $departures = $request->getParameter('departure'); $arrivals = $request->getParameter('arrival'); $mission->setFlightTime($flight_time['hour'] . ':' . $flight_time['minute'] . ' ' . $flight_time['period']); $n_leg = 0; foreach ($origins as $i => $origin) { if (empty($origin) || empty($destinations[$i])) { continue; } $mission_leg = new MissionLeg(); $mission_leg->setMissionId($mission->getId()); $mission_leg->setLegNumber(++$n_leg); $mission_leg->setFlightTime($flight_time ? strtotime($flight_time['hour'] . ':' . $flight_time['minute'] . ' ' . $flight_time['period']) : null); $mission_leg->setBaggageDesc($request->getParameter('baggage_desc')); $mission_leg->setBaggageWeight($request->getParameter('baggage_weight')); $mission_leg->setAirlineId($airline->getId()); $mission_leg->setFundId($request->getParameter('fund_id')); $mission_leg->setConfirmCode($request->getParameter('confirm_code')); $mission_leg->setFlightCost($request->getParameter('flight_cost')); $mission_leg->setCommOrigin($origin); $mission_leg->setCommDest($destinations[$i]); $mission_leg->setFlightNumber($flight_numbers[$i]); $v = $departures[$i]; if (empty($v['hour']) || empty($v['minute'])) { $v = null; } $mission_leg->setDeparture($v ? strtotime($v['hour'] . ':' . $v['minute'] . ' ' . $v['period']) : null); $v = $arrivals[$i]; if (empty($v['hour']) || empty($v['minute'])) { $v = null; } $mission_leg->setDeparture($v ? strtotime($v['hour'] . ':' . $v['minute'] . ' ' . $v['period']) : null); $mission_leg->setTransportation('commercial_mission'); $mission_leg->save(); } break; } // $this->redirect('@create_companion?id='.$mission_leg->getId()); if (isset($group_camp_id)) { $this->redirect('@mission_view?id=' . $mission->getId() . '&add_passengers=' . $group_camp_id); } else { $this->redirect('@mission_view?id=' . $mission->getId()); } } } $this->date_widget = new widgetFormDate(array('format_date' => array('js' => 'mm/dd/yy', 'php' => 'm/d/Y')), array('class' => 'text')); $this->time_widget = new widgetFormTime(); $this->mission = MissionPeer::getByItineraryId($this->itinerary->getId()); $this->airport_list = AirportPeer::getMappable(); $this->ground_addresses = $this->getGroundAddresses(); $this->airlines = AirlinePeer::doSelect(new Criteria()); $this->funds = FundPeer::doSelect(new Criteria()); }
$li = 0; ?> <?php foreach ($mission_assistants as $mission_assistant) { ?> <?php $member = MemberPeer::retrieveByPK($mission_assistant->getMemberId()); ?> <?php if ($member->getPersonId()) { ?> <?php $m_person = $member->getPerson(); ?> <?php $m_pass = PassengerPeer::getByPersonId($m_person->getId()); ?> <?php } ?> <?php if (isset($m_person)) { ?> <div class="mission-dtls"> <dl> <dt><?php $count++; $li++; ?> </dt> <label><input type="radio" id="<?php
</td> <td> <?php if (isset($is_member)) { if ($sf_user->hasCredential(array('Administrator'), false)) { echo link_to('remove', '@default?module=member&action=delete&id=' . $is_member->getId(), array('method' => 'delete', 'confirm' => 'Are you sure to remove ', 'class' => 'action-remove')); } } ?> </td> </tr> <tr> <td class="cell-1">Passenger</td> <td> <?php $passenger = PassengerPeer::getByPersonId($person->getId()); ?> <?php if (!$passenger) { ?> <?php $linkp = 'add'; ?> <?php } else { ?> <?php $linkp = 'active'; ?> <?php }