|
|
|
<?php
|
|
|
|
|
|
|
|
use yii\db\ActiveRecordInterface;
|
|
|
|
use yii\helpers\StringHelper;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This is the template for generating a CRUD controller class file.
|
|
|
|
*
|
|
|
|
* @var yii\web\View $this
|
|
|
|
* @var yii\gii\generators\crud\Generator $generator
|
|
|
|
*/
|
|
|
|
|
|
|
|
$controllerClass = StringHelper::basename($generator->controllerClass);
|
|
|
|
$modelClass = StringHelper::basename($generator->modelClass);
|
|
|
|
$searchModelClass = StringHelper::basename($generator->searchModelClass);
|
|
|
|
if ($modelClass === $searchModelClass) {
|
|
|
|
$searchModelAlias = $searchModelClass.'Search';
|
|
|
|
}
|
|
|
|
|
|
|
|
/** @var ActiveRecordInterface $class */
|
|
|
|
$class = $generator->modelClass;
|
|
|
|
$pks = $class::primaryKey();
|
|
|
|
$urlParams = $generator->generateUrlParams();
|
|
|
|
$actionParams = $generator->generateActionParams();
|
|
|
|
$actionParamComments = $generator->generateActionParamComments();
|
|
|
|
|
|
|
|
echo "<?php\n";
|
|
|
|
?>
|
|
|
|
|
|
|
|
namespace <?= StringHelper::dirname(ltrim($generator->controllerClass, '\\')) ?>;
|
|
|
|
|
|
|
|
use <?= ltrim($generator->modelClass, '\\') ?>;
|
|
|
|
use <?= ltrim($generator->searchModelClass, '\\') ?><?php if (isset($searchModelAlias)):?> as <?= $searchModelAlias ?><?php endif ?>;
|
|
|
|
use <?= ltrim($generator->baseControllerClass, '\\') ?>;
|
|
|
|
use yii\web\NotFoundHttpException;
|
|
|
|
use yii\web\VerbFilter;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* <?= $controllerClass ?> implements the CRUD actions for <?= $modelClass ?> model.
|
|
|
|
*/
|
|
|
|
class <?= $controllerClass ?> extends <?= StringHelper::basename($generator->baseControllerClass) . "\n" ?>
|
|
|
|
{
|
|
|
|
public function behaviors()
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
'verbs' => [
|
|
|
|
'class' => VerbFilter::className(),
|
|
|
|
'actions' => [
|
|
|
|
'delete' => ['post'],
|
|
|
|
],
|
|
|
|
],
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Lists all <?= $modelClass ?> models.
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function actionIndex()
|
|
|
|
{
|
|
|
|
$searchModel = new <?= isset($searchModelAlias) ? $searchModelAlias : $searchModelClass ?>;
|
|
|
|
$dataProvider = $searchModel->search($_GET);
|
|
|
|
|
|
|
|
return $this->render('index', [
|
|
|
|
'dataProvider' => $dataProvider,
|
|
|
|
'searchModel' => $searchModel,
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Displays a single <?= $modelClass ?> model.
|
|
|
|
* <?= implode("\n\t * ", $actionParamComments) . "\n" ?>
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function actionView(<?= $actionParams ?>)
|
|
|
|
{
|
|
|
|
return $this->render('view', [
|
|
|
|
'model' => $this->findModel(<?= $actionParams ?>),
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Creates a new <?= $modelClass ?> model.
|
|
|
|
* If creation is successful, the browser will be redirected to the 'view' page.
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function actionCreate()
|
|
|
|
{
|
|
|
|
$model = new <?= $modelClass ?>;
|
|
|
|
|
|
|
|
if ($model->load($_POST) && $model->save()) {
|
|
|
|
return $this->redirect(['view', <?= $urlParams ?>]);
|
|
|
|
} else {
|
|
|
|
return $this->render('create', [
|
|
|
|
'model' => $model,
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Updates an existing <?= $modelClass ?> model.
|
|
|
|
* If update is successful, the browser will be redirected to the 'view' page.
|
|
|
|
* <?= implode("\n\t * ", $actionParamComments) . "\n" ?>
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function actionUpdate(<?= $actionParams ?>)
|
|
|
|
{
|
|
|
|
$model = $this->findModel(<?= $actionParams ?>);
|
|
|
|
|
|
|
|
if ($model->load($_POST) && $model->save()) {
|
|
|
|
return $this->redirect(['view', <?= $urlParams ?>]);
|
|
|
|
} else {
|
|
|
|
return $this->render('update', [
|
|
|
|
'model' => $model,
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Deletes an existing <?= $modelClass ?> model.
|
|
|
|
* If deletion is successful, the browser will be redirected to the 'index' page.
|
|
|
|
* <?= implode("\n\t * ", $actionParamComments) . "\n" ?>
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function actionDelete(<?= $actionParams ?>)
|
|
|
|
{
|
|
|
|
$this->findModel(<?= $actionParams ?>)->delete();
|
|
|
|
return $this->redirect(['index']);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Finds the <?= $modelClass ?> model based on its primary key value.
|
|
|
|
* If the model is not found, a 404 HTTP exception will be thrown.
|
|
|
|
* <?= implode("\n\t * ", $actionParamComments) . "\n" ?>
|
|
|
|
* @return <?= $modelClass ?> the loaded model
|
|
|
|
* @throws NotFoundHttpException if the model cannot be found
|
|
|
|
*/
|
|
|
|
protected function findModel(<?= $actionParams ?>)
|
|
|
|
{
|
|
|
|
<?php
|
|
|
|
if (count($pks) === 1) {
|
|
|
|
$condition = '$id';
|
|
|
|
} else {
|
|
|
|
$condition = [];
|
|
|
|
foreach ($pks as $pk) {
|
|
|
|
$condition[] = "'$pk' => \$$pk";
|
|
|
|
}
|
|
|
|
$condition = '[' . implode(', ', $condition) . ']';
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
if (($model = <?= $modelClass ?>::find(<?= $condition ?>)) !== null) {
|
|
|
|
return $model;
|
|
|
|
} else {
|
|
|
|
throw new NotFoundHttpException('The requested page does not exist.');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|