Commit b352704ae35faa9f8ba4787459c34eef977aa7e8

Authored by Yarik
1 parent 33e98dba

Image delete functionality

controllers/BannerController.php
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 2
3 namespace artweb\artbox\design\controllers; 3 namespace artweb\artbox\design\controllers;
4 4
  5 + use artweb\artbox\design\models\BannerLang;
5 use Yii; 6 use Yii;
6 use artweb\artbox\design\models\Banner; 7 use artweb\artbox\design\models\Banner;
7 use artweb\artbox\design\models\BannerSearch; 8 use artweb\artbox\design\models\BannerSearch;
@@ -141,6 +142,20 @@ @@ -141,6 +142,20 @@
141 142
142 return $this->redirect([ 'index' ]); 143 return $this->redirect([ 'index' ]);
143 } 144 }
  145 +
  146 + public function actionDeleteImage($id, $lang_id)
  147 + {
  148 + /**
  149 + * @var BannerLang $model
  150 + */
  151 + $model = BannerLang::find()->where(['banner_id' => $id, 'language_id' => $lang_id])->one();
  152 + if(empty($model)) {
  153 + throw new NotFoundHttpException();
  154 + }
  155 + $model->image = null;
  156 + $model->updateAttributes(['image']);
  157 + return true;
  158 + }
144 159
145 /** 160 /**
146 * Finds the Banner model based on its primary key value. 161 * Finds the Banner model based on its primary key value.
controllers/SliderImageController.php
@@ -182,6 +182,17 @@ @@ -182,6 +182,17 @@
182 ] 182 ]
183 ); 183 );
184 } 184 }
  185 +
  186 + public function actionDeleteImage($id)
  187 + {
  188 + $model = SliderImage::findOne($id);
  189 + if(empty($model)) {
  190 + throw new NotFoundHttpException();
  191 + }
  192 + $model->image = null;
  193 + $model->updateAttributes(['image']);
  194 + return true;
  195 + }
185 196
186 /** 197 /**
187 * Finds the SliderImage model based on its primary key value. 198 * Finds the SliderImage model based on its primary key value.
views/banner/_form_language.php
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 use artweb\artbox\components\artboximage\ArtboxImageHelper; 2 use artweb\artbox\components\artboximage\ArtboxImageHelper;
3 use artweb\artbox\design\models\BannerLang; 3 use artweb\artbox\design\models\BannerLang;
4 use artweb\artbox\language\models\Language; 4 use artweb\artbox\language\models\Language;
  5 + use yii\helpers\Url;
5 use yii\web\View; 6 use yii\web\View;
6 use yii\widgets\ActiveForm; 7 use yii\widgets\ActiveForm;
7 8
@@ -17,19 +18,33 @@ @@ -17,19 +18,33 @@
17 <?= $form->field($model_lang, '[' . $language->id . ']alt') 18 <?= $form->field($model_lang, '[' . $language->id . ']alt')
18 ->textInput([ 'maxlength' => true ]); ?> 19 ->textInput([ 'maxlength' => true ]); ?>
19 20
20 -<?= $form->field($model_lang, '['.$language->id.']image')->widget(\kartik\file\FileInput::className(), [  
21 - 'model' => $model_lang,  
22 - 'attribute' => 'image',  
23 - 'options' => [  
24 - 'accept' => 'image/*',  
25 - 'multiple' => false  
26 - ],  
27 - 'pluginOptions' => [  
28 - 'allowedFileExtensions' => ['jpg','gif','png'],  
29 - 'initialPreview' => $model_lang->imageUrl ? ArtboxImageHelper::getImage($model_lang->imageUrl, 'slider') : '',  
30 - 'showRemove' => false,  
31 - 'overwriteInitial' => true,  
32 - 'showUpload' => false,  
33 - 'showClose' => false,  
34 - ],  
35 -]); ?>  
36 \ No newline at end of file 21 \ No newline at end of file
  22 +<?= $form->field($model_lang, '[' . $language->id . ']image')
  23 + ->widget(
  24 + \kartik\file\FileInput::className(),
  25 + [
  26 + 'language' => 'ru',
  27 + 'options' => [
  28 + 'accept' => 'image/*',
  29 + 'multiple' => false,
  30 + 'deleteurl' => $model_lang->isNewRecord?false:Url::to(['/design/banner/delete-image', 'id' => $model_lang->banner_id, 'lang_id' => $model_lang->language_id]),
  31 + 'class' => $model_lang->isNewRecord?'':'artbox-delete-file',
  32 + ],
  33 + 'pluginOptions' => [
  34 + 'allowedFileExtensions' => [
  35 + 'jpg',
  36 + 'gif',
  37 + 'png',
  38 + ],
  39 + 'initialPreview' => !empty( $model_lang->getImageUrl(
  40 + 0,
  41 + false
  42 + ) ) ? ArtboxImageHelper::getImage($model_lang->imageUrl, 'slider') : '',
  43 + 'initialPreviewShowDelete' => false,
  44 + 'overwriteInitial' => true,
  45 + 'showRemove' => true,
  46 + 'showUpload' => false,
  47 + 'showClose' => false,
  48 + 'previewFileType' => 'image',
  49 + ],
  50 + ]
  51 + ); ?>
37 \ No newline at end of file 52 \ No newline at end of file
views/bg/_form.php
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
5 use artweb\artbox\design\models\BgLang; 5 use artweb\artbox\design\models\BgLang;
6 use artweb\artbox\language\widgets\LanguageForm; 6 use artweb\artbox\language\widgets\LanguageForm;
7 use yii\helpers\Html; 7 use yii\helpers\Html;
  8 + use yii\helpers\Url;
8 use yii\web\View; 9 use yii\web\View;
9 use yii\widgets\ActiveForm; 10 use yii\widgets\ActiveForm;
10 11
views/slider-image/_form.php
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
7 use artweb\artbox\language\widgets\LanguageForm; 7 use artweb\artbox\language\widgets\LanguageForm;
8 use kartik\select2\Select2; 8 use kartik\select2\Select2;
9 use yii\helpers\Html; 9 use yii\helpers\Html;
  10 + use yii\helpers\Url;
10 use yii\web\View; 11 use yii\web\View;
11 use yii\widgets\ActiveForm; 12 use yii\widgets\ActiveForm;
12 use kartik\date\DatePicker; 13 use kartik\date\DatePicker;
@@ -30,7 +31,9 @@ use kartik\date\DatePicker; @@ -30,7 +31,9 @@ use kartik\date\DatePicker;
30 'attribute' => 'image', 31 'attribute' => 'image',
31 'options' => [ 32 'options' => [
32 'accept' => 'image/*', 33 'accept' => 'image/*',
33 - 'multiple' => true, 34 + 'multiple' => false,
  35 + 'deleteurl' => $model->isNewRecord?false:Url::to(['/design/slider-image/delete-image', 'id' => $model->id]),
  36 + 'class' => $model->isNewRecord?'':'artbox-delete-file',
34 ], 37 ],
35 'pluginOptions' => [ 38 'pluginOptions' => [
36 'allowedFileExtensions' => [ 39 'allowedFileExtensions' => [
@@ -38,10 +41,13 @@ use kartik\date\DatePicker; @@ -38,10 +41,13 @@ use kartik\date\DatePicker;
38 'gif', 41 'gif',
39 'png', 42 'png',
40 ], 43 ],
41 - 'initialPreview' => $model->imageUrl ? ArtboxImageHelper::getImage($model->imageUrl, 'slider') : '',  
42 - 'overwriteInitial' => true,  
43 - 'showRemove' => true,  
44 - 'showUpload' => false, 44 + 'initialPreview' => !empty($model->getImageUrl(0, false)) ? ArtboxImageHelper::getImage($model->imageUrl, 'slider') : '',
  45 + 'initialPreviewShowDelete' => false,
  46 + 'overwriteInitial' => true,
  47 + 'showRemove' => true,
  48 + 'showUpload' => false,
  49 + 'showClose' => false,
  50 + 'previewFileType' => 'image',
45 ], 51 ],
46 ]); ?> 52 ]); ?>
47 <?= $form->field($model, 'end_at') 53 <?= $form->field($model, 'end_at')