Example #1
0
 public function actionDepartures($id)
 {
     $model = new Flights();
     $model->airport_id = $id;
     $model->icaofrom = $model->airport->icao;
     $model->isarrival = 0;
     if (!Yii::$app->user->isGuest && Yii::$app->user->identity->isadmin) {
         Yii::$app->user->returnUrl = '/booking/departures/' . $id;
         if ($p = Yii::$app->request->post('Flights')) {
             $model->attributes = $p;
             $model->save();
             $this->refresh();
         }
         if ($t = Yii::$app->request->post('admin_link_turnaround')) {
             $fid = Yii::$app->request->post('admin_link_ownid');
             $of = Flights::findOne($fid);
             $of->turnaround_id = $t;
             $tf = Flights::findOne($t);
             $tf->turnaround_id = $fid;
             $of->save();
             $tf->save();
             $this->refresh();
         }
         if ($uf = UploadedFile::getInstanceByName('batch_loading')) {
             if ($uf->type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
                 $data = \moonland\phpexcel\Excel::import($uf->tempName, ['setFirstRecordAsKeys' => true]);
                 foreach ($data as $item) {
                     if (isset($item['Airline']) && isset($item['To']) && isset($item['Flight']) && isset($item['Gate']) && isset($item['Aircraft']) && isset($item['Departure']) && isset($item['Arrival'])) {
                         if (!($m = Flights::find()->andWhere(['airline' => $item['Airline'], 'flightnumber' => $item['Flight']])->one())) {
                             $m = new Flights();
                         }
                         $m->airport_id = $id;
                         $m->icaofrom = $m->airport->icao;
                         $m->isarrival = 0;
                         $m->airline = $item['Airline'];
                         $m->icaoto = $item['To'];
                         $m->flightnumber = $item['Flight'];
                         $m->gate = $item['Gate'];
                         $m->aircraft = $item['Aircraft'];
                         $m->timefrom = $item['Departure'];
                         $m->timeto = $item['Arrival'];
                         $m->save();
                     }
                 }
                 $this->refresh();
             }
         }
     }
     return $this->render('arrivals', ['model' => $model]);
 }