Files
Aknaproff/HOTFIX_v4.1.19.md
Deploy Bot 64403d6fd6 v4.1.21: Реструктуризация проекта для Synology ARM
- Реструктуризация: src/ разбит на middleware/, utils/, repositories/ (удалены), routes/ (удалены)
- Добавлен src/original-html.ts — полный HTML с reportModal
- Добавлен src/index.tsx.backup — React-компонент с reportModal
- Миграции переименованы (0001_initial_schema.sql)
- Добавлена миграция 0018 (удалена позже)
- Docker: multi-stage build, wrangler.toml
- Frontend: public/static/app.js + style.css
- seed.sql добавлен
- Документация: CHANGELOG, CHANGES_v4.1.0-4.1.9, PROJECT_STRUCTURE
2026-01-14 18:37:00 +02:00

5.2 KiB
Raw Blame History

🔧 HOTFIX v4.1.19 - ИСПРАВЛЕНА ЛОГИКА БЛОКИРОВКИ VALMIS/VÄLJAS

Дата: 2026-01-14
Версия: v4.1.19 FINAL
Приоритет: HIGH (Критическая ошибка в логике)


📋 ПРОБЛЕМА

Неправильная блокировка VALMIS/VÄLJAS

Ожидаемое поведение:

  • VALMIS/VÄLJAS блокируются ТОЛЬКО если установлены error флаги (красные галочки ✗)
  • Текст в поле "Probleemid" (серая метка ⚠️) НЕ должен блокировать

Фактическое поведение (до v4.1.19):

  • В документации было написано что блокируется и по тексту problems
  • В коде проверка была правильная, но документация - неправильная
  • Пользователи не понимали когда будет блокировка

ИСПРАВЛЕНИЯ

1. Обновлена документация DATE_FIELDS_LOGIC.md

Секции VALMIS и VÄLJAS теперь чётко указывают:

### **ВАЖНО: ТЕКСТ ПРОБЛЕМЫ НЕ БЛОКИРУЕТ!**
Текст в поле "Probleemid" (серая метка ⚠️) **НЕ** блокирует VALMIS!

### **Блокировка:**
Поле **ЗАБЛОКИРОВАНО ТОЛЬКО**, если установлен **ЛЮБОЙ error флаг** (красная галочка ✗):
   - `worksheets_error = 1`
   - `cutting_error = 1`
   - `glazing_error = 1`
   - `ready_error = 1`
   - `issued_error = 1`

**НЕ блокируется**, если:
- Есть только текст в `production_records.problems` (серая метка ⚠️)
- Все error флаги = 0

2. Добавлена новая секция в конец документа

Создана секция "🔒 ВАЖНО: ПРАВИЛО БЛОКИРОВКИ VALMIS/VÄLJAS" с:

  • Подробным описанием правил
  • Код проверки блокировки из backend
  • Результаты тестирования

3. Обновлена таблица прав доступа

| VALMIS | Toggle | Admin/User | Появляется/Исчезает | Нет | ТОЛЬКО если error флаги (НЕ текст проблемы) |
| VÄLJAS | Toggle | Admin/User | Появляется/Исчезает | Нет | ТОЛЬКО если error флаги (НЕ текст проблемы) |

🧪 ТЕСТИРОВАНИЕ

Test 1: Только текст problems (должно НЕ блокироваться)

# Установить problems text БЕЗ error флагов
curl -X PATCH http://localhost:3000/api/records/3/problems \
  -d '{"problems":"Only text","errorFlags":{"worksheets":false,...}}'

# Попытка toggle VALMIS
curl -X PATCH http://localhost:3000/api/records/3/status \
  -d '{"field":"ready","date":null}'

# Результат: {"success":true} ✅ НЕ БЛОКИРУЕТСЯ

Test 2: С error flag (должно блокироваться)

# Установить error flag
curl -X PATCH http://localhost:3000/api/records/3/problems \
  -d '{"problems":"Text","errorFlags":{"worksheets":true,...}}'

# Попытка toggle VALMIS
curl -X PATCH http://localhost:3000/api/records/3/status \
  -d '{"field":"ready","date":null}'

# Результат: {"error":"blocked","message":"Vigade märked on seatud..."} ✅ БЛОКИРУЕТСЯ

📦 ФАЙЛЫ

Изменённые файлы:

  • /home/user/production_backup/backend/DATE_FIELDS_LOGIC.md - обновлена документация

Без изменений (код уже правильный):

  • src/index.tsx - backend логика была правильной
  • public/static/app.js - frontend логика была правильной

🚀 РАЗВЁРТЫВАНИЕ

Изменения только в документации, код не менялся!

# 1. Распаковать архив
unzip aknaproff_production_v4.1.19_FINAL.zip

# 2. Запустить как обычно
cd backend
docker-compose up -d --build

РЕЗУЛЬТАТ

  • Документация теперь ЧЁТКО описывает правила блокировки
  • Добавлена отдельная секция с примерами кода и тестирования
  • Обновлена таблица прав доступа
  • Все тесты пройдены успешно

📝 ЗАМЕТКИ

  • Код backend/frontend НЕ менялся - он уже был правильным
  • Изменения только в документации для ясности
  • Версия обновлена с v4.1.18 → v4.1.19 для отслеживания изменений

Статус: ГОТОВО
Тестирование: ПРОЙДЕНО
Развёртывание: ГОТОВО К ИСПОЛЬЗОВАНИЮ