]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-417
authormarina <m.zozirova@gmail.com>
Tue, 3 Jun 2025 06:37:44 +0000 (09:37 +0300)
committermarina <m.zozirova@gmail.com>
Tue, 3 Jun 2025 06:37:44 +0000 (09:37 +0300)
erp24/views/layouts/header.php
erp24/web/js/validate/validateForm.js

index 8d7221d43c16dfe74ea2b341640280a130fc39b9..a2133e2da7a7728cabc80df8158fa9d04c450f0f 100755 (executable)
@@ -110,8 +110,8 @@ $this->registerCss('
                                     <div
                                             class="d-flex justify-content-between align-items-center gap-2"
                                     >
-                                        <div class="<?= $styleBackground?> m-2 p-1 ps-2 pe-2 rounded-2"><?= $_SESSION['name_group_admin']?? '-'?></div>
-                                        <div class="<?= $styleBackground?> m-2 p-1 ps-2 pe-2 rounded-2"><?= $_SESSION['name_admin']?? '-'?></div>
+                                        <div class="<?= $styleBackground?> m-2 p-1 ps-2 pe-2 rounded-2 group-name"><?= $_SESSION['name_group_admin']?? '-'?></div>
+                                        <div class="<?= $styleBackground?> m-2 p-1 ps-2 pe-2 rounded-2 admin-name"><?= $_SESSION['name_admin']?? '-'?></div>
                                     </div>
                                 </div>
                                 <div class="dropdown header-notify d-flex">
index 980f3754d28b9aec5d59be08aed1e95f155d30ea..6af7529b03707364ff2f85e697097c854bf6faf3 100755 (executable)
@@ -1,5 +1,6 @@
 $(".form-validate button").click(function (e) {
     e.preventDefault();
+
     var form = $(this).closest('form')[0];
     var yiiform = $("#" + form.id);
 
@@ -25,27 +26,49 @@ $(".form-validate button").click(function (e) {
 
             let errors = data.errors || {};
 
-            const rows = $('.multiple-input-list__item');
-
-            let allRowsHaveImage = true;
-            rows.each(function () {
-                let row = $(this);
-                let hasImageInRow = row.find('.list-cell__images_row img').length > 0;
-                let fileInput = row.find('.list-cell__imageFiles input[type="file"]');
-                let hasFilesSelected = fileInput.length && fileInput[0].files.length > 0;
-                if (!hasImageInRow && !hasFilesSelected) {
-                    allRowsHaveImage = false;
-                    return false;
+            // Определим группу и имя текущего пользователя
+            let group = $('.group-name').text().trim();
+            let currentUser = $('.admin-name').text().trim();
+            let selectedStoreId = $('#writeoffserp-store_id').val();
+            let commentValue = $('#writeoffserp-comment').val().trim();
+
+            const specialStoreIds = ['1', '9', '28']; // Ванеева 181, Народная 36Б, пл. Революции 7А
+            const allowedCommentUsers = [
+                'Емельянова Ольга',
+                'Яшенкова Алена',
+                'Цветкова Ольга'
+            ];
+
+            // Проверки только для IT и нужных магазинов
+            if (group === 'IT' && specialStoreIds.includes(selectedStoreId)) {
+                // Проверка наличия фото или выбранного файла в каждой строке
+                let allRowsHaveImage = true;
+                $('.multiple-input-list__item').each(function () {
+                    const row = $(this);
+                    const hasImage = row.find('.list-cell__images_row img').length > 0;
+                    const fileInput = row.find('.list-cell__imageFiles input[type="file"]');
+                    const hasFile = fileInput.length > 0 && fileInput[0].files.length > 0;
+
+                    if (!hasImage && !hasFile) {
+                        allRowsHaveImage = false;
+                        return false;
+                    }
+                });
+
+                if (!allRowsHaveImage) {
+                    if (!errors['__common']) errors['__common'] = [];
+                    errors['__common'].push('Пожалуйста, добавьте хотя бы одно фото к каждому списанию.');
                 }
-            });
 
-            if (!allRowsHaveImage) {
-                if (!errors['__common']) errors['__common'] = [];
-                errors['__common'].push('Пожалуйста, добавьте хотя бы одно фото к каждому списанию перед сохранением.');
+                // Проверка на комментарий от разрешённых пользователей
+                if (commentValue.length > 0 && !allowedCommentUsers.includes(currentUser)) {
+                    errors['WriteOffsErp[comment]'] = [
+                        'Комментарий могут заполнять только Емельянова Ольга, Яшенкова Алена или Цветкова Ольга.'
+                    ];
+                }
             }
 
-            console.log('Ошибки перед alert:', errors);
-
+            // Обработка ошибок
             if (Object.keys(errors).length > 0) {
                 renderErrors(errors);
                 let allErrors = [];
@@ -57,8 +80,6 @@ $(".form-validate button").click(function (e) {
                     }
                 }
 
-                console.log('Собранные ошибки для alert:', allErrors);
-
                 alert(allErrors.join('\n'));
             } else {
                 yiiform.off('submit');
@@ -71,6 +92,7 @@ $(".form-validate button").click(function (e) {
 
     return false;
 
+    // Отрисовка ошибок на форме
     function renderErrors(errors) {
         var messages = [];