/** * Edit Pilot's aircraft(s) from * CODE: pilot_aircraft_create */ public function executeEditGroupAircraft(sfWebRequest $request) { if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Pilot', 'Coordinator', 'Volunteer'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } if ($request->getParameter('actions')) { $this->ids = $request->getParameter('actions'); } if ($request->isMethod('post')) { $pilot_a_ids = $request->getParameter('all_pilot_ids'); $air_ids = $request->getParameter('all_air_ids'); if (count($air_ids)) { foreach ($air_ids as $id) { if ($id) { $aircraft = AircraftPeer::retrieveByPK($id); if ($request->getParameter('make' . $id)) { $aircraft->setMake($request->getParameter('make' . $id)); } if ($request->getParameter('model' . $id)) { $aircraft->setModel($request->getParameter('model' . $id)); } if ($request->getParameter('tail' . $id)) { $aircraft->setTail($request->getParameter('tail' . $id)); } $aircraft->save(); } } } if (count($pilot_a_ids)) { foreach ($pilot_a_ids as $id) { $pilot_aircraft = PilotAircraftPeer::retrieveByPK($id); if (isset($pilot_aircraft) && $pilot_aircraft instanceof PilotAircraft) { if ($request->getParameter('own' . $id)) { if ($request->getParameter('own' . $id) == 'on') { $pilot_aircraft->setOwn(1); } else { $pilot_aircraft->setOwn(0); } } if ($request->getParameter('is_primary')) { $p_aircraft = PilotAircraftPeer::retrieveByPK($request->getParameter('is_primary')); $already_has_primary = PilotAircraftPeer::getHasPrimary(); if (isset($p_aircraft) && $p_aircraft instanceof PilotAircraft) { if (count($already_has_primary)) { foreach ($already_has_primary as $air) { if ($air->getPrimary() != null) { $id_is = $air; } } if ($id_is->getId() != $p_aircraft->getId()) { $p_aircraft->setPrimary(1); $id_is->setPrimary(0); $p_aircraft->save(); $id_is->save(); } } else { $p_aircraft->setPrimary(1); $p_aircraft->save(); } } } if ($request->getParameter('n_number' . $id)) { $pilot_aircraft->setNNumber($request->getParameter('n_number' . $id)); } if ($request->getParameter('seats' . $id)) { $pilot_aircraft->setSeats($request->getParameter('seats' . $id)); } if ($request->getParameter('known' . $id)) { if ($request->getParameter('own' . $id) == 'on') { $pilot_aircraft->setKnownIce(1); } else { $pilot_aircraft->setKnownIce(0); } } $pilot_aircraft->save(); } } $this->redirect('account_pilot'); } } }