Esempio n. 1
0
 public function actionExport($importModel)
 {
     /** @var ImportModel $model */
     $model = new ImportModel();
     $model->unserialize($importModel);
     if ($model->validate()) {
         /** @var Export $exportStatus */
         $exportStatus = Export::find()->where(['user_id' => $model->getUser(), 'object_id' => $model->object])->one();
         $exportStatus->status = Export::STATUS_PROCESS;
         $exportStatus->save();
         try {
             $object = Object::findById($model->object);
             if ($object === null) {
                 throw new Exception('Object not found');
             }
             $filename = $model->getFilename('Export');
             $import = \app\modules\data\components\Import::createInstance(['object' => $object, 'filename' => $filename, 'type' => $model->type]);
             $import->processExport($model->fields, $model->conditions);
             $exportStatus->filename = $filename;
             $exportStatus->status = Export::STATUS_COMPLETE;
             $exportStatus->save();
         } catch (\Exception $e) {
             $exportStatus->status = Export::STATUS_FAILED;
             $exportStatus->save();
             echo $e->getMessage();
             throw $e;
         }
     } else {
         echo 'Model is not valid';
         throw new Exception('Model is not valid');
     }
 }