]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-417
authormarina <m.zozirova@gmail.com>
Wed, 28 May 2025 09:51:01 +0000 (12:51 +0300)
committermarina <m.zozirova@gmail.com>
Wed, 28 May 2025 09:51:01 +0000 (12:51 +0300)
erp24/controllers/WriteOffsErpController.php
erp24/views/write_offs_erp/_form.php

index f6434d127f8a829d6d3bb3f4f9d2ef4af122cd01..6a9df064417a303aea966aaf66ca42bb9f6d903a 100644 (file)
@@ -1071,6 +1071,23 @@ class WriteOffsErpController extends Controller
         return 'error';
     }
 
+    public function actionDeleteVideo($id)
+    {
+        Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
+
+        $filesDeleted = Files::deleteAll([
+            'entity_id' => $id,
+            'entity' => WriteOffsProductsErp::WRITE_OFFS_VIDEO,
+        ]);
+
+        if ($filesDeleted) {
+            return ['success' => true];
+        } else {
+            return ['success' => false];
+        }
+    }
+
+
     /**
      * Deletes an existing WriteOffsErp model.
      * If deletion is successful, the browser will be redirected to the 'index' page.
index 58eb6a9b4b5603654380eeb51420404c602a6558..fefe018817e1837a2d99caabdf42233cc1a4e66d 100644 (file)
@@ -256,6 +256,8 @@ $this->registerJsFile('/js/heic_to_jpg_replace.js', ['position' => \yii\web\View
                                 ->scalar();
                         }
 
+                        $deleteUrl = Url::to(['write-offs-erp/delete-video', 'id' => $data['id']]);
+
                         return [
                             'options' => [
                                 'multiple' => false,
@@ -284,9 +286,32 @@ $this->registerJsFile('/js/heic_to_jpg_replace.js', ['position' => \yii\web\View
                                 'initialPreviewConfig' => $videoUrl ? [[
                                     'type' => 'video',
                                     'caption' => basename($videoUrl),
-                                    'url' => Url::to(['delete-video', 'id' => $data['id']]),
+                                    'url' => $deleteUrl,
                                 ]] : [],
                             ],
+                            'pluginEvents' => [
+                                'filebeforedelete' => new \yii\web\JsExpression('function(event, key, jqXHR, data) {
+                    return new Promise(function(resolve, reject) {
+                        $.ajax({
+                            url: "' . $deleteUrl . '",
+                            type: "POST",
+                            dataType: "json",
+                            success: function(response) {
+                                if (response.success) {
+                                    resolve();
+                                } else {
+                                    alert("Ошибка удаления видео");
+                                    reject();
+                                }
+                            },
+                            error: function() {
+                                alert("Ошибка запроса на удаление видео");
+                                reject();
+                            }
+                        });
+                    });
+                }'),
+                            ],
                         ];
                     }
                 ],