update api for manager
This commit is contained in:
		| @@ -6,10 +6,14 @@ use backend\modules\document\models\TemplateDocumentField; | ||||
| use Yii; | ||||
| use backend\modules\document\models\Template; | ||||
| use backend\modules\document\models\TemplateSearch; | ||||
| use yii\base\Exception; | ||||
| use yii\data\ActiveDataProvider; | ||||
| use yii\helpers\FileHelper; | ||||
| use yii\web\Controller; | ||||
| use yii\web\NotFoundHttpException; | ||||
| use yii\filters\VerbFilter; | ||||
| use yii\web\Response; | ||||
| use yii\web\UploadedFile; | ||||
|  | ||||
| /** | ||||
|  * TemplateController implements the CRUD actions for Template model. | ||||
| @@ -72,14 +76,28 @@ class TemplateController extends Controller | ||||
|     /** | ||||
|      * Creates a new Template model. | ||||
|      * If creation is successful, the browser will be redirected to the 'view' page. | ||||
|      * @return mixed | ||||
|      * @return string|Response | ||||
|      * @throws Exception | ||||
|      */ | ||||
|     public function actionCreate() | ||||
|     { | ||||
|         $model = new Template(); | ||||
|  | ||||
|         if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||||
|             return $this->redirect(['view', 'id' => $model->id]); | ||||
|         if ($model->load(Yii::$app->request->post())) { | ||||
|             $model->template = UploadedFile::getInstance($model, 'template'); | ||||
|  | ||||
|             if (!empty($model->template)) { | ||||
|                 $pathToTemplates = Yii::getAlias('@templates'); | ||||
|                 $model->template_file_name = date('mdyHis') . '_' . $model->template->name; | ||||
|  | ||||
|                 if ($model->save()) { | ||||
|                     if (FileHelper::createDirectory($pathToTemplates, $mode = 0775, $recursive = true)) { | ||||
|                         $model->template->saveAs($pathToTemplates . '/' . $model->template_file_name); | ||||
|                     } | ||||
|                     return $this->redirect(['template-document-field/create', 'template_id' => $model->id]); | ||||
|                 } | ||||
|                 return $this->render('create', ['model' => $model]); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return $this->render('create', [ | ||||
| @@ -97,11 +115,34 @@ class TemplateController extends Controller | ||||
|     public function actionUpdate($id) | ||||
|     { | ||||
|         $model = $this->findModel($id); | ||||
| //        $pathToFile = Yii::getAlias('@templates') . '/' . $model->template_file_name; | ||||
|  | ||||
| //        if ($model->load(Yii::$app->request->post())) { | ||||
| //            $template = UploadedFile::getInstance($model, 'template'); | ||||
| // | ||||
| //            if (!empty($template)) { | ||||
| //                $path = Yii::getAlias('@frontend') . '/web/upload/documents/templates'; | ||||
| // | ||||
| //                $model->template = $template; | ||||
| //                $model->template_file_name = $model->template->name; | ||||
| //                $model->template_path = $path . '/' . $model->template->name; | ||||
| // | ||||
| //                if (!$model->template->saveAs($path . '/' . $model->template->name)) { | ||||
| //                    return $this->render('update', [ | ||||
| //                        'model' => $model, | ||||
| //                    ]); | ||||
| //                } | ||||
| //            } | ||||
| //            if ($model->save()) { | ||||
| //                return $this->redirect(['view', 'id' => $model->id]); | ||||
| //            } | ||||
| //        } | ||||
|  | ||||
|         if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||||
|             return $this->redirect(['view', 'id' => $model->id]); | ||||
|         } | ||||
|  | ||||
|        // $model->template = UploadedFile::getInstance($model, $pathToFile); // file($pathToFile); | ||||
|         return $this->render('update', [ | ||||
|             'model' => $model, | ||||
|         ]); | ||||
|   | ||||
| @@ -2,7 +2,6 @@ | ||||
|  | ||||
| namespace backend\modules\document\models; | ||||
|  | ||||
| use Yii; | ||||
|  | ||||
| class Template extends \common\models\Template | ||||
| { | ||||
|   | ||||
| @@ -18,7 +18,7 @@ class TemplateSearch extends Template | ||||
|     { | ||||
|         return [ | ||||
|             [['id'], 'integer'], | ||||
|             [['title', 'created_at', 'updated_at'], 'safe'], | ||||
|             [['title', 'created_at', 'updated_at', 'template_file_name'], 'safe'], | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
| @@ -63,7 +63,8 @@ class TemplateSearch extends Template | ||||
|             'updated_at' => $this->updated_at, | ||||
|         ]); | ||||
|  | ||||
|         $query->andFilterWhere(['like', 'title', $this->title]); | ||||
|         $query->andFilterWhere(['like', 'title', $this->title]) | ||||
|             ->andFilterWhere(['like', 'template_file_name', $this->template_file_name]); | ||||
|  | ||||
|         return $dataProvider; | ||||
|     } | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| <?php | ||||
|  | ||||
| use kartik\file\FileInput; | ||||
| use mihaildev\elfinder\InputFile; | ||||
| use yii\helpers\Html; | ||||
| use yii\widgets\ActiveForm; | ||||
|  | ||||
| @@ -10,10 +12,18 @@ use yii\widgets\ActiveForm; | ||||
|  | ||||
| <div class="template-form"> | ||||
|  | ||||
|     <?php $form = ActiveForm::begin(); ?> | ||||
|     <?php $form = ActiveForm::begin([ | ||||
|         'options' => ['enctype'=>'multipart/form-data']]); ?> | ||||
|  | ||||
|     <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> | ||||
|  | ||||
|     <?= $form->field($model, 'template')->widget(FileInput::classname(), [ | ||||
|         'options' => ['accept' => 'text/*'], | ||||
|         'pluginOptions' => [ | ||||
|                 'allowedFileExtensions'=>['doc','docx','txt'],'showUpload' => true | ||||
|         ], | ||||
|     ]);   ?> | ||||
|  | ||||
|     <div class="form-group"> | ||||
|         <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?> | ||||
|     </div> | ||||
|   | ||||
| @@ -0,0 +1,33 @@ | ||||
| <?php | ||||
|  | ||||
| use kartik\file\FileInput; | ||||
| use mihaildev\elfinder\InputFile; | ||||
| use yii\helpers\Html; | ||||
| use yii\widgets\ActiveForm; | ||||
|  | ||||
| /* @var $this yii\web\View */ | ||||
| /* @var $model backend\modules\document\models\Template */ | ||||
| /* @var $form yii\widgets\ActiveForm */ | ||||
| ?> | ||||
|  | ||||
| <div class="template-form"> | ||||
|  | ||||
|     <?php $form = ActiveForm::begin([ | ||||
|         'options' => ['enctype'=>'multipart/form-data']]); ?> | ||||
|  | ||||
|     <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> | ||||
|  | ||||
|     <?= $form->field($model, 'template')->widget(FileInput::classname(), [ | ||||
|         'options' => ['accept' => 'text/*'], | ||||
|         'pluginOptions' => [ | ||||
|                 'allowedFileExtensions'=>['doc','docx','txt'],'showUpload' => true | ||||
|         ], | ||||
|     ]);   ?> | ||||
|  | ||||
|     <div class="form-group"> | ||||
|         <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?> | ||||
|     </div> | ||||
|  | ||||
|     <?php ActiveForm::end(); ?> | ||||
|  | ||||
| </div> | ||||
| @@ -23,6 +23,7 @@ $this->params['breadcrumbs'][] = $this->title; | ||||
|             ['class' => 'yii\grid\SerialColumn'], | ||||
|  | ||||
|             'title', | ||||
| //            'template_path', | ||||
|             'created_at', | ||||
|             'updated_at', | ||||
|  | ||||
|   | ||||
| @@ -1,8 +1,9 @@ | ||||
| <?php | ||||
|  | ||||
| use backend\modules\document\models\DocumentField; | ||||
| use backend\modules\document\models\Template; | ||||
| use yii\helpers\Html; | ||||
| use yii\helpers\Url; | ||||
| use yii\web\YiiAsset; | ||||
| use yii\widgets\DetailView; | ||||
| use yii\grid\GridView; | ||||
|  | ||||
| @@ -13,7 +14,7 @@ use yii\grid\GridView; | ||||
| $this->title = $model->title; | ||||
| $this->params['breadcrumbs'][] = ['label' => 'Templates', 'url' => ['index']]; | ||||
| $this->params['breadcrumbs'][] = $this->title; | ||||
| \yii\web\YiiAsset::register($this); | ||||
| YiiAsset::register($this); | ||||
| ?> | ||||
| <div class="template-view"> | ||||
|  | ||||
| @@ -31,14 +32,56 @@ $this->params['breadcrumbs'][] = $this->title; | ||||
|  | ||||
|     <?= DetailView::widget([ | ||||
|         'model' => $model, | ||||
|  | ||||
|         'attributes' => [ | ||||
|             'id', | ||||
|             'title', | ||||
|             [ | ||||
|                 'attribute'=>'title', | ||||
|                 'format'=>'raw', | ||||
|                 'value' => function($model){ | ||||
|                     return   $model->title . Html::a( | ||||
|                         '<i class="glyphicon glyphicon-pencil"></i>', ['update', 'id' => $model->id], | ||||
|                         [ | ||||
|                             'title' => 'Update', | ||||
|                             'class' => 'pull-right detail-button', | ||||
|                         ] | ||||
|                     ); | ||||
|                 } | ||||
|             ], | ||||
|             'created_at', | ||||
|             'updated_at', | ||||
|  | ||||
|             [ | ||||
|                     'label'=>'template_file_name', | ||||
|                     'format'=>'raw', | ||||
|                     'value' => function($model){ | ||||
|  | ||||
|                         return   $model->template_file_name . Html::a('<i class="glyphicon glyphicon-pencil"></i>', Url::to(['actualizar', 'id' => $model->id]), [ | ||||
|                                  'title' => 'Actualizar', | ||||
| //                                 'class' => 'pull-right detail-button', | ||||
|                              ]); | ||||
|                      } | ||||
|  | ||||
|  | ||||
|             ] | ||||
|         ], | ||||
|     ]) ?> | ||||
|  | ||||
|     <?php | ||||
|     $button1 = Html::a('<i class="glyphicon glyphicon-trash"></i>', Url::to(['delete', 'id' => $model->id]), [ | ||||
|         'title' => 'Eliminar', | ||||
|         'class' => 'pull-right detail-button', | ||||
|         'data' => [ | ||||
|             'confirm' => '¿Realmente deseas eliminar este elemento?', | ||||
|             'method' => 'post', | ||||
|         ] | ||||
|     ]); | ||||
|     $button2 = Html::a('<i class="glyphicon glyphicon-pencil"></i>', Url::to(['actualizar', 'id' => $model->id]), [ | ||||
|         'title' => 'Actualizar', | ||||
|         'class' => 'pull-right detail-button', | ||||
|     ]); | ||||
|     ?> | ||||
|  | ||||
|     <div> | ||||
|         <h2> | ||||
|             <?= 'Поля шаблона:'?> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 iIronside
					iIronside