Commit Graph

742 Commits

Author SHA1 Message Date
e10f2c413b fix(units): добавить проверку прав PlatformAdmin и исправить запрос связи
- Добавить name="submit" к кнопке формы
- Запретить PlatformAdmin доступ к CRUD операций UnitOfMeasure
- Исправить запрос sales_units_using через ProductSalesUnit.objects.filter

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 19:43:18 +03:00
1d4bbf6a6d fix(admin): исправить get_queryset в ProductAdmin
Заменить Product.all_objects.all() на super().get_queryset(request),
так как у модели Product нет менеджера all_objects (нет soft delete).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 19:23:00 +03:00
b31961f939 feat: add order form template HTML. 2026-01-18 18:45:34 +03:00
1400514fd3 fix: сохранение даты доставки в черновиках заказов
Исправлено чтение полей доставки из request.POST вместо form.cleaned_data,
так как они не включены в Meta.fields формы OrderForm.
Удалена отладочная информация.
2026-01-18 18:31:36 +03:00
0d882781da fix(orders): исправить удаление позиций заказа в формсете
- Исправлена логика удаления inline-форм для позиций заказа
- Добавлена обработка удаления сохранённых и новых форм
- Добавлено поле id и DELETE в OrderItemForm для корректной работы формсета
- Добавлена проверка на null для created_by на странице отладки
- Расширены права доступа к отладочной странице: теперь доступна owner и manager
- Добавлено логирование для отладки процесса обновления заказа
2026-01-18 17:16:34 +03:00
ab1e8ebd18 feat(mobile): скрыть виртуальную клавиатуру по enter
Добавляет обработчик события keydown для поля поиска. При нажатии
клавиши Enter вызывается метод blur(), чтобы скрыть виртуальную
клавиатуру на мобильных устройствах.
2026-01-18 15:35:44 +03:00
d182a7b16d feat(inventory): улучшить поиск товаров для инвентаризации
Добавлен параметр skip_stock_filter для отключения фильтрации по остаткам,
опция excludeKits для исключения комплектов из поиска, а также
добавлено явное указание API URL и расширенное логирование для отладки.
2026-01-18 11:12:17 +03:00
c4e7efc3b1 feat(mobile): добавить дропдаун "Ещё" в действия корзины
Добавлена кнопка выпадающего меню в мобильный интерфейс для доступа
к дополнительным функциям: "Отложенный заказ" и "На витрину".

Обновлен шаблон terminal.html с добавлением структуры дропдауна.
Добавлены стили в terminal.css для адаптивного отображения.
Реализована логика в terminal.js для обработки кликов по мобильным
кнопкам и вызова соответствующих десктопных действий.
2026-01-18 01:24:48 +03:00
c0401176a9 fix(ui): обновить текст заголовка 2026-01-18 00:45:50 +03:00
2f8a78cfa7 fix(ui): обновить текст заголовка товаров 2026-01-18 00:33:24 +03:00
16194a1167 fix(ui): исправить текст заголовка списка товаров 2026-01-18 00:32:57 +03:00
4fc4405a29 fix(ui): исправить текст заголовка страницы товаров 2026-01-18 00:25:08 +03:00
c77fcaf669 feat: Добавить мобильную адаптацию для POS-терминала
- Добавить фиксированную панель корзины внизу экрана на мобильных
  - Отображение количества товаров и суммы
  - Кнопки "Продать" и "Очистить" всегда доступны
  - Тап на панель открывает корзину как overlay

- Фиксировать поиск и категории сверху на мобильных
  - Поиск всегда виден при скролле
  - Категории в collapsible-блоке (сворачиваются)
  - Категории в 3 колонки на мобильных

- Улучшить поиск по токенам (разбивает фразу на слова)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 23:03:40 +03:00
9b4b1277ee feat: Add Docker infrastructure for multi-tenant Django application with services for database, caching, and task processing. 2026-01-17 18:27:57 +03:00
10ab804396 Fix celery queues: listen to photo_processing 2026-01-17 17:18:21 +03:00
cc0b01a922 feat: Add Docker entrypoint script. 2026-01-17 17:02:02 +03:00
9ab4c45448 feat: Add Docker entrypoint script. 2026-01-17 17:00:22 +03:00
c8205cc6f3 feat: Add Docker support with Dockerfile and entrypoint script. 2026-01-17 16:54:26 +03:00
62480db8af - пробел 2026-01-17 16:24:21 +03:00
959642b882 Ретерн 2026-01-17 15:00:10 +03:00
75b33526b2 refactor(uom_views): удалить неиспользуемую аннотацию usage_count 2026-01-17 14:42:15 +03:00
89da5eb4bb xnjj 2026-01-17 14:24:22 +03:00
1a35660ac2 sds 2026-01-17 14:14:44 +03:00
7e15eb5c7a er 2026-01-17 14:08:23 +03:00
7f360c56f4 йй 2026-01-17 13:58:53 +03:00
4caa1ac0f2 ww 2026-01-17 13:34:08 +03:00
96baff47f0 тест 2026-01-17 13:31:36 +03:00
9de3ed624c WOW тест 2026-01-17 13:09:50 +03:00
2f1f0621e6 feat: упростить создание заказов и рефакторинг единиц измерения
- Добавить inline-редактирование цен в списке товаров
- Оптимизировать карточки товаров в POS-терминале
- Рефакторинг моделей единиц измерения
- Миграция unit -> base_unit в SalesUnit
- Улучшить UI форм создания/редактирования товаров

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 03:34:43 +03:00
928b340486 style(pos): улучшить адаптивность сетки товаров
- Изменить брейкпоинт для 5 колонок с 992px на 1100px
- Увеличить ширину правой панели с 4/12 до 5/12 колонок

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 03:11:00 +03:00
18cca326af feat(pos): улучшить адаптивность POS-терминала для мобильных устройств
- col-md-8/4 → col-12 col-md-8/4 для корректного отображения на мобильных
- Кнопки действий: height: 60px → min-height: 44px (минимальный размер для тапа)
- Модальные окна: добавлен modal-fullscreen-sm-down/md-down
- Колонки внутри модалок: добавлен col-12 для мобильной адаптивности
- Увеличена мелкая кнопка отмены скидки: 32px → 40px
- CSS: добавлены медиа-запросы для мобильных устройств
  * min-height: 44px для полей ввода и кнопок
  * font-size: 16px предотвращает зум на iOS
  * Оптимизация отступов в модалках
  * UX улучшения для тач-устройств
  * Плавная прокрутка на iOS
- Исправлено перекрытие товаров корзиной на мобильных (position: absolute → relative)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 19:21:05 +03:00
c8284a6ac5 fix(pos): отключить автофокус на мобильных устройствах
Добавлено определение мобильных устройств через User-Agent и ширину экрана.
Фокус на поле поиска и поле ввода количества теперь устанавливается только
на десктопах, чтобы избежать появления экранной клавиатуры на мобильных.
2026-01-16 19:06:36 +03:00
edad388ea8 feat(orders): добавить WYSIWYG редактор для резюме заказа
Интеграция библиотеки Quill.js для форматирования текста в поле
резюме заказа. Добавлено отображение резюме в списке заказов с
возможностью раскрытия длинного текста. Обновлен вид резюме
в детальной странице заказа для поддержки HTML-разметки.
2026-01-16 18:46:04 +03:00
39e050f087 refactor(user_roles): использовать CustomUser напрямую 2026-01-16 12:57:29 +03:00
14188fbac4 feat(orders): добавить поле резюме заказа
Добавлено текстовое поле `summary` в модель `Order` для хранения краткого
описания заказа на естественном языке.

Обновлена форма `OrderForm` с добавлением виджета textarea, плейсхолдера и
стилей. В шаблоны `order_form.html` и `order_detail.html` добавлены элементы
для ввода и отображения резюме заказа. Создана соответствующая миграция.
2026-01-15 18:39:05 +03:00
ce486f35ca Перенос встроенных стилей из шаблона detail.html в отдельный CSS-файл transformation_detail.css 2026-01-15 15:09:38 +03:00
2ef537fff6 Добавлена возможность выбора анонимного системного клиента в форме заказа
- Убрана фильтрация системного клиента из результатов поиска (api_search_customers)
- Добавлен флаг is_system_customer в результаты API поиска
- Создан новый API endpoint api_get_system_customer для быстрого получения системного клиента
- Добавлена кнопка 'Аноним' для быстрого выбора системного клиента
- Системный клиент выделяется жёлтым цветом и иконкой инкогнито в выпадающем списке
- Улучшена компактность результатов поиска (уменьшен шрифт до 13px)
- Изменены пропорции полей: клиент 9 колонок, статус 3 колонки (было 6:6)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 12:54:56 +03:00
c7e03d258b Обновление админки и представлений для интеграций 2026-01-15 12:20:39 +03:00
fb3074a2ed Обновление конфигурации и зависимостей для AI сервисов 2026-01-15 12:20:25 +03:00
607c5ac8f4 Обновление структуры моделей интеграций 2026-01-15 12:19:44 +03:00
a23d714128 Добавление интеграции OpenRouter AI 2026-01-15 12:19:29 +03:00
401993526b Обновление GLM моделей до GLM-4 2026-01-15 12:16:56 +03:00
caeb3f80bd refactor(db): консолидация миграций и рефакторинг кода
Объединены изменения из промежуточных миграций в начальные миграции для упрощения истории базы данных.
Удалены миграции: accounts/0002, discounts/0002, orders/0003-0004, products/0002-0005, user_roles/0002, system_settings/0001-0002, integrations/0001-0002.
Добавлена автоматическая creation пользователя при установке пароля.
Обновлен UI страницы установки пароля с кастомным стилем.
Добавлен conditional rendering для кнопки синхронизации Recommerce.
Исправлены редиректы с 'index' на '/' в accounts views.
Добавлена проверка request.tenant в navbar и authenticate метод в auth backend.
2026-01-14 16:30:28 +03:00
e7672588c6 refactor: rename primary_category to external_category 2026-01-14 02:59:11 +03:00
1fb280607a feat(integrations): добавить поле primary_category и маппинг категорий для интеграций
Добавлена поддержка выбора основной категории (primary_category) для товаров и наборов, а также новая модель IntegrationCategoryMapping для связи категорий с внешними площадками. Теперь можно указать категорию товара, которая будет использоваться при экспорте на внешние площадки (Recommerce, WooCommerce и др.), с возможностью настройки маппинга категорий для каждого типа интеграции.
2026-01-14 01:53:38 +03:00
7fd361aaf8 docs(products): обновить описание синхронизации флагов
Уточнена инструкция в модалке: акцент на выборе флагов для
синхронизации, а не на изменении значений.
Удалены временные скрипты отладки API.
2026-01-13 22:55:12 +03:00
06a9cc05ca feat(products): добавить пояснение к маркетинговым флагам в модалке синхронизации
Добавлен информационный блок с объяснением, что флаги синхронизируются
с текущими значениями из системы на удалённый сайт.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 15:47:40 +03:00
eff9778539 fix(recommerce): использовать in_stock для определения наличия в API
- Добавить константу RECOMMERCE_INFINITY_COUNT = 999999 в mappers.py
- Изменить логику: product.in_stock определяет count (0 или 999999)
- Добавить test_count.py для тестирования поля count
- Обновить документацию recommerce_api.md с секцией Product Availability

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 14:35:10 +03:00
36090382c1 feat(products): улучшить интерфейс массовой синхронизации с Recommerce
- Добавить секцию маркетинговых флагов в модалку синхронизации
- Добавить кнопки "Выбрать все" для групп полей
- Улучшить UX отображения списка товаров

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:21:08 +03:00
3cffa9b05d fix(recommerce): исправить имена полей маркетинговых флагов для API
- is_new → new (API ожидает 'new', не 'is_new')
- is_popular → popular (API ожидает 'popular', не 'is_popular')
- добавить тестовый скрипт test_is_new.py для проверки флагов

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:06:39 +03:00