$(".form-validate button").click(function (e) {
e.preventDefault();
+
var form = $(this).closest('form')[0];
var yiiform = $("#" + form.id);
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 = [];
}
}
- console.log('Собранные ошибки для alert:', allErrors);
-
alert(allErrors.join('\n'));
} else {
yiiform.off('submit');
return false;
+ // Отрисовка ошибок на форме
function renderErrors(errors) {
var messages = [];