/** * Deletes an existing Table model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param integer $id * @return mixed */ public function actionDelete($id) { try { $model = $this->findModel($id); if ($model != null) { PhysicalTableGenerator::dropTable($model); //delete model class and crud if ($model->model_class != null) { if (file_exists(\Yii::getAlias('@' . str_replace('\\', '/', ltrim($model->model_class, '\\'))) . ".php")) { unlink(\Yii::getAlias('@' . str_replace('\\', '/', ltrim($model->model_class, '\\'))) . ".php"); } } if ($model->model_base_class != null) { if (file_exists(\Yii::getAlias('@' . str_replace('\\', '/', ltrim($model->model_base_class, '\\'))) . ".php")) { unlink(\Yii::getAlias('@' . str_replace('\\', '/', ltrim($model->model_base_class, '\\'))) . ".php"); } } if ($model->model_search_class != null) { if (file_exists(\Yii::getAlias('@' . str_replace('\\', '/', ltrim($model->model_search_class, '\\'))) . ".php")) { unlink(\Yii::getAlias('@' . str_replace('\\', '/', ltrim($model->model_search_class, '\\'))) . ".php"); } } if ($model->controller_class != null) { if (file_exists(\Yii::getAlias('@' . str_replace('\\', '/', ltrim($model->controller_class, '\\'))) . ".php")) { unlink(\Yii::getAlias('@' . str_replace('\\', '/', ltrim($model->controller_class, '\\'))) . ".php"); } } if ($model->view_path != null) { $this->deleteDirectory(\Yii::getAlias($model->view_path)); } } foreach ($model->fields as $field) { $field->delete(); } $model->delete(); } catch (\Exception $e) { $msg = isset($e->errorInfo[2]) ? $e->errorInfo[2] : $e->getMessage(); \Yii::$app->getSession()->setFlash('error', $msg); return $this->redirect(Url::previous()); } // TODO: improve detection $isPivot = strstr('$id', ','); if ($isPivot == true) { return $this->redirect(Url::previous()); } elseif (isset(\Yii::$app->session['__crudReturnUrl']) && \Yii::$app->session['__crudReturnUrl'] != '/') { Url::remember(null); $url = \Yii::$app->session['__crudReturnUrl']; \Yii::$app->session['__crudReturnUrl'] = null; return $this->redirect($url); } else { return $this->redirect(['index']); } }
<span class="panel-title-address">Address: <?php echo $index + 1; ?> </span> <button type="button" class="pull-right remove-item btn btn-danger btn-xs"><i class="fa fa-minus"></i></button> <div class="clearfix"></div> </div> <div class="panel-body"> <?php // necessary for update action. if (!$modelField->isNewRecord) { echo Html::activeHiddenInput($modelField, "[{$index}]id"); } /* var $form ActiveForm; */ $basicItems = \febfeb\dynamicfield\modules\components\PhysicalTableGenerator::getType(); $dbItems = \yii\helpers\ArrayHelper::map(\febfeb\dynamicfield\modules\models\Table::find()->where("id != '{$modelTable->id}'")->all(), "slug_name", "name"); $items = array_merge($basicItems, $dbItems); ?> <div class="row"> <div class="col-sm-6"> <?php echo $form->field($modelField, "[{$index}]name")->textInput(['maxlength' => true]); ?> </div> <div class="col-sm-6"> <?php echo $form->field($modelField, "[{$index}]type")->dropDownList($items); ?> </div>