/** * Creates a new Menu model. * If creation is successful, the browser will be redirected to the 'view' page. * @param int $top_id * @return mixed */ public function actionCreate($top_id = 0) { $model = new Menu(); if (Yii::$app->request->isPost) { $model->load(Yii::$app->request->post()); if ($top_id) { $saved = $model->prependTo(Menu::findOne($top_id)); } else { $saved = $model->makeRoot(); } if ($saved) { Yii::$app->getSession()->setFlash('success', Yii::t('app', 'Menu has been created.')); return $this->redirect(ReturnUrl::getUrl()); } } else { $model->load(Yii::$app->request->get()); } return $this->render('create', compact('model')); }
/** * link parameter to access deleted model * * @return array */ static function paramsDeleted() { return ['url' => [static::actionRoute('deleted'), 'ru' => ReturnUrl::getToken()], 'label' => 'Deleted', 'icon' => Icon::create('trash'), 'buttonOptions' => ['class' => 'btn btn-default']]; }
/** * link parameter to restore deleted model * * @return array */ public function getParamsRestore() { $primaryKey = $this->model->primaryKey()[0]; return ['url' => [$this->actionRoute('restore'), $primaryKey => $this->model->getAttribute($primaryKey), 'ru' => ReturnUrl::getToken()], 'label' => 'Restore', 'icon' => Icon::create('pencil'), 'buttonOptions' => ['class' => 'btn btn-primary']]; }
/** * Deletes an existing Subdistrict 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->operation->allowDelete == FALSE) { throw $model->operation->exception('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(ReturnUrl::getUrl(Url::previous())); } // TODO: improve detection $isPivot = strstr('$id', ','); if ($isPivot == true) { return $this->redirect(ReturnUrl::getUrl(Url::previous())); } elseif (isset(\Yii::$app->session['__crudReturnUrl']) && \Yii::$app->session['__crudReturnUrl'] != '/') { Url::remember(null); $url = \Yii::$app->session['__crudReturnUrl']; $url = ReturnUrl::getUrl($url); \Yii::$app->session['__crudReturnUrl'] = null; return $this->redirect($url); } else { return $this->redirect(['index']); } }
use cornernote\returnurl\ReturnUrl; /** * @var yii\web\View $this * @var app\models\Menu $model * @var yii\bootstrap\ActiveForm $form */ ?> <div class="menu-form"> <?php $form = ActiveForm::begin(['id' => 'Menu', 'enableClientValidation' => false]); ?> <?php echo Html::hiddenInput('ru', ReturnUrl::getRequestToken()); ?> <?php echo $form->errorSummary($model); ?> <?php echo $form->field($model, 'name')->textInput(['maxlength' => true]); ?> <?php echo Html::submitButton('<span class="fa fa-check"></span> ' . ($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Save')), ['id' => 'save-' . $model->formName(), 'class' => 'btn btn-success']); ?> <?php ActiveForm::end();
/** * return 'create' link parameter * * @return array */ static function paramsCreate() { return ['url' => [static::actionRoute('create'), 'ru' => ReturnUrl::getToken()], 'label' => 'Create', 'icon' => Icon::create('plus'), 'buttonOptions' => ['class' => 'btn btn-primary']]; }
<?php use yii\helpers\Html; use yii\helpers\Url; use cornernote\returnurl\ReturnUrl; /** * @var yii\web\View $this * @var frontend\modules\region\models\Subdistrict $model */ $this->title = 'Create'; $this->params['breadcrumbs'][] = ['label' => 'Region', 'url' => ['/region']]; $this->params['breadcrumbs'][] = ['label' => 'Subdistricts', 'url' => ['index']]; $this->params['breadcrumbs'][] = $this->title; ?> <div class="giiant-crud subdistrict-create"> <p class="pull-left"> <?php echo Html::a('Cancel', ReturnUrl::getUrl(Url::previous()), ['class' => 'btn btn-default']); ?> </p> <div class="clearfix"></div> <?php echo $this->render('_form', ['model' => $model]); ?> </div>
public function getNameAndLinks() { $links = [Html::a('<i class="fa fa-eye"></i>', ['menu/view', 'id' => $this->id, 'ru' => ReturnUrl::getToken()]), Html::a('<i class="fa fa-plus"></i>', ['menu/create', 'top_id' => $this->id, 'ru' => ReturnUrl::getToken()], ['class' => 'modal-remote']), Html::a('<i class="fa fa-trash"></i>', ['menu/delete', 'id' => $this->id, 'ru' => ReturnUrl::getToken()], ['data-confirm' => '' . Yii::t('app', 'Are you sure to delete this menu?') . '', 'data-method' => 'post'])]; return implode(' ', $links) . ' | ' . $this->name; }
/** * return 'delete' link parameter * * @return array */ public function getParamsDelete() { $primaryKey = $this->model->primaryKey()[0]; return ['url' => [$this->actionRoute('delete'), $primaryKey => $this->model->getAttribute($primaryKey), 'ru' => ReturnUrl::getToken()], 'label' => 'Delete', 'icon' => Icon::create('trash'), 'linkOptions' => ['data-confirm' => 'Are you sure to delete this item?', 'data-method' => 'post', 'class' => 'text text-danger'], 'buttonOptions' => ['class' => 'btn btn-danger']]; }
use cornernote\menu\models\Menu; use slatiusa\nestable\Nestable; use yii\helpers\Html; use cornernote\returnurl\ReturnUrl; /** * @var yii\web\View $this */ $this->title = Yii::t('app', 'Menus'); $this->params['breadcrumbs'][] = $this->title; ?> <div class="menu-index"> <div class="clearfix"> <p class="pull-left"> <?php echo Html::a('<span class="fa fa-plus"></span> ' . Yii::t('app', 'Create') . ' ' . Yii::t('app', 'Menu'), ['create', 'ru' => ReturnUrl::getToken()], ['class' => 'btn btn-success modal-remote']); ?> </p> </div> <div class="menu-default-index"> <?php echo Nestable::widget(['query' => Menu::find()->where(['depth' => 0]), 'modelOptions' => ['name' => 'nameAndLinks'], 'pluginEvents' => ['change' => 'function(e) {}'], 'pluginOptions' => ['maxDepth' => 7]]); ?> </div> </div>
/** * Deletes an existing Menu model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param integer $id * @return mixed */ public function actionDelete($id) { $this->findModel($id)->delete(); Yii::$app->getSession()->setFlash('success', Yii::t('app', 'Menu has been deleted.')); return $this->redirect(ReturnUrl::getUrl(['index'])); }
<?php use yii\helpers\Html; use cornernote\returnurl\ReturnUrl; /** * @var yii\web\View $this * @var cornernote\menu\models\Menu $model */ ?> <!-- menu buttons --> <p class='pull-left'> <?php echo Html::a('<span class="fa fa-arrow-left"></span> ' . Yii::t('app', 'Back'), ReturnUrl::getUrl(['index']), ['class' => 'btn btn-default']); ?> <?php echo Html::a('<span class="fa fa-eye"></span> ' . Yii::t('app', 'View'), ['view', 'id' => $model->id, 'ru' => ReturnUrl::getRequestToken()], ['class' => 'btn btn-primary']); ?> <?php echo Html::a('<span class="fa fa-plus"></span> ' . Yii::t('app', 'Create') . ' ' . Yii::t('app', 'Menu'), ['top_id' => $model->id, 'create', 'ru' => ReturnUrl::getToken()], ['class' => 'btn btn-success modal-remote']); ?> <?php echo Html::a('<span class="fa fa-pencil"></span> ' . Yii::t('app', 'Update'), ['update', 'id' => $model->id, 'ru' => ReturnUrl::getRequestToken()], ['class' => 'btn btn-info']); ?> <?php echo Html::a('<span class="fa fa-trash"></span> ' . Yii::t('app', 'Delete'), ['delete', 'id' => $model->id, 'ru' => ReturnUrl::getRequestToken()], ['class' => 'btn btn-danger', 'data-confirm' => '' . Yii::t('app', 'Are you sure to delete this menu?') . '', 'data-method' => 'post']); ?> </p> <div class="clearfix"></div>