Files
watersurf-erp/HISTORY.md

5.9 KiB
Raw Blame History

История изменений ERP WaterSurf

2025-02-25 18:45 UTC Тёмная тема и обновлённый UI/UX

Проблема: Требовался современный тёмный интерфейс, минималистичный и удобный.

Решение:

  • Добавлена кастомная тема в static/css/theme.css: тёмный фон (оттенки #0d1117#21262d), акцент бирюзовый (#2dd4bf), типографика Inter, переменные для цветов и отступов.
  • Обновлён базовый шаблон: навбар с выпадающими меню в стиле темы, контейнер контента с ограничением ширины, сообщения (alerts) в стиле темы.
  • Все страницы переведены на карточки (ws-card), таблицы (ws-table) с чередованием и hover, кнопки (btn-ws-primary, btn-ws-secondary, btn-ws-danger), формы с группами полей и явными метками.
  • Учтены UX: читаемый контраст, фокус на полях ввода, разделители секций в формах, выравнивание чисел в таблицах, пустые состояния.

Изменения: base.html, registration/login.html, home.html, шаблоны references/* и documents/*, новый static/css/theme.css. В Dockerfile добавлен collectstatic при сборке образа.


2025-02-25 18:15 UTC Ошибка 500 при создании заказа клиента

Проблема: При открытии формы создания заказа клиента возникала ошибка 500 (AttributeError: 'NoneType' object has no attribute 'pk').

Решение: В CustomerOrderCreate.get_context_data при создании нового заказа self.object ещё None; обращение к self.object.pk вызывало исключение. Условие заменено на if self.object and self.object.pk, как в форме заказа поставщику.


2025-02-25 15:25 UTC Исправление 403 CSRF при входе

Проблема: При первой авторизации под администратором по https://erp.gen7x.ru возникала ошибка 403 (ошибка проверки CSRF, запрос отклонён).

Решение: Добавлена настройка CSRF_TRUSTED_ORIGINS в config/settings.py: указаны https://erp.gen7x.ru, а также localhost/127.0.0.1 для локальной отладки. При работе за Nginx Django проверяет заголовок Origin/Referer; без доверенного источника запросы с формы логина отклонялись.

Изменения: app/config/settings.py — список CSRF_TRUSTED_ORIGINS; опциональная переменная CSRF_TRUSTED_ORIGINS в .env.example.


2025-02-25 15:10 UTC Администратор и SSH для Git

Проблема: Требовалось создать первого администратора системы и настроить SSH для самостоятельного push в Gitea.

Решение:

  • Создан Django superuser (логин admin, пароль и email записаны в /root/docs/secrets/mysecrets.md).
  • Сгенерирован SSH-ключ для Gitea (/root/.ssh/gitea_cursor_agent_ed25519), публичный ключ добавлен в учётную запись cursor-agent через API.
  • В ~/.ssh/config добавлен хост git.gen7x.ru (HostName 127.0.0.1, Port 2222, User git, указан ключ).
  • Remote репозитория переведён на SSH: git@git.gen7x.ru:cursor-agent/watersurf-erp.git, выполнен успешный push ветки main.

Изменения:

  • README.md: секция «Git и пуш» обновлена с указанием SSH и отсутствия необходимости ввода пароля с сервера.

2025-02-25 15:00 UTC Начальная структура проекта (MVP)

Проблема: необходимо развернуть систему класса ERP для WaterSurf с веб-доступом, авторизацией и хранением данных в БД.

Решение:

  • Создан проект в /opt/watersurf-erp: Django 5, PostgreSQL 16, Docker Compose.
  • Реализованы справочники: Валюты, Виды заказов, Клиенты, Организации, Поставщики, Сотрудники, Счета денежных средств, Товары (CRUD через веб и админку).
  • Реализованы документы: Заказ клиента, Заказ поставщику (с табличными частями товаров), Поступление/Перемещение/Расход денежных средств (автогенерация номера).
  • Связь пользователь → сотрудник (профиль) для автоматической подстановки автора в документах.
  • Настроены Nginx (erp.gen7x.ru), добавлен volume в список бэкапов платформы.

Изменения:

  • Структура приложения: config, references, documents, users; шаблоны, формы, представления; миграции.
  • Файлы: README.md, HISTORY.md, .env.example, docker-compose.yml, Dockerfile, manage.sh, requirements.txt.

Проверка:

cd /opt/watersurf-erp
docker compose up -d
docker compose logs -f app
# Открыть https://erp.gen7x.ru/ (после перезагрузки Nginx)