# 🔧 CHANGES v4.1.3 - UI Polish & New User **Дата**: 2025-11-28 **Версия**: v4.1.3 **Тип**: UI Improvement + User Management --- ## 📝 Что изменено ### 1. Убрано слово "Sorteerimine" - **ДО**: Кнопка имела label "Sorteerimine" над ней - **ПОСЛЕ**: Только кнопка "ID" с иконкой сортировки (↕) - **Причина**: Более компактный и чистый UI ### 2. Добавлен новый пользователь "kasutaja" - **Username**: kasutaja - **Password**: tootmine - **Full Name**: Kasutaja - **Role**: user (обычный пользователь) ### 3. Уточнена система ролей **Три пользователя с двумя уровнями доступа**: | Username | Password | Full Name | Role | Уровень доступа | |----------|----------|-----------|------|-----------------| | kasutaja | tootmine | Kasutaja | user | Обычный пользователь | | aknaproff | demo123 | AKNAPROFF | admin | Администратор | | admin | demo123 | Administrator | admin | Администратор | **Права доступа**: #### User (kasutaja) - ✅ Просмотр всех записей - ✅ Изменение проблем (текст + галочки) - ✅ Просмотр Notes (read-only) - ❌ Изменение дат - ❌ Изменение MAT-1/MAT-2 - ❌ Добавление/редактирование/удаление записей #### Admin (aknaproff, admin) - ✅ Все права User - ✅ Изменение дат (toggle) - ✅ Изменение MAT-1/MAT-2 (toggle) - ✅ Изменение LÕIKUS/KLAAS/VALMIS/VÄLJAS (3-step cycle) - ✅ Добавление записей - ✅ Редактирование записей - ✅ Удаление записей **Примечание**: aknaproff и admin имеют одинаковый уровень доступа (оба admin). --- ## 🎨 Визуальные изменения ### ДО (v4.1.2): ``` ┌─ Kiir otsing ─────────────────────────────┐ │ Sorteerimine │ │ [ID ↕] │ │ │ │ Klient │ │ [Otsi kliendi järgi...] │ └───────────────────────────────────────────┘ ``` ### ПОСЛЕ (v4.1.3): ``` ┌─ Kiir otsing ─────────────────────────────┐ │ [ID ↕] [Klient: Otsi kliendi järgi...] │ └───────────────────────────────────────────┘ ``` **Преимущества**: - Более компактный UI - Меньше визуального шума - Интуитивно понятно, что кнопка ID для сортировки --- ## 📦 Изменённые файлы ### 1. public/original.html - Убран label с текстом "Sorteerimine" - Кнопка ID теперь без label (только иконка + текст) - Обновлена версия: `app.js?v=4.1.2` → `app.js?v=4.1.3` ### 2. seed.sql - Добавлен пользователь "kasutaja" с паролем "tootmine" - Обновлены комментарии с пояснением ролей - Добавлен SHA-256 hash для пароля "tootmine" ### 3. src/original-html.ts - Регенерирован embedded HTML ### 4. dist/_worker.js - Пересобран с обновлениями --- ## 🧪 Тестирование ### Проверка UI ✅ Кнопка ID отображается без label "Sorteerimine" ✅ Кнопка компактная и выровнена с другими полями ✅ Функционал сортировки работает (↑ ↓ ↕) ### Проверка нового пользователя ✅ Вход: kasutaja / tootmine ✅ Роль: user ✅ Доступ только к просмотру и изменению проблем ✅ Остальные функции заблокированы (alert) ### Проверка существующих пользователей ✅ aknaproff / demo123 - admin права ✅ admin / demo123 - admin права ✅ Оба имеют полный доступ --- ## 🔐 Учётные данные ### Production Users **Обычный пользователь**: - Username: `kasutaja` - Password: `tootmine` - Доступ: просмотр + изменение проблем **Администраторы** (одинаковые права): - Username: `aknaproff` | Password: `demo123` - Username: `admin` | Password: `demo123` - Доступ: полный **Гость** (без входа): - Кнопка: "Vaata ainult" - Доступ: только просмотр (read-only) --- ## 🔗 URLs - **Production**: https://3000-iabcqs9fpouqnd3allaai-82b888ba.sandbox.novita.ai - **Git Commit**: Будет добавлен после коммита --- ## 📊 Статус **Версия**: v4.1.3 **Статус**: ✅ Production Ready **HTTP Status**: 200 OK **JavaScript Errors**: 0 **Database**: Обновлена (добавлен пользователь kasutaja) --- ## 🚀 Deployment Instructions ### ⚠️ ВАЖНО: Требуется обновление базы данных! **На production сервере**: ```bash # 1. Скопировать seed.sql с новым пользователем scp seed.sql user@server:/path/to/webapp/ # 2. На сервере применить seed.sql docker-compose exec aknaproff-backend sh -c " cd /app && npx wrangler d1 execute webapp-production --local --file=./seed.sql " # 3. Проверить, что пользователь добавлен docker-compose exec aknaproff-backend sh -c " npx wrangler d1 execute webapp-production --local \ --command='SELECT username, full_name, role FROM users' " # Должно вывести: # - kasutaja | Kasutaja | user # - aknaproff | AKNAPROFF | admin # - admin | Administrator | admin # 4. Скопировать обновлённые файлы scp dist/_worker.js user@server:/path/to/webapp/dist/ # или scp public/original.html user@server:/path/to/webapp/public/ scp src/original-html.ts user@server:/path/to/webapp/src/ # и потом: npm run build # 5. Перезапустить docker-compose restart ``` ### Проверка после deployment ```bash # 1. Проверить HTTP curl -I http://localhost:8180 # 2. Войти в браузере под kasutaja/tootmine # 3. Проверить, что доступно только изменение проблем # 4. Войти под aknaproff/demo123 или admin/demo123 # 5. Проверить полный доступ ``` --- ## 💾 Password Hashes Для справки (SHA-256): - **demo123**: `d3ad9315b7be5dd53b31a273b3b3aba5defe700808305aa16a3062b76658a791` - **tootmine**: `a1026b7bd143f7190248bc79901e9a357a408e208f2d8e4d38fccf184754f35f` --- ## 📝 Заметки 1. **База данных изменена**: Добавлен новый пользователь, требуется применение seed.sql на production 2. **Роли**: aknaproff и admin - оба admin, kasutaja - user 3. **UI**: Более компактный, убран label "Sorteerimine" 4. **Cache-busting**: v4.1.3, нужен Ctrl+Shift+R после deployment --- **🎯 Готово!** UI упрощён, добавлен пользователь kasutaja (tootmine), система ролей уточнена.