public function actionEdit($id = null)
 {
     $model = new Warehouse();
     $model->loadDefaultValues();
     if ($id !== null) {
         $model = Warehouse::findOne($id);
     }
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($model->save()) {
             Yii::$app->session->setFlash('info', Yii::t('app', 'Object saved'));
             $returnUrl = Yii::$app->request->get('returnUrl', ['/shop/backend-warehouse/index']);
             switch (Yii::$app->request->post('action', 'save')) {
                 case 'next':
                     return $this->redirect(['/shop/backend-warehouse/edit', 'returnUrl' => $returnUrl]);
                 case 'back':
                     return $this->redirect($returnUrl);
                 default:
                     return $this->redirect(Url::toRoute(['/shop/backend-warehouse/edit', 'id' => $model->id, 'returnUrl' => $returnUrl]));
             }
         }
     }
     $wareHouseOpeningHours = WarehouseOpeninghours::find()->where(['warehouse_id' => $model->id])->one();
     if ($wareHouseOpeningHours === null) {
         $wareHouseOpeningHours = new WarehouseOpeninghours();
     }
     $wareHouseOpeningHours->loadDefaultValues();
     if (Yii::$app->request->post('WarehouseOpeninghours') && !$model->isNewRecord) {
         $wareHouseOpeningHours->load(Yii::$app->request->post());
         $wareHouseOpeningHours->warehouse_id = $model->id;
         if ($wareHouseOpeningHours->save()) {
             $this->refresh();
         }
     }
     $warehousePhone = new WarehousePhone();
     if (Yii::$app->request->post('WarehousePhone') && !$model->isNewRecord) {
         $warehousePhone->loadDefaultValues();
         $warehousePhone->load(Yii::$app->request->post());
         $warehousePhone->warehouse_id = $model->id;
         if ($warehousePhone->save()) {
             $this->refresh();
         }
     }
     $warehousePhoneProvider = new ActiveDataProvider(['query' => $warehousePhone::find()->where(['warehouse_id' => $model->id]), 'pagination' => ['pageSize' => 20]]);
     $warehouseEmail = new WarehouseEmail();
     if (Yii::$app->request->post('WarehouseEmail') && !$model->isNewRecord) {
         $warehouseEmail->loadDefaultValues();
         $warehouseEmail->load(Yii::$app->request->post());
         $warehouseEmail->warehouse_id = $model->id;
         if ($warehouseEmail->save()) {
             $this->refresh();
         }
     }
     $warehouseEmailProvider = new ActiveDataProvider(['query' => $warehouseEmail::find()->where(['warehouse_id' => $model->id]), 'pagination' => ['pageSize' => 20]]);
     return $this->render('form', ['model' => $model, 'wareHouseOpeningHours' => $wareHouseOpeningHours, 'warehousePhone' => $warehousePhone, 'warehousePhoneProvider' => $warehousePhoneProvider, 'warehouseEmail' => $warehouseEmail, 'warehouseEmailProvider' => $warehouseEmailProvider]);
 }