[ "- Разработка шаблона страницы\r\n- Вывод блока Основных данных заказа\r\n-- Редактирование получателя\r\n-- Оставить комментарий к заказу\r\n- Вывод списка товаров заказа и упаковки\r\n-- Добавление товаров\r\n-- Изменение упаковки\r\n-- Создание Списка товаров из списка товаров заказа\r\n- Вывод блока \"Итого\"\r\n- Вывод блока \"Адрес доставки\"\r\n--Изменение адреса доставки\r\n- Вывод блока Служба доставки\r\n-- Изменение способа доставки\r\n- Вывод блока Способ оплаты\r\n-- Изменение способа оплаты с банковской карты на COD (cash/card on delivery)\r\n-- Изменение способа оплаты с COD на банковскую карту (получение ссылки на оплату)\r\n- Вывод блока \"Бонусная и подарочная карта \"\r\n--Списание дополнительных баллов в заказ ПК/БК\r\n--Привязка ПК/БК к заказу\r\n- Вывод блока Выбора с кем продолжать коммуникацию в следующий раз\r\n-- Изменение выбора в блоке Выбора с кем продолжать коммуникацию в следующий раз\r\n- Вывод блока с завершающими действиями по заказу\r\n-- Отмена заказа", "- Метод для Саджестов в полях ввода клиента\r\n- Поиск заказов клиента на странице Очередь заказов", "- Разработка шаблона страницы создания заказа\r\n- Вывод блока списка товаров заказа и выбора упаковки\r\n-- Наполнение списка товаров заказа (в клиентском контексте/вне клиентского контекста)\r\n- Вывод блока данных покупателя\r\n-- Правила автозаполнения полей (в контексте клиента/вне клиентского контекста)\r\n-- Вывод блока Выбора контакта для следующей коммуникации. Выбор клиента\r\n- Вывод блока \"Бонусная карта/ Подарочная карта/Промокод\"\r\n- Вывод блока Адрес доставки\r\n- Вывод блока Способ доставки\r\n-- Выбор и согласование интервала для собственной службы доставки \r\n- Вывод блока Способ оплаты\r\n-- Оплата счетом и отправка письма (кнопка \"Запросить реквизиты\")\r\n- Вывод итогового блока\r\n- Блок с кнопками \"Создать и подтвердить заказ\"\r\n- Отправка ссылки на оплату по email/sms\r\n", "Отображаются фильтры:\r\n- Бренд\r\n - Категория\r\n- Цвет\r\n- Размер\r\n- Цена\r\n- Сезон\r\n- Наличие по складам\r\n- Страна дизайна\r\n- Страна производства\r\n- Дополнительно (шильдики)\r\nв приведенной очередности", "Зайдя на страницу каталога отображается фильтр согласно макету из задачи CC-55", "Есть миграция, сущность, класс репозитория", "Зайдя на страницу каталога отображается фильтр с цветами согласно макету из задачи CC-47.\r\n", "Наличие миграции, сущености, класса репозитория", "Вывод поля \"Планируемый город доставки\"", "Вывод блока фильтров \"Бренд\".", "Вывод блока фильтра \"Страна производства\". ", "Вывод блока \"Наличие\", включающего: \r\n- Строкe отображения выбранных размеров псевдолинком, по нажатию на который открывается модалка \"Наличие на складах по размерам\"\r\n- Строки показыващие количество по складам в формате [название склада]:[количество]\r\nв табе (ДТ) или коллапс-блоке (моб) \"Наличие\".", "Открывается Модальное окно \"Регламент\" по нажатию на псевдолинк \"Регламент\".\r\nВ модальном окне выводится PDF с рекламентом.", "Вывод блока фильтра \"Цена\". ", "На ДТ вывод в таб \"Описание\", а на моб вывод коллапс-блока \"Описание\".\r\nПоля для вывода:\r\n- Состав\r\n- Страна производства\r\n- Страна дизайна\r\n- Уход\r\n- Техническое описание\r\n- Художественное описание", "Вывод блока фильтра \"Наличие по складам\"", "1) Нажать на кнопку \"Аналоги\" на ДТ в строке товара на странице Каталога.\r\n2) Вызывается окно Акалоги, данные соответствуют макету\r\n3) Сузить до мобильного вида, окно должно преобразоваться в моб вид.", "Вывод в КТ на ДТ во вкладку \"скидки и акции\", а на моб в блок \"Скидки и акции\":\r\n- Описание акции\r\n- Псевдолинк \"Регламент\" ", "Вывод шильдиков в табе (ДТ) или коллапс-блоке (моб) \"Наличие\".\r\nПри количестве шильдиков, достаточном для заполнения 2 рядов, остальные ряды прячем под коллапс, разворачиваемый по нажатию на псевдолинк \"развернуть\"", "Вывод блока фильтра \"Страна дизайна\". ", "Вывод выбранных параметров фильтра в блоке \"Выбранное\"", "Вывод модалки \"Таблица размеров\" при клике на псевдолинк \"Таблица размеров\"", "Вывод Overlay с элементами управления при наведении курсора/тапе по картинке товара.", "Вывод строк товаров в списке товаров на странице Каталога", "Вывод блока фильтра \"Размер\". Допущение: так как текущая реализация API NP не позволяет выводить размеры в привязке к категориям, допустима реализация как на сайте http://prntscr.com/lu0ier", "Вывод блока фильтра \"Цвет\". ", "Вывод модального окна \"Таблица размеров\" в фильтре \"Размеры\"", "Вывод модального окна \"Подробнее о товаре\" при клике на кнопку \"Подробнее о товаре\".", "Вывод модального окна \"Все остатки товара\" при нажатии на кнопку \"Смотреть все остатки\"", "Вывод блока \"Доступные размеры\", включающего: \r\n- Дропдаун с выбором размерной шкалы\r\n- Таблицы размеров (по клику должна открываться модалка \"Таблица размеров\")\r\n- Селектор размеров \r\nв табе (ДТ) или коллапс-блоке (моб) \"Наличие\". ", "Вывод блока \"Значения пресета\"", "Вывод блока фильтра \"Сезон\". ", "Вывод модалки с фото товара по нажатию на псевдолинк в строке товара на странице Каталога.", "1) В товарной строке нажать кнопку \"Луки\"\r\n2) Выводится модальное окно \"Луки\" (на моб. - полноэкранное)\r\n3) Сужаем окно до мобайла, верстка должна перестроиться.\r\n", "Вывод блока фильтра \"Катеория\". ", "Вывод блока \"Цвет\" в КТ.\r\n- Заголовок\r\n- строка \"Выбран:[название цвета]\"\r\n- селектор цвета", "Вывод блока с поиском, очисткой фильтра и кнопкой \"Список товаров\"", "Вывод блока \"Доставка\" в КТ.\r\nПри изменении города в поле доставка должно подтягиваться доступные способы и даты доставки\r\nПри вводе адреса (минимально до населенного пункта), должен выпадать дропдаун с саджестами адреса.\r\nПри подгрузке адреса должен показываться лоадер ", "Пользователь имеет возможность свернуть и развернуть отдельные блоки с фильтрами и основной блок со всеми фильтрами.\r\nСписок Разворачиваемых блоков:\r\nРазворачиваемый блок \"Фильтры\" (содержит в себе разворачиваемые блоки:\r\n- Бренд\r\n- Категория\r\n- Цвет\r\n- Размер\r\n- Сезон\r\n- Способ доставки и желаемая дата доставки\r\n- Наличие по складам\r\n- Страна дизайна\r\n- Страна производства", "Вывод модального окна при клике на псевдолинк в блоке \"Наличие\" в товарных строках.\r\nВ модалке доступны кол-во товаров по складам для каждого конкретного выбранного пользователем размера.", "Вывод шаблона страницы для всех товаров.", "Вывод данных и элементов в ДТ и Моб:\r\n- Бренд\r\n- Ссылка на tsum.ru + иконка для копирования в буфер обмена\r\n- Артикул ЦУМ + иконка для копирования в буфер обмена\r\n- Артикул производителя + иконка для копирования в буфер обмена\r\n- Пол\r\n- Сезон\r\n- Старая цена (перечеркнута)\r\n- Новая цена\r\n- Иконка \"Список товаров\" с каунтером\r\n- кнопка или иконка \"Добавить в список товаров\"\r\n- Кнопка Луки (при клике открывается модальное окно \"Луки\")\r\n- Кнопка \"Поделиться с коллегами\"", "Наличие сущности и миграции", "Должна быть сущность и миграция", "Должна быть сущность, миграция", "В результате должна быть ссылка на конфлюенс с описание архитектуры, использованных модулей и систем", "Вывод транскрипции в Каталоге", "1. В гитлабе появятся пайплайны со сборкой комитов и будет возможность задеплоить проект на стенд. \r\n2. В конфлюенсе появится описание, как был настроен деплой, какие параметры можно настраивать и как добавить новый стенд для деплоя.", "Обработчик начинает обновлять по одному цвету", "У пользователя есть возможность создавать, сохранять, редактировать пресеты, а также шарить их между другими пользователями ", "У пользователя должна быть возможность просматривать карточки товара в интерфейсе", "Все фильтры каталога работают, согласно описаниями задач эпика.\r\nСписок товаров меняется согласно значениям, примененным пользователем в фильтре", "У пользователя должна быть возможность создавать, удалять, редактировать списки товаров из интерфейса и превращать их в другие сущности согласно описаниям в задаче.", "На странице Каталога визуально доступны следующие возможности:\r\n- производить фильтрацию товаров\r\n- производить поиск товаров\r\n- просматривать товары согласно набранным значением фильтра", "- выводятся страницы отправленных списков и луков на tsum.ru", "- проблема с ошибкой решена или понимание, что решить не можем", "Происходит выбор размера, размер сохраняется на фронте в интерфейсе и состоянии, и, если это предусмотрено текущим контекстом, на сервер.\r\n", "- при логине есть возможность перейти на целевую страницу, на которую пытался перейти пользователь, а не только /catalog", "В контексте каталога Добавление нового товара в уже существующий заказ:\r\n1) кнопка \"список товаров\" меняется на \"заказ\"\r\n2) заголовок в сайдпанели \"заказ\" (бывш \"список товаров\") меняем на \"в заказе N товаров\"\r\n3) кнопка \"удалить из списка\" меняем на \"удалить из заказа\". Удаленные заказы с серым оверлеем не показываем\r\n4) кнопка сайдпанели \"еще действия упраздняется\"\r\n5) оранжевая кнопка \"на страницу списка\" меняем на \"перейти к заказу\" по нажатию - редирект на /order/orderNo", "Схема актуализирована и направлена в КЦ Online. ", "Схема согласована с КЦ Online и Offline. ", "- 2 метода сведены к одному\r\n- ручка на поиск при получении пустого значения выдает полный список пользователей", "- вывод строк в очереди заказов в табе очередь", "поиск заказов расширен:\r\n- ДР\r\n- CMI ID \r\n\r\nзадачи:\r\n- AG\r\n- GAPI", "1) описан AS IS - kb\r\n2) задача UX (если потребуется)\r\n3) задача CMI\r\n4) задача AG\r\n5) задача CMI API", "Вытекающие задачи:\r\n- cmi api\r\n- ux\r\n- cmi\r\n- ag", "- kb\r\n- задачи UX\r\n- задачи AG\r\n- задачи GAPI\r\n- задачи CMI API", "- разработан метод списания баллов с ПК", "1. Согласованное с КЦ (Online, Offline), ИТ ТЗ направлено в СС.\r\n2. Файл IVR переданы в СС. \r\n3. CC приступил к реализации ТЗ.\r\n", "- kb\r\n- задача на доработку api GAPI/NP", "Поля оформителя и получателя предзаполняются из данных виджета", "выводить маркеры для строк пользователей сайдпанели назначения:\r\n- признак активной сессии oauth (зеленый)\r\n", "в ответ ручек добавлен:\r\n- признак активной сессии в oauth", "- изменение формулировки \"отменить заказ\" на \"очистить корзину\"\r\n- вывод попапа", "- kb\r\n- задача GEO\r\n- задача AG\r\n- задача UX (если потребуется)\r\n- задача CMI (api, если потребуется)\r\n\r\n\r\n", "На выходе должен получится документ описывающий:\r\n1. Список задачи, которые должны быть решены в рамках 2-ого этапа.\r\n2. Расширенное описание, каждой из задач. \r\n3. В идеале необходимо получить согласование от КЦ.", "- задача AG\r\n- задача CMI", "выводить в строках удаленных товаров кнопку \"добавить еще один\" при условии sku есть в асс-те ИМ И у sku quantity > 0", "- автовыбираем агента из дропдауна\r\n- кнопки действий доступны только для уже выбранного агента доставки", "Из всех табов убрана возможность прикреплять файлы", "- задачи UX \r\n- задачи AG\r\n- задачи в GAPI\r\n- задачи в CMI API\r\n- kb", "- поставлены задачи AG\r\n- поставлены задачи GAPI\r\n- доставлены при необходимости задачи CMI", "В пространстве https://kb.int.tsum.com/display/CC/Call+Center\r\nзаведена соответствующая страница, с описанием сущностей. \r\n\r\n___________________________________________________________________________\r\n\r\nЗавела в конфе: \r\nhttp://kb.int.tsum.com/pages/viewpage.action?pageId=842501893", "- на пустой items[] выводим zero case", "- редактиролваание отправленных запрещено\r\n- добавлено действие \"копировать ссылку\" на странице списка списков и луков в отправленные\r\n", "- таблица обменов дополнена\r\n- организация обменов с АХ - поставить в известность АХ, зарядить в Машу\r\n- задачи CMI, AG, UX", "- создан компанент таблицы для очереди заказов", "- убрать каунтер и подсветку", "- реализован метод\r\n- описание\r\n- url", "- в метод, отдающий юзеров на страницу добавлена пагинация", "- добавлена пагинацию в oauth", "- убрана тень\r\n- свернутый виджет не закрывает панель меню\r\n- при скролле виджет стикается наверх как это происходит сейчас", "- описание ручки\r\n- url\r\n", "- сверстан zero case", "- kb\r\n- гуглотаблица\r\n- пуш Аксапты через Машу\r\n- задачи UX\r\n- задача CMI API\r\n- задача AG", "- редизайн и унификация строк заказа во всех табах на странице очередь заказов\r\nВыводятся все данные, которые можем вывести сейчас. Недостающее будет добавляться по мере готовности апи", "- kb\r\n- задача на NP (опционально)", "изменены формулировки в интерфейсах на с оператора на \"консультанта\"", "- статья на kb по признаку\r\n- поставить и прилинковать задачи на AG на проставление признака по дефолту и описание правила \r\n- добавить в текущие ручки CMI пользовательские значения признака \"общение по заказу\" ", "- сайдпанель вызывается при нажатии в сайдпанели корзины на \"еще действия\" -> \"оформить заказ\"\r\n- сайдпанель вызывается при нажатии на странице корзины на кнопку \"оформить заказ\"", "- Строки заказов не пустые под оператором\r\n- в url нет параметра &property=vip", "- задача или набор задач на MD (связать с этой)\r\n- kb\r\n- задачи AG", "- статья в kb или дополнение текущих статей по валидации заказа\r\n- задача в AG\r\n- задача в UX (контекст каталога \"создать заказ\" и \"редактировать заказ\")\r\n- дополнения в API для фронта (задача [API] [addition])", "- ссылка на gdoc", "- добавлена роль в ответ", "- в ответах на запрос пользователей и поиск пользователей не приходят пользователи с ролями, отличными от перечисленных", "- в сайдпанели каталога страницы создания образа добавлена возможность искать с параметром q=\r\n- обрабатывается ответ с ссылкой в /searh в каталоге и сайдпанели каталога в создании образа", "статья в конфлюенс\r\n\r\nзадачи \r\n- UX\r\n- AA\r\n- AG\r\n- CMI", "- поставлена задача в UX и дана ссылка\r\n- закрыта PM-1475", "- подготовлена схема\r\n- выложена в задачу и в PM-1281\r\n- PM-1281 в Done", "Размокать панель в части:\r\n- вывод строк пользователей\r\n- вывод поля поиска и подключение его к апи", "- изменена генерация ссылки по образцу NP-2993", "- проксируется метод\r\n- передан url", "- лоадер в \"найдено\" на время получения ответа", "- для ролей шиже admin выводим бэйсик форму авторизации по описанию в задаче", "1. Исследовать проблему почему не выводится дроп при наличии ответа и исправить\r\n2. по дефолту подставлять Москву до тех пор пока пользователь не выберет другое", "- ссылка на kb\r\n- задача на ux", "- описание контракта", "- ссылка на конфлюенс", "- задачи UX\r\n- описание confluence", "- выводится заголовок по правилу\r\n- троеточатся длинные значения", "- ссылка на kb", "- выведена отмена заказа в сайдпанели и на страницы корзины\r\n- заблокированы пункты меню", "- текущий список товаров становится корзиной\r\n- в список можно добавить только sku\r\n- изменение формулировки в кнопке \"список товаров\"\r\n- изменение заголовка на странице списка товаров\r\n- подсвечиваем ошибку добавления\r\n- показываем эир месседж ошибки добавления\r\n", "- Выводим ошибки после нажатия на \"создать заказ\" на странице создания образа", "- добавлена кнопка создания заказа на страницу создания образа\r\n- переход каталога в контекст заказа", "- предоставлена таблица маппинга ошибок по табам", "при получении ошибок валидации показывать их в каунтере в табах", "описаны\r\n- метод\r\n- url\r\n- ошибки", "- фронтовая валидация списка при нажатии на \"создать заказ\"\r\n-- виджет + не пустой список\r\n-- страница списка \r\n- блокировать вызов сайдпанели создания заказа", "список полей валидации расширен", "- убран селектор упаковок у упаковки 2 и далее\r\n- добавить тултип при наведении на кнопку\r\n", "- изменение формулировки в кнопке в правом нижнем углу страницы просмотра/редактирования заказа\r\n- вывод синего air message\r\n", "- Вывод пропапа\r\n- отправка запроса на отмену", "- вывод вариантов в дропдаун причин отмены заказа", "- предоставлена таблица", "описаны:\r\n- метод\r\n- url\r\n- ошибки", "- описание контракта \r\n- url\r\n-описание ошибок", "предоставлен полный формат отчета", "настроен редирект со страницы очищенного списка в каталог", "- Исследование проблемы задвоения ДР\r\n- Описать механизм склеивания идентификатора на стороне Аксапты\r\n- Описать универсальный механизм склеивания идентификатора\r\n\r\nссылка на общий док:\r\nhttp://docs.google.com/document/d/1N31bSyEj2r-sTXiw24WUG2gRCUt_6MMRzvN1ZlHqyV0/edit#", "- кейсы\r\n- As Is\r\n- To Be\r\n- ссылка на конфлюенс\r\n- добавлено в общий док https://docs.google.com/document/d/1N31bSyEj2r-sTXiw24WUG2gRCUt_6MMRzvN1ZlHqyV0/edit?usp=sharing", "- изменять формулировку в кнопке", "- описан контракт\r\n- дан url\r\n- реализован запрос", "- вывод поля, \r\n- реализация поиска\r\n- отображения поиска", "- добавалена роль в ответ запроса Cmi-1553", "- выводятся строки с позможностями пользователей по ролям", "Возможность выбора пользователя\r\nОтправка запроса на кнопку \"Применить\"", "- ответ по кейсу\r\n- ссылка на kb с описанием действий", "- кнопка \"убрать\" изменена на новый дизайн\r\n", "- выводится тултип при наведении на троеточащиеся значения", "- добавлена иконка\r\n- добавлена очистка при покидании поля\r\n- при активации поля подставляется +7\r\n- добавлено \"найти клиента\" в дропдаун на свернутом виджете \r\n ", "- предоставлен список", "- ссылка на kb\r\n- задача на UX (если потребуется)\r\n- рассказать РМу", "- заработал ПДД в каталоге, КТ", "- вывод лейблов заказа на странице просмотра \r\n", "описаны:\r\n- контракт\r\n- url\r\n- ошибки", "- изменение контекста каталога и списка товаров на Заказ при переходе из страницы Редактирования заказа после нажатия на \"Добавить товар\"", "- отправляется update заказа после нажатия на \"Сохранить N\"", "Ввод и Получение балансов ПК/БК\r\nВерификация ПК/БК\r\nСписание с ПК/БК\r\nУдаление из заказа ПК/БК\r\nПрименение купона на скидку\r\nОбновление страницы просмотра", "- вывод сайдпанели\r\n- вывод полей добавления ПК, БК, купона\r\n", "- вывод сайдпанели\r\n- отправка на бэк выбранных пользователем вложенийц", "- Размокан Запрос на уточнение статуса \"Создан\" для обновления формулировки \"Создан\" с строке сатуса заказа на странице просмотра заказа", "- вывод кнопки \"история\"\r\n- вывод сайдпанели истории с табами\r\n- фильтрация записей внутри табов\r\n- выгрузка в xlsx ", "размокана страница просмотра заказа", "- вывод товарных строк, недоступных к добавлению в новый заказ из дублирования \r\n- редирект на страницу корзины по нажатию на целевую кнопку", "- у всех товаров есть таблица размеров, кроме ns", "добавлен тултип при наведении на сокращенное описание в миниатюре товара в сайдпанели разделения заказа", "1) Каждому статусу заказа соответствует набор id действий с заказом\r\n2) Каждому id действия соответствует текст для информирования пользователя в блоке \"Вы можете\"\r\n3) При группировке статусов, для пользователя выводятся действия, соответствующие этому статусу (а не группе, как сейчас)", "- вывод кнопки \r\n- вывод в дропе \"действия\" в стики\r\n", "контракт, url, ошибки", "- контракт, url, ошибки", "- описание контракта и url, ошибки", "Выполнено:\r\n0) Удалить обертку сайднава над контентом \r\n1) Использование скролла переписать на window вместо нашего костыля с сайднавом\r\n2) Проверить фиксацию верхнего меню на прежнем месте\r\n3) Проверить совместную работу верхнего меню, фильтров в каталоге, стики панели в заказе и виджета клиента\r\n\r\n(если не будет адаптива на момент реализации задачи)\r\n4) Ширина сайта должна быть 1244px без горизонтального скрола, меньше - со скроллом (если не будет адаптива на момент реализации задачи)\r\n5) Высота сайта на странице лука не меньше 800 px (если меньше - то вертикальный скролл)\r\n6) Скроллы страницы, которые отображаются при её размере меньше 1244 на 800 должны сливаться со скролом страницы (не должно быть двух скроллов рядом)", "Меню функционирует без использования material библиотеки.", "описаны\r\n- контракт\r\n- url\r\n- ошибки", "- описание контракта\r\n- относительный url эндпоинта\r\n- таблица с возможными ошибками ", "- виджет прилепляется под меню на вершине страницы\r\n- виджет прилепляется кверху при скролле", "- в панель редактирования клиента в виджете клиента добавлен блок с присоединением БК/ПК\r\n- реализовано само присоединение с т.з. обменов ", "- описан контракт\r\n- относительный url эндпоинта\r\n", "- вывод сайдпанели\r\n- поиск карт лояльности\r\n- отправка смс клиенту\r\n- верификация карты\r\n- отправка запроса на присоединение", "- описание контракта\r\n- относительный url эндпоинта", "- строка разворачивается по клику на нее, а не только на \"развернуть\"", "- убраны чекбоксы из развернутых товарных строк", "- возвращаются только склады, на которых есть товары", "- таблицу размеров выводим с заголовком", "- компонент принимает на вход лишь модель с массивом Tab {title, link}\r\n- при переключении с табы на табу меняется активная таба\r\n- при переходе на url совпадающий с url табы с помощью сторонних инструментов (без нажатия на саму табу) меняется активная таба\r\n- заменены уже существующие табы на новые", "- при изменении цвета, шаблон страницы не меняется", "- фио обязательное поле\r\nпри попытке сохранить без фио:\r\n- подсветить поля фио (по стайлгайду зеплин)\r\n\r\n", "- описание контракта\r\n- относительный url стенда", "- описание контракта\r\n- относительный url эндпоинта\r\n", "- реализован метод обнуления бонусов КЛ и отмене холдированных бонусов (при наличии)", "- к бэку проекта подключены клиенты CS", "- описание контракта \r\n- относительный url эндпоинта ", "- выводится сайдпанель\r\n- генерится страница на tsum.ru, аналогичная отправленным лукам\r\n- отправляется ивент в CS\r\n", "- поставлена блокирующая задача в MD на дополнение нужным ивентом клиента md\r\n- описан контракт\r\n- предоставлен относительный url endpoint'а", "- для нужных статсов выводится иконка \"новый\"", "- вывод оверлея с комментариями при взятии заказа в работу", "- контракт\r\n- относительный url эндпоинта", "- изменение \"создан\" на другую формулировку", "- контракт\r\n- url эндпоинта", "- вывод строк не из ассортимента ИМ (lines в просмотре заказа с пустым item) с\r\n- для товаров из асс-та ИМ запрашиваем расширенное описание для развернутой товарной строки \r\n- на время ожидания ответа на запрос расширенных данных подсовываем лоадер", "- описание контракта\r\n- относительный url эндпоинта\r\n- заведена и поставлена блокирующей задача в MD", "\r\n- отправляется запрос на отправку ссылки на оплату клиенту на выбранный адрес коммуникации ", "- получение адресов коммуникации\r\n- вывод сайдпанели с выбором адреса коммуникации\r\n- можно добавлять поля со свободным вводом телефона или имейл (поля валидируются и с масками)", "- вывод сайдпанели", "- описание контракта\r\n- относительный url ", "- описан контракт\r\n- относительный url эндпоинта", "- описание структуры и семантики ивета\r\n- название и url", "- отправляется POST-запрос на применение фильтров при нажатию на кнопку \"применить\"\r\n- список заказов обновляется при применении фильтра \r\n- в таб \"клиент\" добавлены поля CMI ID и ДР", "- описание POST-запроса", "\r\n- получение списка операторов для таба Все операторы", "- получение комментариев 3 типов\r\n- добавление комментария 1 типа (с возможностью приложить изображение)", "- реализован ответ на /search, в котором все строки заказов с признаком vip если фронт передал property=vip\r\n", "- реализована ручка для получения тайтлов тасков\r\n- реализован поиск по ид тасков", "- организовать стору\r\n- вывести сайдпанель с табами\r\n- блокировать табы до перехода на следующий шаг оформления заказа\r\n- к предыдущим шагам можно вернуться", "- вывод сайдпанели создания с табами\r\n- табы переключаются только последовательно один за другим по нажатию на целевую кнопку (оранжевая, справа-снизу)", "- сделать стору для сайдпанели\r\n- сделать стору для страницы", "- дэйтпикер доступен после очистки фильтра", "Создать карказ страницы", "- вывод попапа при появлении ивента по условиям, описанным в задаче", "- предоставлен url с реализованным методом получения лет, в которые были заказы", "Фаб показывается без анимаций показа/скрытия на ДТ, моб, если чат-сессия начата", "нет направляющих на сайте", "Кнопка чата, в чекауте появляется поверх кнопки подтвердить покупку, без анимации.\r\nЦелевое поведение аналогично корзине.", "Файлы и классы модулей переименованы. Проект работает :)\r\nИзменения описаны в конфлуенс https://kb.int.tsum.com/pages/viewpage.action?pageId=835191387", "- кастомный скролл вместо системного", "Если текст выходит за пределы селектора - текст обрезать, подградиентить к концу. При наведении на селектор показывать тултип с полным значением", "для кейса на видео (скролл селекторов ракурса) скрыт скролл", "кнопки автоспасмилки нет в раскрытом виджете чата", "Очищать поля при отмене", "Обновлять страницу автоматически по триггеру нажатия на \"i\"", "Скроллбар НЕ показывается поверх фикспанели при скролле", "Текущий список товаров показывается в панели, холст пуст, предыдущий лук сохранен, при попытке покинуть страницу редактирования лука показывать нотификацию\r\n", "товары добавляются на холст", "в кейсе сохранения черновика списка/лука через сайдпанель работает отдельная механика выделения \"личный\" и \"публичный\"\r\n- Личный\r\n- Публичный\r\nработают как обычный радо баттон без возможности анчекнуть оба, как это работает в других кейсах", "поиск по названию работает", "После сохранения текщим списком становится новый пустой список", "- вывод в сайдпанели таба \"оплата\"\r\n- получить из мока способы\r\n- можно тыкать в радиобаттоны\r\n\r\n\r\n", "- вывод сайдпанели, таба \"упаковка\" (с данными)\r\n- выбрать товары из списка товаров заказа \r\n- упаковать отдельно выбранные товары\r\n- сделать запрос на обновление заказа по нажатию на целевую кнопку в сайдпанели", "- выводить данные в табе в сайдпанели (строка адрес)\r\n- получать саджесты (есть ручка в каталоге уже)\r\n\r\n", "- вызов сайдпанели с открытым табом (данные в табе есть)\r\n- возможность редактировать", "- вызов сайдпанели отмены\r\n- вывод сайдпанели с полями\r\n- блокирование кнопки отмены при непопадани и в условие возможности отмены (см конфлюенс, есть зависимость от статуса заказа)\r\n", "- в рамках задачи делаем вывод сайдпанели с табами по типам комментариев\r\n- выводим в табах комментарии (в табе \"Оператора к заказу\" пока не выводим историю)\r\n- организовано добавление комментария (пока без приложенного файла)", "- вывод блока с образами на странице просмотра заказа\r\n- вывод сайдпанели образов", "- вывод данных для блока оформитель/получатель на странице заказа", "- вывод полосы (шаги НЕ переключаются)\r\n- вывод актуального статуса (оранжевый)\r\n- вывод псевдолинка \"доступные действия\"\r\n- вывод по клику бабла с перечнем доступных действий", "горизонтальный скролл, если ширина вьюпорта меньше 1244 px\r\nвертикальный скролл, если высота меньше 800px", "Скрыты скроллы в блоке списков товаров страницы", "- state каталога переведен на akita\r\n- функционал каталога работает как и раньше, без изменений", "- ручка для batch remove from list", "1. Переключатель фотографий сохраняет своё состояние видимости при перемещении фото.\r\n2. При отображении рамки ресайта и без неё переключатель отображается по наведению на весь товар (а не только на правую часть)\r\n3. Мерцание переключателя отутствует", "- в рамках задачи только переход на страницу просмотра/редактирования заказа", "- вывод сайдпанели с операторами\r\n", "- отправка POST запроса на получение отфильтрованного списка\r\n- синхронизация введенных значений с сайдпанелью\r\n", "- вывод сайдпанели согласно ролям", "выводить лейбл offline в товарной строке в блоке наличие", "корсор зажатая ладонь при дреге", "при наведении курсора на ресайз контролы (см скрин)\r\nнеобходимо менять форму курсора на *-resize", "кнопка \"сохранить образ\" всегда остается выше фото.", "если пришел апперкейс в адресе имейла, поднимать виджет\r\nадрес имейл регистронечувствительный", "скролл сайта независим от открытой виртуальной клавиатуры", "кнопка чата не уезжает за пределы вьюпорта", "чат открывается на весь экран", "кнопки back-to-top и чата должны разделять минимум 10 пикселей", "в запрос batch-play добавлена информация об остатках и складах", "- при возврате на страницу с открытым виджетом чата, нужно сделать расфокус текстового поля на устройствах ipad ", "- чат после начала сессии не блокирует скролл страницы сайта", "отвязать поведение от появления кнопки “наверх” и показывать кнопку чата, как только юзер проскроллил достаточно, чтобы под неё было место", "- чат скрыт до того момента пока пользователь не проскролит страницу (не появится кнопка \"наверх\")\r\n- если на странице не хватает контента для скролла, чат always on", "редактирование имейла и телефона должно быть доступно вне зависимости из какого канала был создан клиент (кроме каналов имейл и телефон соответственно, входящий адрес коммуникации нередактируем)", "поле телефон не является обязательным, если виджет был поднят в канале email", "- перетаскивание товаров на холст возможно и не валится с ошибкой", "выводится статика для блока", "post запрос на закрытие виджета клиента работает", "кликабельна вся кнопка", "- сверстан плейсхолдер для 0 товаров в поиске", "если размеров нет или NS - поле размер disabled визуально", "фронт не дает в поля цены вводить отрицательные значения", "Показываем тултип с полным текстом на hover по сокращенному тексту", "поправлено системное сообщение при валидации файла по описанию задачи", " - создан компонент text area\r\n", "Сделать валидацию model_id (обязательно) - item_id (обязательно) - sku_id (не обязательно) только по наличию в запросе от фронта (базовая валидация)", "- представление товара на холсте - ТОЦ\r\n- доступен мультивыбор", "На mobile web иконка чата должна быть в слое ниже, чем дроп-апы и поп-апы", "Заголовок X-Auth-Token отправляется без Bearer и соответсвует тому который пришел с бекенда CMI", "Выводить сообщение \"Конец переписки за [время]\" только при полученгии ивента chat_session_end от СС", "- реализовать метод\r\n- повесить триггеры на кнопки \"все добавлено\" и \"отменить\"", "- унифицировать внешний вид строки клиента по дизайну UX-70", "верстка формы oauth изменена\r\nвизуальный вывод ошибок изменен", "Не выводить в списке луков луки, у которых все товары с признаком visible == 0", "- СП соответствует макету", "Отображение в соответствии с дизайном, валидация", "Поля отображаются, валидируются, осуществляется переход на следующий шаг оформления заказа (доставка)", "- создавать лук из переданных тоц/skuid\r\n- возвращать лук", "- Вывод сайдпанели\r\n- Отправка флага \"основной клиент\" на бэк", "Проверить разработанное по скоупу:\r\nhttps://docs.google.com/spreadsheets/d/14pvgs3fAtjteyOo-Kc1cY-JHpyDzPpC3beIe-jbUVZQ/edit#gid=436485199\r\nна устройствах:\r\n- ПК (веб)\r\n- андроид телефон\r\n- андроид планшет\r\n- iPhone\r\n- iPad", "В сайдпанель \"еще N фото\" товаров в каталоге добавлен маркер активного фото", "инпуты \"телефон\" валидируются в \r\n- сайдбар редактирования\r\n- сайдбар создания", "задизейблен адрес вход коммуникации в редактировании и создании клиента", "В методе публикации лука на tsum.ru должны попадать только товары с признаком visible", "- пользователю доступен просмотр в списках списков\r\n- пользователю доступен просмотр в списках луков", "Закрывать виджет при получении post запроса в api /communication/", "- вывод сайдпаели выбора клиента\r\n- отправка признака \"основной\"\r\n- изменение данные виджета на данные выбранного в смайдпанели клиента", "- вывод редактирования\r\n- пользователь может редактировать клиента в crm\r\nне вы рамках данной задачи:\r\n- вывод сайдпаниели предпочитаемых\r\n- окрашивание икокок каналов цветами", "сохранение отредактированного отправленного списка\r\n- если CMI-1171 не выполнена и не вмержена, то отсутствие ссылки на список/лук ошибкой не считать", "Выводятся размеры с флагом avaliabilityInStock == 1 на уровне skuid в селекторе размеров", "- вывод кнопки вызова сайдпанели Скопировать ссылку в сайдпанель Сохранения списка\r\n- Вывод сайдпанели Генерации ссылки по нажатию", "- вывод СП для полной отмены заказа с причинами отмены\r\n- отмена заказа (вызов метода отмены)\r\n", "- сохранение изменений списка", "- удаление списка и очистка списка", "В сайдпанели образы не воводится селектор и образы, в которых менеее 2 товаров", "- кнопка образы в товарной строке выводится только в случае, если в образе более одного товара в наличии", "Коммент отображается", "- вывод истории заказа (2 табов)\r\n- фильтрация строк\r\n- можно выгрузить в excel", "Отображение оверлея с требуемыми данными", "Отображение вышеперечисленных комментариев и истории заказа", "Переход на оформление заказа", "Вывод опции копирования во всех табах, осуществления копирования", "- реализован текущий список\r\n- реализованы разные текущие списки товаров в разных экземплярах cmi одного пользователя\r\n- реализовано изменение текущего списка в рамках одной пользовательской сессии одного экземпляра CMI", "разворачивание виджета\r\nсворачивание виджета\r\nвывод контента на виджете", "КТ приведена к дизайну", "- выводим сайдпанель с текстом \"для данного товара отсутствует образ\" если кнопка \"образы\" была нажата в товарной строке, в которой не удовлетворено правило \"если среди ТОЦ лука более, чем 1 модель (помимо той, к которой привязан лук) есть в наличии.\"", "На сайд панели образов товара в Каталоге есть кнопка \"добавить в список весь образ\".\r\nПри нажатии на кнопку в список добавляется все ТОЦ или skuid образа, дополнительно к тем товарам, которые есть в списке.", "- при повторной коммуникации, клиент должен определяться в СС и в CMI должен подниматься виджет клиента", "Нотификации показываются выше виджета", "- Сохранение по триггерам\r\n- Сохранение из сайдпанели\r\n- Публикация на tsum.ru из сайдпанели", "- вывод оверлея с основными данными по товару", "вывод сайдпанели товаров лука", "- Вывод холста\r\n- добавление на товаров на холст из блока списка товаров\r\n- дрэг фото по холсту\r\n- ресайз фото на холсте\r\n- очередность слоев в стопке соответствует очередности активации слоев\r\n", "- вывод интерфейса выбора ракурса товара на холсте\r\n- изменение ракурса товара", "- вывод действий со списком для:\r\n-- выбранных пользователем товаров\r\n-- для всего списка", "вывод пустого списка товаров", "- вывод попапа с предупреждением\r\n- удаление товаров из списка", "- вызов сайдпанели сохранения списка\r\n- вывод сайдпанели сохранения списка\r\n- сохранение списка как личного\r\n- сохранение списка как публичного\r\n- вывод нотификации об успешном сохранении\r\n", "Вывод дроп-апа \"действия со списком\"", "- Добавление ТОЦ и skuid в список\r\n- Текст в кнопке меняется с \"добавить в список\" на \"добавить еще\" и обратно согласно кейсам в описании", "Вывод товарных строк в блоке товаров страницы Список товаров", "выводить десктоп верстку cmi при входящих вызовах", "- Вывод страницы списка товаров\r\n-- хлебные крошки\r\n-- Заголовок\r\n-- дропдаун \"Действия со списком\"\r\n-- кнопка \"Создать заказ\"\r\n-- каунтер\r\n-- пагинация\r\n-- Блок товарных строк", "Для свернутого виджета неопределенного клиента в дропдаун выводим \"найти клиента\"", "В поля телефон имплементировать маску - http://andr-04.github.io/inputmask-multi/ru.html\r\n\r\nПод полем добавляем вывод страны италикой 10px", "добавлена иконку копирования в cmi id в интерфейс выбора клиента", "Добавлена нотификация при копировании данных в виджете в буфер обмена", "Свернутое состояние становится дефолтным\r\n", "Свернутое состояние становится дефолтным\r\nТекущее свернутое состояние убрано\r\nВиджет разворачивается/сворачивается", "В сайдпанелях создания и редактирования убраны из дропдауна выбора предпочитаемых способов связи адреса коммуникации канала web chat", "Поля на фронте адаптированы под изменение структуры ответа саджестов гео", "в тултип выводятся адреса коммуникации", "Увеличить кликабельную область до указанной на скриншоте в задаче", "В ответе на запрос /get-label передается флаг, открыт ли у оператора ", "Выведена иконка со знаком вопроса у поля ФИО .\r\nПри наведении показыватся тултип с текстом:\r\n1 слово - поиск по фамилии\r\n2 слова - поиск по фамилии и имени\r\n3 слова - поиск по фамилии имени и отчеству", "- вывод сайдпанели с пустыми табами", "Присваивать cmi id _main contact == true_ при add communication address, sync, create", "Если пользователь находится на странице редактирования лука или на списке товаров и ему прилетает запрос на поднятие виджета: \r\n1. Сохранить список или лук\r\n2. Редиректить на каталог \r\n3. Поднимать виджет ", "при выборе какими данными заполнить виджет клиента, реализовать правило cmi id с ФИО > сmi id без ФИО и выводить данные известного клиента", "Виджет меняется при создании из адреса коммуникации веб-чат с неопределенного типа на определенный", "- вызов сайдпанели таба \"упаковка\"\r\n- отправка апдейта заказа на целевую кнопку ", "- вывод удаленной строки \r\n- отправка запроса на удаление при нажатии на соответствующую кнопку\r\n- вывод попапа\r\n\r\n", "- вызов сайдпанели \"номенклатура\"\r\n- получить способы доставки для адреса в заказе\r\n- добавление товара из сайдпанели", "- список товаров приведен к внешнему виду https://zpl.io/ameONpe", "При подъеме виджета список товаров должен быть пуст (создается новый список).", "- вывод строк (без апи)", "- вывод фикспанели\r\n- вывод дропа с действиями", "- вывод кнопки\r\n- дизэйблить по условиям\r\n- переход в каталог по нажатию", "- вывод сайдпанели таба объединения\r\n- отправка запроса на объединение", "- вывод сайдпанели с контентом для действия заказа \"разделить заказ\"\r\n- отправка POST-запроса на разделение\r\n- выводим ошибку при попытке разделить заказ с одним списком\r\n- вывод красного air-message с ошибкой при попытке нажать на кнопку ", "- Вывод фикспанели на странице просмотра заказов клиента\r\n- вывод оверлея с комментариями", "При осуществлении поиска, если результат не найден, выводить текст \"Никто не найден\" в блоке \"Найдено\" под заголовком", "фронт + обмен с crm\r\n\"создать клиента\":\r\n- можно добавлять больше телефонов и имейл\r\n- предпочитаемый способ связи сделан по аналогии с редактированием\r\n- есть чекбокс \"не соединять с им\"", "необходимо, чтобы фото товаров предыдущего списка не попадали на холст", "На шаге 3 в описании должен был вернуться тот же клиент с добавленным email", "Создание клиента из CMI в crm работает", "поиск по ДР работает ", "Когда в /by-communication приходит несколько клиентов, поднимаентся виджет определенного клиента, доступен интерфейс выбора клиента\r\n", "Из кебаб меню интерфейса выбора клиента удалены\r\n- удалить\r\n- присоединить\r\n\r\nВ crm отправляются признаки по описанию\r\nКрестик работает по описанию\r\nКопирование адреса коммуникации в буфер работает\r\n", "- цена в товарной строке увеличивает или уменьшает свой кегль в зависимости от размера блока, выделенного под вывод цены", "снято ограничение с поля ФИО в сайдбаре редактирование и создание клиента", "Во временном хранилище фиксируется актуальный список адресов коммуникации и признаков предпочитаемости", "описано в to be", "1) Поднял виджет неопределенного пользователя в канале \"телефон\" \r\n2) Создал пользователя, дополнительно указав почту\r\n3) Поднял виджет созданного пользователя по почте в канале имейл \r\n4) Поднимается карточка созданного пользователя", "В тултипе в блоке \"найдено\" при наведении курсора выводить настоящие ФИО клиента", "При незаполненном ФИО в by-communication поднимать \"неопределенный\" тип виджета", "- при редактировании можно добавлять поля к телефону и имейл\r\n- значения, введенные пользователем уходят в crm", "Скрыты поля из интерфейсов виджета согласно описанию", "- поднимать виджет только по ссылке с get-параметрами\r\n- опускать виджет из сокета", "- возвращается столбец сортировки и направление сортировки", "На страницах: список списков и список луков:\r\n- выводится id подьзователя в таблице под ФИ\r\n- выводится id списка/лукав таблице под названием списка/лука", "- Признак VIP выводится в виджетах клиента вне зависимости от роли пользователя", "Вывод соответствующего заголовка, в зависимости от get-параметра type \r\nпри ручном выводе на странице \"клиенты\" выводится тип виджета имейл", "- Вывод сайд-панели поиска клиента\r\n- Присоединение незнакомого адреса коммуникации ", "- Вывод кнопки \"Список товаров\" в КТ и Каталоге\r\n- Каунтер в кнопке выводит количество товарных строк", "Верстка страницы приведена к макету в Zeplin", "- Вывод товарной строки на странице Каталог", "- Вывод иконки поиска без применения фильтра\r\n- Вывод тултипа на hover\r\n- Осуществление поиска без фильтра после клика по иконке и наоборот", "- Выводится поле поиска\r\n- Поиск работает", "- Вывод сайдпанели с выбранными фильтрами \r\n- Очистка фильтров", "- вывод строки выбранных фильтров\r\n- удаление выбранных фильтров", "- выводится сортировка по популярности\r\n- сортировка по популярности работает", "- Выводится сортировка по новизне\r\n- Сортировка по новизне работает при ее применении пользователем", "- Вывод сортировки по цене в фикспанели на странице Каталог\r\n- Сортировка по цене отрабатывает при применении сортировки пользователем", "Вывод фильтра \"Только предоплата\" в дропдауне в фикс панели страницы каталога \r\nпри применении фильтра товары фильтруются соответственно", "Вывод фильтра \"Только товары интернет магазина\" в дропдауне в фикс панели страницы каталога\r\nпри применении фильтра товары фильтруются соответственно ", "Вывод фикс-панели на странице Каталог", "В фильтр \"наличие на складе\" не выводятся склады с 0 остатками", "Вывод фильтра \"сезон\" \r\nФильтр \"сезон\" работает. ", "Виджет поднимаентся при наличии параметров в ссылке \r\n- incoming \r\n- user \r\n- type ", "в CRM можно апдейтить клиента из интерфейса редактирования", "Для неизвестных значений \r\n- ДР\r\n- телефон\r\n- электронная почта\r\nвыводится текст \"не определился\" и не выводится иконка копирования", "Верстка неопределенного виджета изменена", "В ответе API /catalog/search приходят item -> skuList -> sizeAttributes аналогичные запросу отдельного товара.", "- можно на незнакомый адрес коммуникации вызвать тип виджета неопределившегося клиента", "Вывод сайдпанели списка товаров по клику на кнопку Список товаров в Каталоге и КТ", "- Данные в виджетах открытых до последнего запроса с на подъем виджета не меняет данные в уже поднятых виджетах\r\n- Запрос на закрытие виджета приводит только к закрытию виджета с соответствующим адресом коммуникации", "- поднимается один экземпляр виджета клиента\r\n- закрывается один экземпляр виджета клиента", "Каунтеры выводят количество примененных фильтров по описанию в задаче", "Кнопки в сайдпанели фильтров работают по описанию, приведенному в таблице в to be\r\nВизуально кнопки приведены к дизайну из Zeplin", "- Вывод сайдпанели фильтров\r\n- В сайдпанели присутствуют табы с каунтерами\r\n- Вывод кнопок\r\n- Табы выводятся в дизайн-компоненте табы, а не кнопки", "- Вывод виджета клиента\r\n- Создание нового клиента\r\n- Редактирование клиента\r\n- Поиск и присоединение адреса коммуникации к существующему клиенту\r\n- Подъем виджета клиента\r\n- Скрытие виджета клиента\r\n- Ручной поиск и подъем виджета клиента (для канала email)", "- обмен происходит согласно приведенному примеру\r\n- на фронте по команде апи можно поднять/закрыть виджет", "добавлен столбец id списка/лука в таблицу список списков и список луков ", "предоставлен xlsx", "Вывод товарной строки с частью данных.\r\nСворачивание, разворачивание товарной строки.\r\n\r\nМаксимальный набор данных в рамках задачи:\r\nЦена товара\r\nСкидка на товар\r\nВсе фото товара. Фото открываются в сайд-панели.\r\nБренд на оригинальном языке и с русской транскрипциейНаименование,\r\nсостав\r\nцвет\r\nАртикул ЦУМ, артикул производителя, ссылка на товар на сайте с возможностью копирования\r\nКоллекция (весна-лето 2019)\r\nРазмер товара", "- вывод товарных строк\r\n- возможность выполнения действий с товарными строками", "- Вывод страницы заказа в полном объеме", "- Реализован поиск клиента на странице Клиенты\r\n- Реализовано создание клиента на странице Клиенты", "1) по клику на крестик чат сворачивается и сессия не рвется\r\n2) виджет установлен на доступную для тестирования страницу\r\n3) виджет протестирован и перечень ошибок зафиксирован комментарием к задаче", "1) Добавлено поле CMI ID в форму отправки\r\n2) на бэк передаем CMI ID", "Свернутый виджет перемещается по всей странице, не упираясь в \"невидимый пол\"", "- вывод шильдиков в каталоге, КТ, паблик страницу луков/списков, странице списка, странице создания лука\r\n- вывод нотиса на странице создания лука", "Вывод селекторов размеров", "при отправке клиенту публичного списка вне зависимости от авторства, кописа публичного списка помещается в \"отправленные\", а в \"публичные\" остается оригинал", "- фильтр \"цена\" каталога работает (можно вбить значения, цены фильтруются)", "Для ролей:\r\n- admin\r\n- head\r\n- supervisor\r\nвыводить признаки клиента:\r\n- VIP\r\n- online\r\n- offline\r\n- unmarked\r\n\r\nи вес клиента в формате XXX.XX (пример 512.25)", "- Значение, вводимое пользователем в поле поиск не исчезает", "- при закрытии модалки наличия по складам не пропадает контент страницы", "\r\n- оператор выбирает в модалке генерации в какой канал он кописрует ссылку \r\n- в отчет передается соответствующий каналу utm\r\n- в ссылку передается соответствующий каналу utm", "Для списка отправленных списков товаров/луков нужно добавлена возможность для пользователей всех ролей производить поиск по: \r\n- ДР \r\n- email \r\n- телефону \r\n- id лука/списка товаров", "- поле \"описание\" обязательно для заполнения операторами в интерфейсе сохранения", "Добавлена маска в поле телефон в интерфейсе генерации ссылки на список/лук", "- оператор выбирает в модалке генерации в какой канал он кописрует ссылку\r\n- в отчет передается соответствующий каналу utm_source\r\n- в ссылку передается соответствующий каналу utm_source", "На всех вкладках списка списков/луков доступен фильтр по сотруднику", "На публичной странице списка/лука выводится id", "Для списка отправленных списков товаров/луков нужно добавлена возможность для пользователей всех ролей производить поиск по:\r\n- ДР \r\n- email\r\n- телефону \r\n- id лука/списка товаров", "- поле описание обязательно для заполнения операторами в модалке сохранения", "Добавлена маска в поле телефон в модалке отправки списка/лука", "сделаны доработки в задачах", "- вывод кнопки \"образы\" в каталоге\r\n- вывод сайдпанели образов\r\n- добавление всех товаров образа в список товаров\r\n- вывод нотификации о добавлении", "По url с параметрами incomming и user можно открыть страницу cmi с одним виджетом клиента в условиях, если у пользователя cmi несколько одновременных входящих коммуникаций. \r\nПри этом, если перейти на cmi без этих параметров, будет отражаться виджетов по количеству входящих коммуникаций в моменте.", "На странице будет блок, в который можно добавлять элементы", "- Предоставить фалы верстки миниатюры, включающие сам дизайн и анимацию.", "- Невалидный email показывается согласно предоставленным макетам", "- подъём виджета клиента, снятие виджета клиента у определенных пользователей\r\n- закрытие виджета в конце коммуникации", "- Выводятся виджеты\r\n-- неопределившегося клиента\r\n-- определившегося клиента\r\n- Выводятся сайд-панели\r\n-- создание пользователя\r\n-- редактирование пользователя\r\n-- поиск клиента и присоединение адреса коммуникации из кебаб меню в блоке \"найдено\"\r\n", "- Вывод интерфейса создания клиента", "- Вывод интерфейса поиска клиента\r\n- осуществление поиска клиента\r\n- присоединение незнакомого адреса коммуникации", "Вывод интерфейса редактирования клиента\r\n", "- вывод интерфейса выбора клиента правим сайдбаром поверх виджета клиента", "- Вывод виджета клиента\r\n- Сворачивание - разворачивание виджета клиента\r\n- Drag свернутого и развернутого виджета клиента", "Сервис доступен в DMZ MK\r\nРеализованы методы:\r\n- Передачи короткого номер заказа\r\n- Health Check", "- Выводим публичные страницы луков в новом шаблоне на ДТ\r\n- Изменяем разрешение генерируемой картинки лука", "Последовательность слоев в стопке должна соответствовать той последовательности, в которой пользователь делал слои активными на холсте", "все лэеры, включая активные, кроме скрытых видны на картинке лука на публичной странице лука", "Картинки и товары в товарах лука не должны задваиваться при добавлении в лук товара из каталога", "Изменения, вносимые пользователем на холсте должны сохраняться", "В блоке фильтра \"сезон\" FW и SS скрыты", "иконки копирования в буфер выводятся у артикула ЦУМ и артикула производителя. По нажатию происходит копирование в буфер обмена соответствующих значений", "ссылка на сайт копируется в буфер", "модалка с фото открывается поверх модалки лука", "Происходит отправка запроса в big query при нажатии кнопки копирования ссылки в модалке \"Контакт клиента\"", "Заголовок в модалке \"контакт клинта\" отображается слева", "- кнопка \"создать лук\" не выводится на странице пустого списка", "В КТ работет ПДД", "- В КТ можно добавить skuid и тоц в список товаров", "Реализация сортировки по правилам для дальнейшего вывода задач по клиенту и заполнения интерфейса модалки выбора клиента", "- вывод модального окна выбора клиента в случае если адресу коммуникации соответствует более, чем один клиент", "Вывод виджета клиента", "- Вывод блока \"Товары лука\" на странице Луки: Заголовок, скроллабл область со списком товаров, блока \"итого\", кнопки \"Сохранить лук\". кнопки с дропдауном \"Поделиться луком\" \r\n- Обеспечение возможности удалить товар из лука ", "- отдалвать признаки online + вес/offline/vip online на запросы CC", "На паблик странице лука не выводим кнопку \"купить выбранное\" и \"купить весь лук\", если среди товаров есть товары с признаком предзаказа ", "- Выводится новый тип нотификации на странице создания лука при наличии товаров по предзаказу", "Вывод списка уведомлений в разделе Уведомления", "- Обновление пользователя в CMI, отправка запроса на обновление в Ax, СС\r\n- Вывод нотификации на фронт пользователям с ролями HEAD, SUPERVISOR, ADMIN", "- обновление пользователя в CMI и CC из Ax\r\n- вывод нотификации для пользователей с ролями ADMIN, SUPERVISOR, HEAD на фронт ", "- Удаление пользователя из CMI в CC, Ax\r\nотправка письма пользователям с ролями HEAD, ADMIN, SUPERVISOR\r\n- Вывод нотификации на фронт пользователям с ролями HEAD, SUPERVISOR, ADMIN\r\n- отправка письма пользователям с ролями HEAD, SUPERVISOR, ADMIN", "- При удалении пользователя в Ax, пользователь деактивируется в CMI и СС\r\n- Пользователям с ролями HEAD, SUPERVISOR и ADMIN отправляется нотификация\r\n- Вывод нотификации на фронт пользователям с ролями HEAD, SUPERVISOR, ADMIN\r\n", "- Пользователь создается в Ax и в СС из CMI\r\n- пользователям с ролями HEAD, SUPERVISOR, ADMIN отправляется письмо\r\n- Вывод нотификации на фронт пользователям с ролями HEAD, SUPERVISOR, ADMIN\r\n", "- При создании пользователя в Ax, пользователь автоматически создается в CMI, а CMI автоматически создает пользователя в СС\r\n- Вывод нотификации на фронт пользователям с ролями HEAD, SUPERVISOR, ADMIN\r\n- отправка письма пользователям с ролями HEAD, SUPERVISOR, ADMIN", "Обеспечение возможности из админки CMI:\r\n- Созданть юзера в Ax и CMI, в результате и в CC\r\n- Удаленть юзера в Ax и CMI, в результате и в CC\r\n- Редактировать юзера в Ax и CMI, в результате и в CC", "Сетчик в кнопке показывает реальное число товаров в списке", "- клик на пслевдолинк выбора ракурса\r\n- выбираем в модалке ракурс\r\n- картинка подставляется на место предыдущего с сохранением rotate и размера", "- Создание сущности задачи \r\n- Оповещение о новом типе задачи\r\n", "- Создание сущностей задача, таймер \r\n- Реализация управления для роли, которым доступно управление \r\n- Интерфейс управления таймерами", "- Создание сущностей задача, таймер\r\n- Реализация управления для роли, которым доступно управление\r\n- Интерфейс управления таймерами", "- Вывод блока поиска по покупателю\r\n- Возможность производить поиск заказов по покупателю", "- Вывод блока Поиск заказа - Поиск по заказу на странице \r\n- Пользователь может производить поиск по заказу", "- Показываем нотификацию пользователю о том, что его список скопирован из публичных", "- Вывод Collapse-блока \"Сортировка\" на странице \"Очередь заказов\".\r\n- Пользователь может производить сортировку заказов.", "вывод товарных строк в блок на странице Очередь заказов", "Вывод блоков страницы Очередь заказов", "1) не генерим hash для пустых полей телефон, email\r\n2) не добавляем в ссылку параметр", "- Формулировка кнопки сохранения и заголовка модалки сохранения меняется при редактировании ранее сохраненного списка или лука", "Клиент создается и редактируется из CMI. \r\nДанные пользователя синхронизируются в CC и AX", "Клиент создается в CRM из СС, фиксируются свойства клиента", "Клиент создается в CRM из Axapta, фиксируются свойства клиента", "Разработана структура БД, развернута БД под требования к данным в задаче", "- Разработка шаблона страницы выполнения задач по клиенту\r\n- Вывод задач на странице выполнения задач\r\n- Откладывание задач в интерфейсе\r\n- Подтверждение заказа\r\n-- Проверка и вывод результата после нажатия на \"подтвердить заказ\" в интерфейсе выполнения задач\r\n- Перенос ПДД (склад, курьер, фолбэк)", "- Кнопка \"Взять в работу\" и блокировка в CMI и Axapta\r\n- Правила вывода задачи в строке и объединение задач\r\n- Запуски SLA-таймеров, правила приостановки таймеров, управление таймерами пользователями с определенными ролями\r\n- Откладывание исполнения задач, запуски RECALL-таймеров, возвращение в очередь и сортировка отложенных задач в очереди", "Организовать:\r\n- Вывод страницы очереди заказов\r\n- Вывод данных по заказам на странице очереди\r\n- Сортировка заказов\r\n- Поиск заказов\r\n- Правила дефолтной сортировки заказов\r\n", "Организовано: \r\n- Создание клиента из Axapta\r\n- Создание клиента из Cloud Contact\r\n- Хранение клиента и его свойств \r\n- Редактирование клиента из CMI CRM в СС и в AX\r\n- Редактирование клиента из AX в CMI CRM и CC\r\n- Редактирование клиента из CC в CMI и AX", "В итоге должна быть миграция и в списке \"списка товаров\" не должны приходить луки", "Пользователь CMI создает страницу списка товаров/лука на tsum.ru и получает возможность \r\n- скопировать ссылку\r\n- скрыть показать или удалить страницу на tsum.ru\r\n", "В случае, если доставка товара невозможна, выводим плашку о невозможжности доставки", "Должен осуществляться поиск по артикулу d rfnfkjut\r\n", "Селектор цвета в КТ выводится в обводке 1 px #000", "- не выводить таблицу размеров, если для данного ТОЦ в NP ее нет\r\n- Не выводить таблицу размеров для товаров, для которых таблица рамеров не предполагается. Это все NS", "- Удовлетворено новое правило для вывода Луков: Луком не считается товар, у которого в наличии менее 2 товаров (ТОЦ)\r\n- Не выводим кнопку Луки для товарных строк, у которых луков нет или не удовлетворено правило выше\r\n- Не выводим кнопку Луки в КТ, у которых луков нет или не удовлетворено правило выше\r\n- Не выводим лук в карусели внутри модалки \"Луки\", если не удовлетворено правило выше ", "Все размеры NS предвыбраны в Каталоге (и в дальнейшем в КТ)", "Все значения в селекторе размера в таблице размеров, вызванной из товарной строки отображаются и видимы пользователю", "Значения размеров не налезают на соседний блок на ДТ в товарных строках Каталога", "- С CMI отправляется запрос на создание лэндинга с луком на tsum.ru\r\n- С CMI отправляется запрос на удаление лэндинга с луком на tsum.ru\r\n- С CMI отправляется запрос на скрытие лэндинга с луком на tsum.ru от пользователя\r\n- С CMI отправляется запрос на показ лэндинга с луком на tsum.ru от пользователя", "\r\n- вывод интерфейса сохранения луков\r\n- сохранение личных луков \r\n- сохранение публичных луков\r\n- автосохранение черновиков \r\n- Вывод списка личных луков в ЛК пользователя \r\n- Вывод списка публичных луков в ЛК пользователя \r\n- Вывод списка черновиков луков в ЛК пользователя \r\n- Вывод списка отправленных луков в ЛК пользователя\r\n", "- Вывод модалки \"Выбор размера\" на ДТ и Мобайл, которую можно вызвать из ТОЦ товарных строк блока Товары лука\r\n- Обеспечение возможности добавления/удаления строк в Товары лука (добавление товаров в лук) из модального окна.\r\n- Корректное (как описано в задаче) отображение товарных картинок на холсте при произведении действий в модалке\r\n", "- Обеспечение скрытия/показывания картинки товара с холста при клике на иконку скрытия/показывания в блоке \"Товары лука\" с соответствующими изменениями в блоке Холст", "- Вывод блока \"Товары лука\" на странице Луки: Заголовок, скроллабл область со списком товаров, блока \"итого\", кнопки \"Сохранить лук\". кнопки с дропдауном \"Поделиться луком\"\r\n- Обеспечение возможности удалить товар из лука\r\n", "Выводится и работает для пользователя пагинация.\r\nДля ДТ:\r\n- под блоком с товарными строками (100 тов. сстрок) выводится кнопка \"Показать еще\", по нажатю на которую подгружется дополнительные 100 товаров (при этом на блоке со страницами выделяется следующая цифра, т.е. если пользователь был на первой сотне товаров и нажал \"показать еще\" - выделяется цифра 2, при скролле к первой сотне - выделяется цифра 1)\r\n- Под кнопкой \"показать еще\" находится блок с листалкой страниц. По нажатию пользователь переходит к соответствующей странице \r\n\r\nНа моб:\r\nПри достижении пользователя самого низа страницы Каталога (последней пары товарных строк), автоматически подгружать новую сотню товарных строк", "Вывод хлебных крошек по маске Каталог / [brand] [Артикул ЦУМ] в КТ на ДТ", "Возможность пользователя делать Zoom на желаемом фото.", "Есть сущность ProductListItem, миграция", "Есть сущность ProductList, миграция, enum для видимости", "Вывод таба \"Список товаров\" на странице Луки, товарных строк в табе", "Вывод блока \"Холст\"\r\nДля пользователя обеспечена:\r\n- возможность rotate фото\r\n- возможность масштабирования фото с сохранением пропорций\r\n- возможность передвигать \r\n- возможность управлением порядка слоев по правилу активный слой всегда первый в стопке (всегда наверху)", "- вывод интерфейса сохранения списка товаров\r\n- сохранение личных списков товаров\r\n- сохранение публичных списков товаров\r\n- автосохранение черновиков\r\n- Вывод списка личных списков товаров в ЛК пользователя\r\n- Вывод списка публичных списков товаров в ЛК пользователя\r\n- Вывод списка черновиков списков товаров в ЛК пользователя\r\n- Вывод списка отправленных списков товаров в ЛК пользователя", "Вывод шаблона страницы Список товаров на ДТ и мобайл ", "Вывод модального окна выбора размера, возможность добавления товаров из окна на ДТ (Виджет) и моб.\r\nВозможность выбрать размеры на ДТ на странице \"Список товаров\" и добавить выбранные skuid из товарных строк с ТОЦ, возможность изменить у skuid выбранный размер", "Вывод виджета \"Список товаров\" на ДТ", "- Вывод модального окна \"Контакт клиента\"\r\n- Формирование ссылки на страницу со списком товаров", "Разработка метода автокомплита города", "Вывод шаблона страницы \"Луки\"", "Вывод таба Каталог на странице луков", "Вывод фильтра \"Дополнительно\" на странице \"Каталог\"", "Осуществление добавления ТОЦ и SKUID из каталога или КТ в список товаров, вывод по правилам, указанным в задаче.", "Должно выводиться либо \"найдено 0 товаров\", либо должно выводиться 24 товарные строки", "Увеличена строка на моб\r\nУвеличен чекбокс", "Кнопка не зарезается", "Быстрая работа фильтра без потери функциональности", "При передаче параметра начинают фильтроваться по наличию товары.\r\nПри передаче кода Koptevo будут отображены только те товары, которые находятся на складе коптево", "Вывод страницы создания луков. \r\nСохранение, копирование и управление луками. \r\nОбеспечение возможности создания лука\r\n", "- внести изменения в правила доступных действий\r\n", "- Собирается и отправляется аналитика по виджету клиента: \r\n -> Поднятие виджета клиента\r\n -> Создание клиента в виджете клиента\r\n -> Присоединение клиента в виджете клиента\r\n -> Смена основного клиента в виджете клиента\r\n -> Редактирование ФИО в виджете клиента\r\n\r\n- Актуализирован код из задачи CMI-3439\r\n\r\n- Время timestamStart всегда одинаковое и означает начало коммуникации. (в секундах)\r\n\r\n- Время timestamp означает время когда произошло конкретное событие\r\n\r\n- timestamp равен timestamStart в событии поднятия виджета клиента", "- создана система сбора данных аналитики (без DI зависимостей в самом сервисе);\r\n- создана система отправки аналитики (с DI зависимостью от системы сбора данных аналитики);", "Реализована отправка аналитики при следующих событиях:\r\n- Поднятие виджета клиента\r\n- Создание клиента в виджете клиента\r\n- Присоединение клиента в виджете клиента\r\n- Смена основного клиента в виджете клиента\r\n- Редактирование ФИО в виджете клиента", "- При получении 400 или 424 ошибок, помимо заголовка \"Ошибка получения планов доставки\" в air message будет выводиться текст из поля message", "Для длинных значений адреса добавить вывод полного текста на ховер в троеточащихся значениях в:\r\n- дропдауне\r\n- инпуте адреса", "Выводить в шапке заказа человекопонятный текст вместо id интервала", "- обработан случай в СП доставка когда /delivery/agent/ вернул delivery_type_group со значением undefined или метод упал с ошибкой;\r\n- в этом случае автоматически выбирается сабтаб \"доставка\" и при наличии адреса (axaptaAddress) выводится адрес в error состоянии", "- блокируется БК (если prepayment == 4 или 5 );\r\n- ПК и промокод блокируется (если prepayment == 4 или 5 );", "при выборе в селекторе дат \r\nвыводится цена для этого агента и этой даты", "В СП списка товаров\r\n- в общем каунтере товаров выводить реальное количество товаров в списке (кол-во элементов в product-list/ items) \r\n- реализован виртуальный скролл товаров списка (по примеру каталога товаров на странице лука)", "- на странице списка товаров с числом товаров больше 50 выводится пагинатор и запрашиваются только товары для этой страницы (catalog/search с item_id товаров из product-list/ items);\r\n- если в списке товаров меньше или равно 50 товаров, то пагинатор скрыт и при этом запрашиваются и выводятся все товары из списка;\r\n\r\nдля списков с пагинатором:\r\n- при загрузке списка запрашиваются только товары для нужной страницы (если их ещё нет в сторе);\r\n- при смене страницы запрашиваются товары для новой страницы (если их ещё нет в сторе);\r\n- при удалении товара из списка (при условии наличия товаров на следующей странице) подтягивается первый товар со следующей страницы и выводится в конце списка и обновляется количество страниц(при необходимости);\r\n- выбранная страница и количество товаров на страницу отражается в URL (query params);\r\n\r\n- варианты в пагинаторе 50, 100;", "в методе /order/:orderNo/delivery/expanded-plan\r\n- приходят даты и интервалы, которые получены из AG/AX, а не начальные даты и интервалы из GEO;\r\n- агенты, у которых нет ни одной даты (по данным из из AG/AX) убираются из ответа;", "если email у client в данных заказа отсутствует у поле ФИО получателя СП редактирования заказа таба Клиент\r\n\r\n1) конверт деактивирован\r\n2) при наведении показывать тултип с текстом \"У держателя отсутствует email\"", "- при переходе по ссылке /order/:uuid/browse/ открывается страница заказа без оверлея в контексте просмотра;\r\n- при переходе по ссылке /order/:uuid осуществляется редирект на и /order/:uuid/browse/ и открывается страница заказа без оверлея в контексте просмотра;\r\n- при нажатии на \"Просмотр заказа\" или по клику по ссылке с номером заказа открывается страница заказа в контексте просмотра /order/:uuid/browse/;\r\n- по переходу по табам на странице заказа происходит смена url на /order/<актуальный uuid заказа>browse/;", "-при переходе по ссылке /order/:uuid/work/edit/ происходит открытие заказа в контексте редактирования без открытого оверлея  (Это фича а не баг, у нас будут обработки ошибок AX при попытке отредактировать заблокированный заказ и вызов блокировок в эпике про блокировки);\r\n- при нажатии на \"перейти к обработке\" на оверлее ( логика согласно CMI-3983 ) открывается заказ в контексте редактирования  /order/:uuid/work/edit/;\r\n- при нажатии на \"просмотр\" на оверлее ( логика согласно CMI-3983 ) открывается заказ в контексте просмотра  /order/:uuid/work/view/;\r\n- при возвращении в заказ по кнопке \"перейти в заказ\" в СП заказа со страницы каталога (при добавлении товаров через \"добавить товары из каталога\") открывается заказ без оверлея  /order/:uuid/work/edit/ (если admin то проверки доступности не производятся, а если не админ, то проводятся проверки доступности и если они не пройдены происходит редирект на превью, а если пройдены то остаётся на /order/:uuid/work/edit/);", "- ID заказа на странице с оверлеем заказа должен соответствовать заказу;\r\n- при переходе по ссылке /order/:uuid/work/ происходит редирект на страницу с превью заказа /order/:uuid/work/preview/\r\n- при переходе по ссылке /order/::uuid/work/preview/ происходит открытие заказа в контексте редактирования с открытым оверлеем\r\n- при переключении табов на оверлее (и на странице заказа) открывается страница заказа с открытым оверлеем и новым uuid заказа /order/<актуальный uuid заказа>/work/preview;\r\n- при взятии заказа в очереди заказов в работу (по клику на \"взять в работу\") открывается страница заказа с оверлеем /order/:uuid/work/preview/", "Просмотр:\r\n- при переходе по ссылке /order/:uuid/browse/ открывается страница заказа без оверлея в контексте просмотра;\r\n- при переходе по ссылке /order/:uuid осуществляется редирект на и /order/:uuid/browse/ и открывается страница заказа без оверлея в контексте просмотра;\r\n- по переходу по табам на странице заказа происходит смена url на /order/<актуальный uuid заказа>/browse/;\r\n\r\nПредпросмотр при редактировании:\r\n- ID заказа на странице с оверлеем заказа должен соответствовать заказу;\r\n- при переходе по ссылке /order/:uuid/work/происходит редирект на страницу с превью заказа /order/:uuid/work/preview/\r\n- при переходе по ссылке /order/:uuid/work/preview/ происходит открытие заказа в контексте редактирования с открытым оверлеем\r\n- при переключении табов на оверлее (и на странице заказа) открывается страница заказа с открытым оверлеем и новым uuid заказа /order/<актуальный uuid заказа>/work/preview;\r\n- при взятии заказа в очереди заказов в работу (по клику на \"взять в работу\") открывается страница заказа с оверлеем /order/:uuid/work/preview/;\r\n\r\nРедактирование:\r\n- при переходе по ссылке /order/:uuid/work/edit/ происходит открытие заказа в контексте редактирования без открытого оверлея;\r\n- при нажатии на \"перейти к обработке\" на оверлее ( логика согласно CMI-3983 ) открывается заказ в контексте редактирования  /order/:uuid/work/edit/;\r\n- при нажатии на \"просмотр\" на оверлее ( логика согласно CMI-3983 ) открывается заказ в контексте просмотра  /order/:uuid/work/view/;\r\n- при возвращении в заказ по кнопке \"перейти в заказ\" в СП заказа со страницы каталога (при добавлении товаров через \"добавить товары из каталога\") открывается заказ без оверлея  /order/:uuid/work/edit/;\r\n", "- метод сохранение доставки в заказ работает без intevalId, т.к. intervalId опциональный", "- если нет временных интервалов, то селектор времени скрыт.", "в СП редактирования доставки в сабтабе \"доставка\":\r\n- всегда выводится стоимость доставки у \"службы доставки\", а не только если опция выбрана;\r\n- вместо 0 р выводится слово \"бесплатно\".", "- в саджестах адреса в СП редактирования доставки в опциях и при выборе опции выводится адрес с индексом (fulltitle)", "- В случае если в поле \"Комментарий консультанта\" введено больше 256 символов кнопка \"Применить\" дизейблится", "- обрабатываются и выводятся ошибки при запросе expanded-plan", "- проксируются ошибки GEO в метод CMI\r\n- HTTP код ошибки 400 и 424 при ошибке в GEO\r\n- тело ошибки CMI содержит полезную информацию об ошибке, полученную от GEO.", "- в состоянии ошибки загрузки добавлена кнопка \"повторить\";\r\n- в состоянии, когда данные не найдены, добавлена кнопка \"сбросить фильтры и повторить\";\r\n- кнопки реализуют указанное действие.", "Если в заказе сохранён агент доставки, и его тип соответствует табу доставка (т.е. при открытии СП редактирования доставки выбирается сабтаб \"доставка\", а не \"самовывоз):\r\n- и если в delivery/expanded-plan пришёл агент, id которого аналогично сохранённому в заказе агенту, то по клику на ( i ) у выбранного в заказе агента доставки (первый в списке) происходит отображение СП с информацией об агенте (аналогично другим агентам CMI-3864);\r\n- если в ответе delivery/expanded-plan не будет информации об агенте доставки, то по наведению на i отображается курсор not-allowed и по клику ничего не происходит", "- удалён неиспользуемый метод и код из задачи CMI-3642 в пользу CMI-4196;", "Заказ успешно удален", "- удалён функционал отправки списков товаров/луков в NP, которые теперь заменён на прямое обращение к CMI API-1197;\r\n- страница списков товаров продолжает работать (например, https://www.tsum.ru/product-look/41083/);\r\n- есть возможность составить новый лук в CMI (https://ng-cc-cmi-alpha.int.tsum.com/catalog), отправить его и открыть его на сайте NP. (подробнее здесь https://jira.int.tsum.com/browse/CMI-4278);", "- работает отправка списков товаров и луков в NP. Проверить можно создав отправленны список товаров или луков в cmi и затем открыть его на сайте NP по сгенерированной ссылке", "- разработан метод который возвращает отправленные списки по их id;\r\n- метод работает без авторизации cmi;\r\n- если такой отправленный список не найден, то возвращается 404 ошибка;\r\n- описаны изменения в swagger", "Переход по ссылке открывает список товаров ", "- кнопка \"Отложить\"/\"Отложено\" не должна отображаться для тех задач, которые нельзя отложить согласно ограничениям по откладыванию задач ", "- при появлении задачи в заказе, которая делается только в Аксапте, выводить попап;\r\n- по клику на \"Узнать о задаче\" в попапе он закрывается и отображается оверлей заказа с новыми задачами.", "Список перемещается в публичные без создания дополнительной копии в личных списках", "Товар удаляется без ошибок", "- выводится информация из заказа о доставке в блоке \"Доставка\":\r\nадрес это delivery.axaptaAddress,\r\nполучатель это reciever.name\r\nдата доставки это delivery.date, время доставки это delivery.intervalInfo.deliveryTimeFrom и deliveryTimeTo", "Список скопирован в личные с названием \"[Копия] *название оригинала*\" и описанием оргиниала", "валидация вернет ошибку, если все условия ниже - правда:\r\n- не vip\r\n- нет черной карты\r\n- ССД\r\n- сумма больше 300к\r\n- тип оплаты наличными при получении *или картой при получении*", "- добавлена валидацию в метод CMI-3780 на измение способа оплаты на \"оплата по ссылке\";\r\n- на тип оплаты \"оплата по ссылке\" используя этот метод перейти нельзя.", "- в СП отправки ссылки при её открытии (или непосредственно в СП, при наличии дизайна) выводится информация о том, что \"После отправки ссылки на оплату действия, влияющие на стоимость заказа будут недоступны\"\r\n", "- убран вариант с кнопкой \"подтвердить и отправить ссылку\";\r\n- поправлена документация по выводу кнопок https://kb.int.tsum.com/pages/viewpage.action?pageId=847496423", "- при смене способа оплаты на \"оплата по ссылке в СП редактирования заказа открывается СП оплаты по ссылке, а метод смены способа оплаты не отправляется;\r\n- при смене способа оплаты на любой друго, кроме \"по ссылке\" отправляется обычный запрос на смену способа оплаты;\r\n- способ оплаты на \"оплата по ссылке\" меняется при непосредственной отправки ссылки на оплату;\r\n- удалена логика из задачи CMI-3733. Теперь air message с текстом \"Для продолжения работы необходимо отправить клиенту ссылку на оплату.\" при смене способа оплаты на \"оплата по ссылке\" не показывается;\r\n- при открытии СП \"отправки ссылки\" выводится текст \"После отправки ссылки на оплату нельзя будет выполнять действия, влияющие на стоимость заказа.\"", "- для задачи \"Подтвердить КЦ\" показывается попап, где можно выбрать отправку email. При выборе отправки email отправляется доп запрос;\r\n- для задачи \"Отправить Email\" НЕ показывается попап, а сразу отправляется запрос;\r\n- при необходимости отправить ссылку на оплату (см https://kb.int.tsum.com/pages/viewpage.action?pageId=847496423) по нажатию на \"подтвердить и отправить ссылку\" и наличия задачи \"Подтвердить КЦ\" (и только для неё) перед выполнением запросов на подтверждение и отправку ссылки отобразится попап, где можно выбрать отправку email.", "После создания данные созданного пользователя отображаются в виджете клиента. \r\nПри повторном соединении с клиентом, система опознает его и отображает его данные.", "- реализовано ручное перемещение блока с информацией о том, что автоподтверждение не произошло.", "- выводится блок с выпадением из автоподтверждения после закрытия попапа с этой информацией;\r\n- этот блок в позиции fixed и перемещается по странице перекрывая собой контент;\r\n- блок можно свернуть по нажатию на стрелочку;\r\n- когда появляется/скрывается стики-панель с информацией о заказе блок меняет своё положение;\r\n- при открытом виджете клиента и при смене положения виджета клиента блок также реагирует и перемещается;\r\n- ручное перемещение виджета реализуется в следующей задаче.", "- если заказ не подтверждён и его не удалось автоподтвердить (CMI-4248) выводится попап с этой информацией после закрытия оверлея (предпросмотра) заказа.", "Поле Номер подарочной карты отсутствует в форме поиска клиента", "- выводятся превью товаров на странице списка списков товаров, даже если количество уникальных товаров во всех списках товаров превышает 60;\r\n- на текущий момент максимальное количество списков товаров на странице: 20, случаи, когда списков больше не рассматриваем.", "- Товары отменяются, в заказе появился серый оверлей и выведена причина отмены", "- реализована передача причины по которой заказ не может быть автоподтверждён, когда клиент выбрал способ подтверждения \"по СМС\".", "Строки отменяются в CMI и AX", "- реализовано опеределение типа карты по её номеру и вывод в интерфейсте с использованием стейт-машины", "- реализована интеграция стейт машины с БК при списании.", "- реализована интеграция стейт машины с БК при накоплении.", "CLI команда, которая по расписанию в ночное время в фоновом режиме отправляет по каждому пользователю с has_axapta:true запросы в аксапту с таймаутом 1 секунду и проверять флаг has_axapta, результат сохраняет в запись пользователя.", "авторизация на альфе работает\r\n\r\n", "- выводятся пульсары псевдозадач, при наличии ошибок валидации", "- вызывается метод проверки валидности ПДД по указанным тригерам ;\r\n- показывается air message если есть ошибки в валидации ПДД;\r\n- каждые 15 минут с последнего ответа запроса проверки валидации ПДД выполняется повторный запрос (с конфигурацией времени через localStorage);\r\n- если произошла ошибка в запросе проверки валидации, то отправляется повторный запрос и в случае неуспеха запрос откладывается до следующего тригера.", "строка с заголовками стики-ту топ\r\nстрока с заголовками прилипает под плашку", "Выводить в строки заказов Очереди заказов и Все заказы источник заказа по описанию UX-383", "Вывести дропдаун в табе очередь с фильтрами\r\nПри выборе вариантов происходит фильтрация по описанию\r\n1) все источники // выводятся все заказы\r\n2) \"Мобильный ассистент\" // выводятся только заказы с источникм МА (имеют нумерацию DS)\r\n3) все без \"Мобильный ассистент\" // выводятся все кроме МА\r\nсостояние по умолчанию - все источники\r\nдоступен единичный выбор\r\n\r\nПри применении варианта - выводится бабл \r\n", "- при выборе опций в фильтрах - выводятся балблы по описанию UX-380\r\n- выводится пресет баблами справа от заголовка. Для каждого таба свой пресет\r\n- Фильтры очищаются при нажатии на крестик в бабле\r\n- Выводится СП пресета фильтров\r\n- При нажатии на \"очистить все\" в СП пресета - очищаются все фильтры\r\n- Пресеты сохраняются на протяжении пользовательской сессии CMI (до закрытия вкладки)", "выводится кнопка фильтров\r\nпо нажатию вызывается сп фильтров\r\nоранжевая кнопка, если применен хотя бы 1 фильтр\r\nсерая, если не применен ни один фильтр", "в /info has_axapta:false\r\nпри входе на сайт висит air message\r\nместа описанные в CMI-3989 заблокированы", "- работает фильтрация заказов по vip статусу клиента (listType) в методе POST order/queue:\r\n\r\n1) only-vip - только вип заказы (privilege == VIP_online у order.client.privilege)\r\n2) only-orange-plus -только ** orange+ заказы (privilege == orange+ у order.client.privilege)\r\n3) exclude-vip-and-orange-plus - все заказы без випов и без orange+ (privilege != VIP_online и privilege != orange+ у order.client.privilege)\r\n4) all - значение по умолчанию, никак не фильтруем", "Вся форма очищается после нажатия кнопки \"Очистить\"", "- кнопка \"очистить\" не выводится в СП \"Бонусы\" ;\r\n- но продолжат выводится в других СП редактирования, как и раньше.", "Клиента можно найти по полю middleName", "Клиента можно найти по полю FirstName", "- разработан метод для валидации сохранённого в заказе ПДД;\r\n- описана документация", "- выводятся фото для строк списков", "- используется метод CMI POST /order/:orderNo/delivery/expanded-plan вместо метода GEO POST /delivery/expanded-plan для получения интервалов доставки;\r\n- изменены моки этого метода (которые нужные для e2e) и описаны в документации https://kb.int.tsum.com/pages/editpage.action?useDraft=true&spaceKey=CMI&draftId=847490156&pageId=847490155&&", "- в каунтере задач учитываются также отложенные задачи;\r\n- табы работают с новым и старым контрактом задач в методе поиска заказов (order/search).", "- вёрстка в таблице задач не едет (также стоит проверить список списков товаров/луков)", "- установлено ограничение ввода суммы списания ПК больше, чем итоговая сумма ", "- для заказаов, с которых не указан агент доставки и адрес - выводим zero case в табе \"оплата\";\r\n- на момент загрузки данных по типам оплаты показывается лоадер", "- разработан метод сохранения адреса в заказ", "- разработан метод получения интервалов доставки, который проксирует передаваемые данные в GEO https://kb.int.tsum.com/pages/viewpage.action?pageId=842501819, а затем, получив агентов доставки, подменяет даты и интервалы для этих агентов данными из AG/AX;\r\n- cортировка дат и интервалов: от ближайших  к самым удалённым;\r\n- у всех интервалов(времени) есть id и время \"от\" и \"до\";\r\n- наличие самих интервалов опциональное, а вот дата должна быть обязательно", "Сделать поле email на фронте опциональным в табе редактирования клиента", "хранить таймер при переключении табов", "- реализован вывод купонов в сооветствии с дизайном;\r\n- реализована логика работы купонов в соответствии с задачей, дизайном и КБ", "- реализован вывод ПК в сооветствии с дизайном;\r\n- реализована логика работы ПК в соответствии с задачей, дизайном и КБ", "- реализован вывод ФБ в соответствии с дизайном;\r\n- реализована интеграция стейт машины с БК при списании;\r\n- реализована логика работы ФБ", "- создан сервис, который хранит стейт-машины табов бонусы для каждого из заказов клиента;\r\n- стейт-машины бонусов стартуют по переходу в СП редактирования \"Бонусы\";\r\n- стейт-машины бонусов уничтожаются по завершению работы с заказом", "- в табе \"Бонусы\" в СП редактирования реализован вывод и логика работы фикс бонусов, а также их интеграция с купонами, бонусными и подарочными картами;\r\n- логика работы описана в стейт машине.", "- расчёты стоимости товаров реализованы на беке, а фронт их просто выводит.", "- в старый метод отправки коммуникации можно отправить только type mail, и только один объект, остальные случаи возвращают ошибку валидации;\r\n- разработан новый метод отправки коммуникации с флагом отправки смс кода", "- добавлен новый метод на отправку коммуникаций POST /order/:orderNo/send-communication-with-sms;\r\n- старый метод сохранён и используется в протестированной задачах CMI-3844 и CMI-4133", "- поле email у receiver убрано;\r\n- описаны изменения в swagger.", "- отображаются типы бонусных и фикс-бонусных карт клиента из order.client.cardType, перечисленные в таблице 1, согласно визуальному отображению в таблице 2.\r\n- отображаются на странице заказа (на вкладке бонусы в отдельной задаче)", "- проблема локализована и решена", "Разрешенный список кампаний привести к следующему:\r\n\r\nEshop_CoD\r\n\r\nР0000144 (\"Р\" кириллица)\r\n\r\nPartCancel\r\n\r\nР0000154 (\"Р\" кириллица)\r\n\r\nEShop_Canceled10\r\n\r\nFullCancel\r\n\r\nEshop_pUrl", "- отображается попап при применении купона, если есть списание с ПК и/или БК\r\n- поправлены и дописаны e2e", "- происходит обнуление списания ПК/БК при добавлении купона в заказ, если с них были списания", "- происходит обнуление списания ПК/БК при удалении купона из заказа, если с них были списания", "- если купон в заказ уже пришёл, то купон отображаетм и лочим;\r\n- если привязываем купон, то при корректном купоне лочится интерфейс, и показывается air message с текстом об успешной привязке;\r\n- если купон применён, то лочить его поля и показывать кнопку удаления купона, по клику на которую показывается лоадер и запускается процесс удаления CMI-4027\r\n\r\n", "- дисейблится строка заказа на странице очереди и всех заказов по ws событию рассинхронизации заказов", "- реализована generic логика для системы обработки и инициализации запросов \"Ближайших ПДД\" в СП добавления товаров, которая в дальнейшем будет использоваться для запроса данных ПДД курьерской службы и самовывоза", "- написана функция для определения состояния доставки в заказе для СП номенклатура;\r\n- написан тест на эту функцию;\r\n- при открытии СП добавления товаров (номенклатуры) запрашивается информация по агенту доставки (если он есть в заказе) и определяется состояние доставки в заказе для этой СП. ", "- если агент в заказе неуказан или это курьерка и нет адреса доставки, то по наведению на \"Ближайшие ПДД\" показывается текст в попопвере \"Заполните адрес, чтобы видеть ближайшие ПДД\";\r\n- запросы при этом не отправляются.", "- реализовано состояние когда агент в заказе не указан, но указан адрес доставки", "- реализовано состояние когда агент в заказе это самовывоз;\r\n- реализовано промежуточное состояния загрузки данных;\r\n- реализована обработка ошибок и пустого ответа;\r\n- написаны моки под новый запрос.", "- реализовано состояние когда агент в заказе это курьерская служба доставки;\r\n- реализовано промежуточное состояния загрузки данных;\r\n- реализована обработка ошибок и пустого ответа;\r\n- написаны моки под новые запросы.", "- кнопка конверта для отправки писем теперь не всегда активна, а может переключатся;\r\n- если есть изменения в полях оформителя/получателя (и изменения валидны) и пользователь нажал на конверт у иконки оформителя или получателя, то кнопка \"сохранить изменения\" становится активной и отправляется запрос CMI-3645 и CMI-3844;\r\n- если есть изменения в полях оформителя/получателя (и изменения валидны) и пользователь НЕ нажал на конверт у иконки оформителя или получателя, то кнопка \"сохранить изменения\" становится активной (если изменения валидны) и отправляется запрос CMI-3645;\r\n- если изменения в полях оформителя/получателя невалидны, то кнопка \"сохранить изменения\" неактивана\r\n- если нет изменения в полях оформителя/получателя и пользователь нажал конверт, то кнопка \"сохранить изменения\" активна и по клику на неё отправляется запрос отправки коммуникаций", "Если изменений в полях оформителя и получателя *НЕТ* и пользователь нажал на конверт у иконки оформителя или получателя, то кнопка \"сохранить изменения\" становится активной и отправляется запрос CMI-3844 ", "- блокируется изменения и снятие способа оплаты при наличии активной ссылки на оплату;\r\n- отоборажается air message при заходе на таб \"оплата\" в СП редактирования.", "- разработан метод для получения причин отмены конкретной товарной строки конкретного заказа", "- исправлены баги в СП отправки ссылки и написаны тесты к этим багам\r\n", "- реализован вывод \"Ближайшие ПДД\" в СП добавления товара в заказ;\r\n- предусмотрены случаи когда указан order.delivery.agent.id пункта самовывоза, тогда выводится информация о времени выдачи в этом ПВЗ;\r\n- предусмотрены случаи когда указан order.delivery.agent.id принадлежит курьеру или не указан вовсе, тогда выводится информация о ближайшем времени доставки для любого курьера по сохранённому в заказе адресу доставки order.delivery.address.axaptaAddress;\r\n- предусмотрен случай когда не найдены ближайшие ПДД для курьерской доставки;\r\n- предусмотрен случай когда не найдены ближайшие ПДД для указанного в заказе пункта выдачи заказа;\r\n- удалены моки неактуального запроса получения ПДД CMI-3534", "- добавлено поле sku в order.lines[].item в ответ GAPI-77", "- в структуру заказа добавлены 2 поля \"стоимость товаров\" и \"общая скидка\" (по товарам), в которых участвуют только товары, которые не отменены", "-работает получение способов оплаты;\r\n- работает редактирование способа оплаты с полученными способами оплаты.", "- в air message выводится техническая информация об ошибке\r\n", "- возвращается специальный тип ошибки AxaptaError, если произошла ошибка интеграции с Аксаптой.", "order.contactWith\r\n 1 - получатель\r\n 2 - оформитель\r\n(согласно доке GAPI http://gapi-alpha.int.tsum.com/doc/index.html#api-Gateway_Order___dto-Gateway_order___contactpersontype-1_18_0)\r\n null или любое другое значение - оформитель", "- по клику на заказ в табах других заказах клиента должен происходить редирект на страницу другого заказа, при этом расположение ссылок на заказы не меняется;\r\n- работает с выключенными и с включенными моками;\r\n\r\n- должен работать весь DoD из CMI-3915:\r\n - выводятся другие заказы клиента по ДР (order.client.id) в открытых статусах (все кроме группы \r\n \"Завершён\") используя метод поиска заказа;\r\n - вывод задач в других заказах клиента к текущей задаче не относятся;\r\n - если других заказов клиента нет, то ссылки не выводим;\r\n - первым в этом списке должен идти текущий заказ (но не должен быть единственным).\r\n - по клику должен происходить редирект на страницу другого заказа, при этом расположение \r\n ссылок на заказы не меняется. \r\n - контекст редактирования/просмотра при перемещении между табами сохраняется в рамках \r\n текущей задачи (могут быть доработки в других задачах)", "- написаны e2e тесты на основные сценарии переключения на другие заказы клиента в табах", "- по клику \"отложить\" в СП задачи или по клику \"отложить\" в пульсаре выводится СП откладывания задач;\r\n- в СП откладывания задач выводятся причины откладывания;\r\n- есть возможность заполнить комментарий к откладыванию и очищать поле с комментарием;\r\n- при нажатии на \"принять\" отправляется запрос на откладывание;\r\n- при успешном откладывании закрывается СП откладывания и вместо кнопок \"отложить\" в СП задач или в пульсаре отображается текст \"отложено\";\r\n- при ошибке запроса на откладывание задачи отображается air message с ошибкой и СП откладывания остаётся открытой.", "- написаны e2e откладывание задач в заказе.", "- при открытии СП бонусов с привязанной картой отображать баланс только по кнопке \"запросить баланс\"", "- при нажатии на \"принять\" отправляется запрос на откладывание;\r\n- при успешном откладывании закрывается СП откладывания и вместо кнопок \"отложить\" в СП задач или в пульсаре отображается текст \"отложено\";\r\n- при ошибке запроса на откладывание задачи отображается air message с ошибкой и СП откладывания остаётся открытой.", "- по клику \"отложить\" в СП задачи или по клику \"отложить\" в пульсаре выводится СП откладывания задач;\r\n- в СП откладывания задач выводятся причины откладывания;\r\n- у некоторых причин (см. таблицу в задаче) можно выбрать время откладывания;\r\n- у других выводится только дефолтное и его нельзя изменить;\r\n- в инпуте используется маска 00 : 00 : 00 часы:минуты:секунды;\r\n- в инпут времени можно ввести только положительное число длинной не более 6 символов;\r\n- есть возможность заполнить комментарий к откладыванию и очищать поле с комментарием", "- реализованы Enum Id причин откладывания задач;\r\n- реализован маппинг Id причин к данным в таблице.", "отправляется ссылка на оплату", "- по клику \"отложить\" в СП задачи или по клику \"отложить\" в пульсаре выводится СП откладывания задач;\r\n- в СП откладывания задач выводятся причины откладывания;\r\n- у некоторых причин (см. таблицу в задаче) можно выбрать время откладывания;\r\n- у других выводится только дефолтное и его нельзя изменить;\r\n- в инпут времени можно ввести только положительное число длинной не более 6 символов;\r\n- есть возможность заполнить комментарий к откладыванию и очищать поле с комментарием;\r\n- при нажатии на \"принять\" отправляется запрос на откладывание;\r\n- при успешном откладывании закрывается СП откладывания и вместо кнопок \"отложить\" в СП задач или в пульсаре отображается текст \"отложено\";\r\n- при ошибке запроса на откладывание задачи отображается air message с ошибкой и СП откладывания остаётся открытой.", "- запрос поиска заказов выполняется в пределах 200-500мс.", "поменять ссылки получения актуальных причин при открытии СП отмены заказа и СП отмены строки на \r\n/order-line/:orderNo/reject-list/actual - отмена строки", "- при начальной загрузке заказов отображается лоадер;\r\n- и только если действительно ничего не найдено, отображать соответствующий блок с текстом;\r\n- выводятся остальные состояния (initialLoading, ready, loadingNewList, empty, error)", "- написаны e2e тесты на основные сценарии вывода и редактирования доставки без сохранения", "- написаны e2e тесты на основные сценарии применения купона в заказ", "- заблокирована кнопка \"дублировать заказ\"", "- на предпросмотре заказа выводятся данные об оформителе и получателе в соответствии с новыми данными в заказе", "- написаны e2e тесты на основные поиска заказов через использование фильтров", "- написаны e2e тесты основной сценарий предпросмотра заказа", "- вывод табов;\r\n- количество табов соответствует количеству связанных заказов клиента в моке.", "- написаны e2e тесты на основные сценарии отправки ссылки на оплату", "- написаны e2e тесты на СП комментариев клиента к заказу", "- написаны e2e тесты на основные сценарии отмены заказа", "- написаны e2e тесты на основные сценарии подтверждения заказа", "- написаны e2e тесты на основные сценарии удаление товаров из заказа;", "- написаны e2e тесты на основные сценарии добавление товаров из каталога в заказ;\r\n- написаны e2e тесты на основные сценарии добавление товаров из СП +1 товаров в заказ;", "- написаны e2e тесты на основные сценарии редактирования оплаты", "- написаны e2e тесты на основные сценарии редактирования клиента", "- написаны e2e тесты на основные сценарии применения ПК/БК", "- написаны e2e тесты на основные сценарии редактирования упаковки", "- моки Cypress заменены на http запросы;\r\n- при старте e2e тестов включается mockInterceptor;\r\n- таким образом e2e тесты работают как и раньше, но через другой механизм моков", "- написаны e2e тесты на основные сценарии сохранения отредактированной доставки", "- написаны e2e тесты на смену состояний виджета клиента.", "Ошибка устранена", "- убран флаг --coverage у jest тестов в ci", "- реализованы переходы из одного состояния виджета в другое, согласно схеме стейт машины;\r\n", "- реализована интеграция стейт машины виджета клиента;\r\n- в стейт машине присутствуют основные состояния:\r\n клиент не найден\r\n с заказами клиента\r\n просмотр заказа\r\n заказ взят в работу\r\n- вложенные состояния могут быть продуманы и реализованы сразу или в процессе выполнения следующих подзадач.", "- убраны лишние действия по клиенту;\r\n- добавлен лейбл VIP;\r\n- лейбл ЧС не реализуем.", "- реализовано состояние виджета, когда оператор взял заказ взят в работу;\r\n- это состояние выводится если стейт-машина находится в стейте workWithClientOrders https://xstate.js.org/viz/?gist=1d4e2478dd883536ecd7c38e3fb92eb1;\r\n- написаны unit тесты для этого состояния.\r\n", "- реализовано состояние виджета, для случая когда оператор открыл заказ в контексте просмотра;\r\n- это состояние выводится если стейт-машина находится в стейте viewOrder https://xstate.js.org/viz/?gist=1d4e2478dd883536ecd7c38e3fb92eb1;\r\n- написаны unit тесты для этого состояния.", "- реализовано состояние виджета, для случая когда открылся виджет на странице каталога и найден клиент;\r\n- это состояние выводится если стейт-машина находится в стейте orderSelection https://xstate.js.org/viz/?gist=1d4e2478dd883536ecd7c38e3fb92eb1;\r\n- написаны unit тесты для этого состояния", "- реализовано состояние виджета, когда клиент не найден;\r\n- это состояние выводится если стейт-машина находится в стейте clientNotFound https://xstate.js.org/viz/?gist=1d4e2478dd883536ecd7c38e3fb92eb1;\r\n- написаны unit тесты для этого состояния.", "- в метод поиска заказов клиента добавить признак vip", "Купон удален из заказа", "- реализован виджет на стейт машине https://xstate.js.org/viz/?gist=1d4e2478dd883536ecd7c38e3fb92eb1;\r\n- каждый из стейтов соответствует его описанию в подзадаче;\r\n- переходы между состояниями реализованы по описанию в подзадаче;\r\n- реализация соответсвтует КБ https://kb.int.tsum.com/pages/viewpage.action?pageId=855376071;\r\n- действие \"создать заказ\" не реализуется в задаче.", "- заказ блокируется при нажатии \"взять в работу\" на странице заказов (order.isBlocked true)", "- на странице заказов на табе \"все заказы\" не отображать кнопку \"Взять в работу\" у заказов, которые уже взяты в работу (order.isBlocked === true и order.assigneeId !== user/info email)", "- в методе получения очереди заказов возвращаются только те заказы, которые не взяты в работу", "- после подтверждения заказа (CMI-4011), когда выполнены все задачи в заказе отображается попап;\r\n- попап отображается только в заказах в контексте редактирования;\r\n- закрыть попап кликом вне его области нельзя;\r\n- по клику на вернуться в очередь происходит разблокировка заказа (и связанных заказов), сброс контекстов а также очистка ненужных данных, закрытие попапа и редирект в очередь заказов;\r\n- по клику на \"обработать другие задачи\" попап закрывается и происходит переход на овелрлей заказа CMI-3923,", "- для задачи, которая должна быть завершена в будущем, отображается таймер чёрного цвета с обратным отсчётом, показывающий сколько времени осталось на выполнение задачи;\r\n- если время на выполнение задачи вышло, то отображается красный таймер с прямым отсчётом и надписью «горящая задача!», показывающий насколько задача уже превысила выделенное на неё время;\r\n- если все задачи в заказе отложены, то таймер не выводится (order.tasks.ax.count === 0 и order.tasks.cmi.count === 0);\r\n- время выводится в часах и секундах, при этом количество часов может быть любым.", "- Добавлена в order/queue информация о том, что заказ взят в работу (isBlocked) и информация о том кем (assigneeId) он взят в работу", "- Добавлена в order/search информация о том, что заказ взят в работу (isBlocked) и информация о том кем (assigneeId) он взят в работу", "- в order/search и order/queue добавлена информацию о том, что заказ взят в работу и информация о том кем он взят", "- использовать POST order/queue вместо order/search для таба \"Очередь\";\r\n- фильтрацию \"по задачам\" и \"по типу\" заказов в очереди в этой задаче не делаем/ не проверяем (будет реализовываться в отдельных задачах);\r\n- пагинация должна работать;\r\n- по-прежнему использовать POST order/search для таба \"Все заказы\";\r\n- работают e2e тесты", "- в \"очереди\" заказов и во \"всех заказах\", при наличии Axapta задач в заказе ((tasks.ax.count.opened + tasks.ax.count.delayed) > 0) выводить лейбл \"AXAPTA\";\r\n- лейбл \"Axapta\" комбинируется с лейблом VIP.", "на отображении кнопки \"взять в работу\" в очереди и во всех заказах\r\n- влияет наличие delayed или opened задач ax или cmi (если они есть, то кнопка \"взять в работу\" отображается);\r\n- больше не влияет isCallCenterConfirmed;\r\n- влияет список поддерживаемых статусов https://kb.int.tsum.com/pages/viewpage.action?pageId=842498934 \"взять в работу\" можно только заказы из списка поддерживаемых (зелёных) статусов.", "двухкнопочный попап \"есть несохраненные изменения\" заменить на новый трехкнопочный из UX-217", "По клику на \"все задачи\" открывается СП \"Задачи в заказе\", в которой\r\n- выводятся задачи со статусом 5 или 7 сгруппированные по типам CMI, Axapta, Склад;\r\n- кнопка \"Отменить все задачи\" не выводится", "- если валидация на подтверждение КЦ пройдена и кнопка не задисейблена, то по клику на \"Подтвердить заказ\" вызывать метод для подтверждения;\r\n- при успешном подтверждении заказа кнопка \"подтвердить заказ\" скрывается;\r\n- при неуспешном показывается air message и можно нажать на кнопку снова;\r\n- в процессе подтверждения показывается лоадер в кнопке и нажать на неё нельзя.", "- По клику на пульсар выводятся данные по задаче", "- дисейбл кнопки \"Подтвердить заказ\", при наличии других задач CMI или AX в заказе в статусе \"К выполнению\" и \"Отложена\"", "- сделан маппинг задач AX и CMI\r\n- реализована функция в хелпере для проверки задача CMI это или нет", "- заполнить стейт машину заказа данными о задачах;\r\n- выводится кнопку \"Подтвердить заказ\" если есть задача с id 13 или 19;\r\n- по переключению табов выводить задачи и для других заказов.", "- создан сервис, который хранит стейт машины задач для каждого из заказов клиента (по взятию в работу)", "\"упаковать отдельно\" меняется на \"упаковано отдельно\" в товарной строке заказа в товарном блоке старницы заказа, если товар был добавлен в подарочную упаковку", "не выводить кнопку, открывающую сайдпанель добавления товара, если остатков доступных к добавлению у товара нет", "- фильтры метода order/search работают как для одиночного поиска заказов по номеру так и для множественного ( принимают order_no string или order_no string[] )", "- реализовано использование payment.type вместо payment.method;\r\n- поправлен маппинг enum типов и способов оплаты на фронте и написаны комментарии", "причина отмены заказа проставляется для всех неотмененных строк после отмены заказа", "при выборе в очереди заказов в дропдауне варианта \"только vip заказы\" фильтруются заказы, у ДР которых признак VIP", "- выводится кнопку \"Подтвердить заказ\" если есть задача с id 13 или 19; /order/{orderNumber}/tasks\r\n- по переключению табов выводить задачи и для других заказов;\r\n- дисейбл кнопки \"Подтвердить заказ\", при наличии других задач CMI или AX в заказе в статусе \"К выполнению\" и \"Отложен\";\r\n- по клику на пульсар в дисейбл кнопке \"Подтвердить заказ\" выводятся данные о том, что нужно выполнить все задачи КЦ, до подтверждения заказа;\r\n- если валидация на подтверждение КЦ пройдена и кнопка не задисейблена, то по клику на \"Подтвердить заказ\" вызывать метод для подтверждения;\r\n/order/:orderNo|:orderUuid/tasks/confirm\r\n- при успешном подтверждении заказа кнопка \"подтвердить заказ\" скрывается, редирект в очередь пока не делаем;\r\n- при неуспешном показывается air message и можно нажать на кнопку снова;\r\n- в процессе подтверждения показывается лоадер в кнопке и нажать на неё нельзя.", "- реализовано ограничение действий с заказом в зависимости от стейта стейт-машины заказа в контексте редактирования", "- реализована интеграция стейт машины", "- вложенная одновременно в несколько селектов опция меняет при выборе только значение ближайшего в DOM", "Для пользователей с hasAxapta: false и без админских прав:\r\n- Удалить ограничение использования всего сайта CMI (которые были внесены в задаче CMI-3750)\r\n- Внести точечные ограничения:\r\n- Заблокировать страницу «заказы» \r\n- заблокировать создание заказа при нажатии на «создать заказ» в виджете клиента (свернутом, развернутом)\r\n- Заблокировать «создать заказ» в СП списка товаров\r\n- Заблокировать «создать заказ» на странице списка товаров\r\n- Заблокировать «создать заказ» на странице создания образов\r\n- Заблокировать опции «создать заказ» на страницах управления списками и образами\r\n- Заблокированные кнопки \"Создать заказ\" и ссылка \"заказы\" в меню в состоянии disabled\r\n- При входе на сайт отображается вечный air message типа \"предупреждения(оранжевый)\" c информацией об отсутствии пользователя в Ax. Аир мессадж можно закрыть по кнопке Х", "- по умолчанию в панели фильтров должен быть город Москва\r\n- можно редактировать адрес\r\n- адрес доставки используется при запросе ПДД", "- в метод получения информации о КЛ order/:orderNo|:orderUuid/loyalty-card/info добавлена информация о цвете КЛ", "- по клику на табы других заказов клиента на странице заказа отображается превью заказа", "- на оверлее заказа, согласно схеме в задаче, отображается кнопка \"перейти к обработке заказа\" или \"вернуться в очередь\" или другие кнопки", "- на оверлее заказа выводятся задачи CMI и задачи AX (при наличии);", "- выводятся табы всех заказов клиента с каунтерами задач на предпросмотре заказа;\r\n- по нажатию на таб происходит переключение на другой заказ клиента (и другой url)", "- оверлей заказа (превью) отображается до самого заказа", "- использовать метод получения актуальных причин отмены заказа для конкретного заказа из CMI-3978 вместо CMI-3634", "- разработан метод для получения списка причин отмены, разрешённых для конкретного заказа", "- в очереди заказов POST order/queue приходят только заказы с задачами в открытых статусах (5);\r\n- контракт POST order/queue в части tasks.cmi.count и tasks.ax.count совпадает с POST order/search", "- в метод поиска заказов order/search добавлена информация о количестве задач в статуе 5 (открытые) и статусе 7 (отложенные) для задач cmi и задач axapta", "- функционал CMI-3974 работает на реальных данных", "- заказы на странице заказов на вкладках \"очередь\" и \"все заказы\" при наличии флага isSync false в структуре заказа дисейблятся;\r\n- у задисейбленных заказов возможно скопировать номер заказа и нажать на иконку ( i ) для получения информации.", "- настроен клиент для WebSocket;\r\n- при получении события о рассинхронизации заказа через ws показывается попап о рассинхроне (при условии нахождения на странице заказа совпадающего с номером рассинхронизированного заказа в событии сокета)", "- CMI-3971 работает без моков", "- при наличии isSync false в любом из ответом метода получения заказа показывать попап о рассинхронизации, который нельзя закрыть кликнув вне его (закрывается только по кнопке);\r\n- по клику на иконку копирования номера заказа происходит копирование номера заказа в буфер обмена для продолжения работы с этим заказом в Axapta;\r\n- по клику на sitesupport открывается шаблон письма в sitesupport (если настроен почтовый клиент);\r\n- по клику \"перейти в очередь заказов\" происходит переход в очередь заказов и сброс контекста каталога на \"список\" (т.к. если было добавление товаров из каталога в заказ, то страница каталога находится в контексте \"редактирования заказа\");\r\n- по клику \"список всех заказов клиента\" отображается список заказов клиента, аналогичный табам;\r\n- по клику на \"перейти к заказу\" открывается оверлей(предпросмотр) соответствующего заказа", "- фильтр по предзаказу работает\r\n", "WebSocket:\r\n- информирование о рассинхронизации заказа, которая произошла только что (без истории о рассинхронизации, которая произошла когда-то давно);\r\n- привязка к номеру заказа и к uuid заказа в событиях по рассинхронизации;\r\n- до информирования о рассинхронизации необходимо проставить флаг isSync false у соответствующего заказа, чтобы при запросе данных, содержащих это заказ (методы order/:orderNo, order/search, order/queue) значение isSync содержало актуальное значение (false);\r\n- описан способ подключения к системе (дев и прод).\r\n- задача минимально проверена разработчиком", "- в поиск заказов добавлена возможность фильтрации по синхронизированным заказам;\r\n- isSync принимает true для выдачи только синхронизированных и false для выдачи только несинхронизированных. По умолчанию отдаются все (и синхронизированные и несинхронизированные).", "- в очередь заказов добавлена возможность фильтрации по синхронизированным заказам;\r\n- isSync принимает true для выдачи только синхронизированных и false для выдачи только несинхронизированных. По умолчанию отдаются все заказы(и синхронизированные и несинхронизированные).", "- добавлен флаг isSync в ответ метода поиска заказов;\r\n- добавлен флаг isSync в ответ метода очереди заказов;\r\n- значение по умолчанию isSync true;\r\n- если произошла рассинхронизация заказов между микросервисами AG и Axapta тогда isSync становится false.", "- добавлен флаг isSync в ответ метода получения заказа;\r\n- значение по умолчанию isSync true;\r\n- если произошла рассинхронизация заказов между микросервисами AG и Axapta тогда isSync становится false.", "- метод получения задач КЦ возвращает актуальные данные по задачам КЦ", "firstRetailPrice <= priceBeforeDisc <= total", "для null из gapi в структуре заказа, search и queue на \r\n- страницу просмотра заказа и “оформитель и получатель” и “доставка“,\r\n- предпросмотра заказа блок “оформитель и плолучатель”\r\n- строка заказа очереди заказов (оба таба) блок “оформитель и получатель” и “доставка”", "на странице каталога в контексте редактирования заказов \r\n- не считать в каунтере товаров удалённые товары\r\n- не выводить удалённые товары в СП \"заказ\"", "в oauth/info приходит при загрузке страницы приходит\r\nhasAxapta: true для списка пользователей из тела письма в тестовом контуре", "- реализован метод получения баланса привязанной к заказу КЛ", "- реализован метод привязки КЛ через СМС код при накоплении бонусов", "- реализован метод отправки СМС для привязки КЛ при накоплении бонусов", "- реализован метод списания бонусов с привязанной для списания КЛ", "- реализован метод привязки КЛ через СМС код при списании бонусов ", "- реализован метод привязки КЛ при списании бонусов", "- фильтры по источникам заказов на совпадают с документаций ", "- кнопка добавления новых товаров у товарной строки на странице заказа заблокирована если действие добавления товара в заказ запрещено\r\n", "- в СП редактирования упаковки не выводятся удалённые товары\r\n", "- air message показывается только по заходу на страницу в контексте редактирования, если есть флаг hasAxapta false", "- в СП редактирования упаковки отображается цена товара", "-добавлено число задач CMI и AX в методе поиска заказов у каждого заказа", "Если в заказе остался последний товар и он есть в packs[], то отменять упаковку с той же причиной, что и товар.", "- на странице очереди заказов в табах (очередь и все заказы) выводятся данные о времени доставки (при наличии)", "- отправляется реальный запрос списание баллов с карты CMI-1870 (при отключенном mock режиме)\r\n- функционал подарочных карт не сломался", "- отправляется реальный запрос на отправку смс кода CMI-1598 (при отключенном mock режиме)\r\n- отправляется реальный запрос на списание баллов с карты CMI-1600 (при отключенном mock режиме)\r\n- функционал бонусных карт не сломался", "- отправляется реальный запрос на отправку смс кода CMI-1598 (при отключенном mock режиме)\r\n- отправляется реальный запрос на привязку карты к заказу CMI-1608 (при отключенном mock режиме)\r\n- функционал бонусных карт не сломался", "- отправляется реальный запрос на отвязку бонусной карты CMI-1605 (при отключенном mock режиме)\r\n- функционал бонусных карт не сломался", "- создан отдельный ui компонент ui-autocomplete", "- разработан метод для подтверждения заказа", "- при совершении действия, влияющего на стоимость заказа крутим лоадер на 5 секунд поверх блоков с общей стоимостью заказа;\r\n- если таймер уже запущен и произошло новое действие, влияющее на стоимость, то перезапускать таймер с начальных 5 секунд;\r\n- по обнулению таймера делается запрос на получения стоимости заказа из Аксапты и полученная стоимость отображается в заказе;\r\n- в случае ошибки в методе получения стоимости заказа запрос выполняется повторно и в случае повторной ошибки показывается air message (лоадера при этом нет, лоадер зависит только от таймера);\r\n- ситуации с повторным открытием заказа или перезагрузкой страницы пока игнорируем (т.к. это временное решение и будет заменено на полноценный расчёт стоимости заказа на нашем бэке)", "- в методе получения информации об агентах доставки (order/delivery-agent-info) в поле agentCode приходят строковые значения", "- при наличии упаковки в заказе вызывается метод на замену товаров в этой упаковке при упаковки новых товаров (CMI-3925)\r\n- при отсутствии подарочной упаковки вызывается метод на добавление подарочной упаковки (CMI-3926 )\r\n- описана новая логика работы в https://kb.int.tsum.com/pages/viewpage.action?pageId=847494197 и система работает, согласно этой статье", "- при добавлении упаковки в заказ, в котором уже есть упаковка возвращать ошибку валидации;\r\n- метод добавления упаковки работает только для подарочных упаковок и больше не принимает на вход признак giftPack;\r\n- метод добавления упаковки создаёт только подарочную упаковку", "- добавлен метод на замену товаров в упаковке", "-реализован метод получения стоимости заказа", "DoD по флоу задачи с подзадачами:\r\n- выполнены все подзадачи;\r\n- все подзадачи залиты в общую ветку;\r\n- количество коммитов в общей ветке задачи равно количеству подзадач (дополнительно могут быть подлиты багфиксы).\r\n\r\nDoD по функционалу:\r\n- оверлей заказа (превью) отображается до самого заказа;\r\n- по клику на табы других заказов клиента на странице заказа отображается превью заказа;\r\n- выводятся табы всех заказов клиента с каунтерами задач на предпросмотре заказа;\r\n- по нажатию на таб происходит переключение на другой заказ клиента (и другой url);\r\n- на оверлее заказа выводятся задачи CMI и задачи AX (при наличии);\r\n- - на оверлее заказа, согласно схеме в подзадаче CMI-3983, отображается кнопка \"перейти к обработке заказа\" или \"вернуться в очередь\" или другие кнопки", "- у товара с itemId 11230485 в заказе приходят данные о фото", "- на странице заказа переключение между табами других заказов клиента работает согласно схеме Лёши;\r\n- сама реализация задач КЦ и вывод пульсаров задач КЦ в этой задаче не реализуется;\r\n- страница очереди заказов к задаче отношения не имеет.", "- на странице заказа выводятся каунтеры в табах заказов клиента;\r\n- число в каунтере равно сумме задач Axapta и задач CMI (поля tasks.ax.count и tasks.cmi.count в ответе метода поиска заказов order/search);\r\n- цвет каунтера определяется наличием задач ax (tasks.ax.count > 0, тогда синий, а если tasks.ax.count === 0 тогда красный);\r\n- если задач нет, то каунтер не отображается.", "1. Убрать псевдолинк с возможностью перехода в заказ в режиме просмотра\r\n2. Для роли SUPERVISOR и выше добавить в строке заказа вместо \"взять в работу\"\r\nдропдаун \"выберите действие\", где есть варианты \"Просмотр заказа\" и \"взять в работу\"\r\nклик по первому откроет заказ в режиме просмотра, клик по второму - в режиме редактирования", "Убрать (не выводить) предпросмотр заказа (оверлей), если заказ берется в просмотр (\"просмотр заказа\" в очереди заказа)", "- выводятся другие заказы клиента по ДР (order.client.id) в открытых статусах (все кроме группы \"Завершён\") используя метод поиска заказа;\r\n- вывод задач в других заказах клиента к текущей задаче не относятся;\r\n- если других заказов клиента нет, то ссылки не выводим;\r\n- первым в этом списке должен идти текущий заказ (но не должен быть единственным).\r\n- по клику должен происходить редирект на страницу другого заказа, при этом расположение ссылок на заказы не меняется. \r\n- контекст редактирования/просмотра при перемещении между табами сохраняется в рамках текущей задачи (могут быть доработки в других задачах)", "если у пользователей с ролями ниже ADMIN приходит hasAxapta:False, то страницу CMI-3750 не показываем и пользователи сразу штатно попадают в каталог", "в строке заказа, имеющего в составе огнеопасный товар передавать признак огнеопасности для очереди и поиска заказов", "- на странице очереди заказов в табах (очередь и все заказы) выводятся данные о названии службы(агента) доставки\r\n- время пока остаётся INT.... (т.к. данных пока нет), в зависимостях задача на эту правку", "В методах поиска/очереди заказа:\r\n- POST order/search\r\nдобавить расширенные данные об интервале доставки в delivery.agent", "- “общая скидка” и “стоимость товаров”, которые рассчитываются на фронте из товарных строк учитывают удалённые товары", "- разработан API метод, который принимает на вход номера заказов, а возвращает список задач по этим заказам с привязкой к номеру заказа", "- расформирование упаковки работает", "СП комментарии вызываются по нажатию на \"все комментарии\" из фиксд ту топ панели на странице заказа", "- В случае ошибки первого запроса, пользователь может изменить поисковый запрос и запрос отправляется еще раз. Вместо товаров пишется \"Ничего не найдено\".", "- блок адреса содержит поле ввода адреса одной строкой и отдельно поле ввода квартиры/офиса;\r\n- квартиру можно редактировать независимо от остального адреса;\r\n- адрес одной строкой можно выбирать только из предложенных вариантов в саджестах;\r\n- при выборе варианта из саджестов с номером квартиры/офиса, квартира/офис вырезается из поля адреса и подставляется в поле квартиры;\r\n- при выборе варианта из саджестов без номера квартиры/офиса поле квартиры/офиса остаётся без изменений. ", "- после ошибки добавлении товаров в упаковку или после ошибки расформировании упаковки показывать air message с соответствующим текстом ошибки;\r\n\r\n- а при повторном открытии СП редактирования упаковки после того, как была ошибка сохранения или расформирования упаковки, СП редактирования упаковки должна содержать прежний стейт (как был до ошибочного сохранения), и не должно быть вечного лоадера в этой СП. ", "Заблокировать пункт Каталог верхнего меню, если страница заказа в контексте редактирования.\r\n", "комментарий с перечнем не рабочих причин и гипотез почему они не применились", "Если заказ находится в закрытом статусе - см https://kb.int.tsum.com/pages/viewpage.action?pageId=842498934, то формулировка \"подтвердить КЦ\" всегда меняем на \"Вернуться в очередь\" вне зависимости от проставленного флага \"Подтвержден КЦ\"", "- при смене параметров запроса получения ПДД или ПВЗ снова показывать кнопку «получить ПДД» или «получить ПВЗ», т.к. выведенные данные уже неактуальные.", "В попапе отмены заказа выводим orderNo вместо uuid", "Необходимо для фронта заменить дату доставки на соответствубщий текст из figma при условии, если\r\n\r\nЗаказ - быстрая покупка\r\nи агент - null", "- выводится лейбл \"Не подтверждён\" у заказов, которые не подтверждены в КЦ\r\n", "- удалены выводимые данные о таймзоне клиента в блоке клиентских данных страницы заказа", "- При нахождении на странице заказов в табе \"очередь\" отправлять запрос на повторное получение очереди каждые 5 секунд.\r\n- При уходе с таба \"очередь\" переставать отправлять запросы\r\n- При первом заходе на таб \"очередь\" отправлять запрос на получение заказов сразу же\r\n- Обновление заказов в очереди сделать максимально незаметным для пользователя", "- расформирование упаковки работает\r\n- отправляется только один запрос на каждое расформирование упаковки", "- при нажатии на кнопку \"Сохранить изменения\" попап с требованиями сохранить изменения не показывается\r\n- запрос при сохранении изменений отправляется только один раз", "- выводится блок упаковка в просмотре заказа в новом дизайне для кейсов\r\n\r\n1. все товары в обычной упаковке (коричневая коробка, серый индикатор, кол-во товаров в упаковке)\r\n2. часть в обычной, часть в подарочной (2 коробки - коричневая и черная, 2 каунтера, 2 цветовых индикатора: черный и серый)\r\n3. все в подарочной (черная коробка, черный цветовой индикатор)", "- в методе order/queue возвращаются по умолчанию заказы со статусами (1, 17, 18, 24, 35) и с признаком \"неподтверждён в КЦ\", если не запрошена фильтрацию по другим статусам (поле status в теле запроса);\r\n- метод order/queue поддерживает фильтрацию по статусам (в этом случае возвращаются заказы в переданных статусах, а в статусах по умолчанию, флаг \"неподтверждён в КЦ\" при этом сохраняется);\r\n- в ответе метода order/queue возвращаются количества задач CMI и AX по каждом заказу (поле tasks) а также время начала самой старой задачи.", "- адрес, указанный в заказе order.address.axaptaAddress прокидывается в СП фильтров каталога.\r\n- изменение адреса в фильтре каталога НЕ меняет адрес в самом заказе\r\n- если адреса в заказе нет  (order.address.axaptaAddress null), то используется дефолтный адрес (г. Москва)\r\n- но изменение этого адреса в СП фильтров влияет на выдачу ПДД, ПВЗ", "- по клику на \"получить ПВЗ\" запрашивают ПВЗ для текущего состава заказа + extId выбранного размера у товарной строки на которой нажата кнопка;\r\n- при успешном ответе данные ПВЗ выводятся пользователю;\r\n- во время запроса показывается лоадер;\r\n- в случае ошибки air message.", "- в каталоге в контексте редактирования заказа, для случая \"доставки\" (не самовоза) по кнопке \"получить ПДД\" запрашиваются интервалы на основе данных заказа + extId выбранного размера у товарной строки на которой нажата кнопка;\r\n- при успешном ответе данные ПДД выводятся пользователю;\r\n- во время запроса показывается лоадер;\r\n- в случае ошибки air message.", "- определяется доставка это или самовывоз на странице каталога в контексте редактирования заказа для блока \"Доставка\"\r\n- меняется заголовок у этого блока на \"Самовывоз\" для случая самовывоза\r\n- меняется кнопка \"получить ПДД\" на \"получить ПВЗ\"", "- кнопка \"получить ПДД\" неактивна до выбора размера.\r\n- при наведении на неактивную кнопку показывается тултип с текстом \"Выберите размер\".", "создан метод по описанию", "-Если есть несохранённые данные в СП редактирования данных доставки и если эти данные валидны, то при попытке покинуть таб или закрыть СП выводить пользователю попап с требованием принять решения по сохранению или отказу от сохранения этих данных.\r\n- при выборе \"Сохранить изменения\" данные сохраняются в API \r\nи происходит переключение на таб \"Оплата\"!\r\n- при выборе \"Удалить изменения\" стейт редактирования сбрасывается и пользователь переходит туда куда он собирался. (или на другой таб или закрывает СП)", "- Реализована возможность проставления признака upsale через метод CMI-3879\r\n- Реализована возможность снятия признака upsale через метод CMI-3879\r\n- При проставлении признак становится оранжевым и имеет текст \"Добавлено как апсейл\"\r\n- При снятии признак становится серым и имеет текст \"Добавить как апсейл\"\r\n", "Признак добавлен и приходит в заказе на строках", "- сохранение данных в заказ в СП доставки в сабтабе \"доставка\" работает\r\n- сохранение данных в заказ в СП доставки в сабтабе \"самовывоз\" работает", "- кнопка \"сохранить изменения\" доступна только для новых интервалов (и заблокирована при отсутствии изменений);\r\n- по нажатию на кнопку \"Сохранить изменения\", если выбран новый ПВЗ, отправляется запрос на сохранение данных (CMI-3644);\r\n- в случае успеха происходит редирект на таб \"Оплата\", где возможно нужно будет изменить способ оплаты для выбранного ПВЗ;\r\n- список доступных способов \"Оплаты\" на табе оплата, после сохранения доставки огнаричивается набором payment_methods из метода получения интервалов delivery/plan для текущего агента;\r\n- в случае возникновения ошибки сохранения интервала доставки показывается air message;\r\n- по нажатию на кнопку \"Отменить\" СП закрывается без сохранения изменений;\r\n- по нажатию на \"Очистить\" стейт таба \"Доставка\" сбрасывается до начального состояния и кнопка \"Сохранить изменения\" становится заблокированной, т.к. доступна только для новых интервалов;\r\n- обработка ухода при несохранении данных будет делаться отдельно. На текущем этапе, при закрытии СП редактирования без сохранения по кнопке, стейт таба \"Доставка\" сбрасывается до начального состояния.", "- изменён дизайн надписи \"самовывоз до 2 дней бесплатно\" согласно новому макету;\r\n- добавлены ( i ) кнопки у ПВЗ, по клику на которые открывается СП с информацией об агенте.", "- сверху списка ПВЗ (для текущего состава заказа) выводится сохранённый в заказе ПВЗ (из задачи CMI-3946);\r\n- сохранённый в заказе ПВЗ выводится всегда, если он есть в заказе, даже если его нет в списке ПВЗ для текущего состава заказа;\r\n- визуально можно выбрать пункт ПВЗ, при наличии доступных (но сохранение данных в другой задаче).", "- при первом открытии СП редактирования заказа запрашивается список ПВЗ и сохраняется в свою новую стору\r\n- при повторном открытии проверяется наличие ПВЗ в строе, и при наличии ПВЗ повторный запрос не делается", "- запрашивается и выводится список ПВЗ для текущего состава заказа;\r\n- сверху этого списка выводится сохранённый в заказе ПВЗ (из задачи CMI-3946);\r\n- сохранённый в заказе ПВЗ выводится всегда, если он есть в заказе, даже если его нет в списке доступных для редактирования ПВЗ.", "- выполнены все сабтаски;\r\n- запрашивается список всех ПВЗ и хранится в сторе (запрашивается только один раз за сессию)\r\n GET /delivery/pickup-points;\r\n- запрашивается и выводится список ПВЗ для текущего состава заказа\r\n POST https://api-geo.rho.int.tsum.com/delivery/plan;\r\n- в запросе /delivery/plan заголовок X-Agent-Codes-Encoder со значением Direct обязателен;\r\n- сверху списка ПВЗ (для текущего состава заказа) выводится сохранённый в заказе ПВЗ (из задачи CMI-3946);\r\n- сохранённый в заказе ПВЗ выводится всегда, если он есть в заказе, даже если его нет в списке ПВЗ для текущего состава заказа;\r\n- визуально можно выбрать пункт ПВЗ, при наличии доступных (но сохранение данных в другой задаче).\r\n", "- если среди полученных интервалов для редактирования (CMI-3865) есть новые интервалы для уже сохранённой в заказе службы доставки (служба проверяется по agent_id), то заполнить этими данными селектор даты/времени у сохранённой в заказе службы доставки. Очень важно, чтобы выбранное значение даты и времени при этом не менялось;\r\n\r\n- причём, если селекторы даты и/или времени не содержит дату/время вообще, то добавить предвыбранную первую опцию в селектор со значением даты из заказа (null) и пустым текстом, и не учитывать эту опцию при открытии попапа при проверке ухода с якобы несохранёнными данными (по-идее это редкий кейс, но обработать стоит).", "- результат запроса маппится по agent_id;\r\n- цена у службы доставки зависит от интервала, поэтому может меняться при выборе другой даты;\r\n- результаты должны быть выведены под выбранной службой доставки из заказа с датой доставки (если она была сохранена в заказе).", "- По клику на иконки информации напротив каждого из агентов вызывается СП с инфо об условиях доставки из ГЕО (ручка  https://kb.int.tsum.com/pages/viewpage.action?pageId=842501819 operator_description) \r\n- Для курьерки ССД (CMI-3809) выводится жестко зашитая информация о примерке из описания задачи в дополнение к инфо, пришедшей из ГЕО\r\n- По клику на \"Все понятно\" СП закрывается\r\n- Если данных описания агентов нет (с учётом доп инфы об ССД), то иконку ( i ) не показывать", "- при открытии СП редактирования доставки сабтаба доставки выполняется запрос на получение новых интервалов доставки для их дальнейшего вывода (в другой подзадаче)\r\n- данные запрашиваются в GEO. Например, POST https://api-geo.rho.int.tsum.com/delivery/expanded-plan;\r\n- в запросе к GEO заголовок X-Agent-Codes-Encoder со значением Direct обязателен, чтобы получить agent_id служб в Аксапте (а не на сайте).\r\n- в теле запроса должны быть перечислены товары из заказа order.lines[].item (у которых есть id (aka skuId)), а также данные о клиенте (цвет подарочной карта и привилегированность), адрес и общая стоимость заказа, а также ещё несколько вспомогательных полей, которые описаны в задаче;", "Вывести доступные для выбора службы доставки и их интервалы в СП редактирования заказа в табе \"Доставка\" в сабтабе \"Доставка\":\r\n- данные берутся из GEO POST https://api-geo.rho.int.tsum.com/delivery/expanded-plan;\r\n- в запросе к GEO заголовок X-Agent-Codes-Encoder со значением Direct обязателен, чтобы получить agent_id служб в Аксапте (а не на сайте);\r\n- в теле запроса должны быть перечислены товары из заказа order.lines[].item (у которых есть id (aka skuId)) и данные о клиенте (цвет подарочной карта и привилегированность);\r\n- кнопки ( i ) в этой задаче игнорируем (будут реализовываться в следующих задачах);\r\n- результат запроса маппится по agent_id;\r\n- цена у службы доставки зависит от интервала, поэтому может меняться при выборе другой даты;\r\n- результаты должны быть выведены под выбранной службой доставки из заказа с датой доставки (если она была сохранена в заказе);\r\n- сохранение данных в этой задаче не реализуется. При повторном открытии СП без сохранения данные о выбранной дате/службе доставки выводятся без внесённых изменений.  ", "- Признак upsale присутствует в структуре товарных строк\r\n- Если приходит в значении \"true\", то отображается как \"Добавлено как апсейл\" оранжевого цвета\r\n- Если приходит в значении \"false\", то отображается как \"Добавить как апсейл\" серого цвета", "- получен ответ на вопросы \"Работает ли грануляция адреса с номером квартиры/офиса для провайдера Яндекса (страны Армения и Казахстан)? Определяется ли квартира в адресе одной строкой или нет?\"\r\n- получен ответ на вопрос \"Работает ли грануляция адреса с номером квартиры/офиса для провайдера дадата (страна Россия)? Определяется ли квартира в адресе одной строкой или нет?\"", "- выведен текущий выбранный ПВЗ(пункт выдачи заказа), полученный из GEO по agentId (order.delivery.agent.id) для случая самовывоза в сабтабе \"самовывоз\" в СП редактирования доставки, если он получен в ответе GEO /delivery/agent//pickup-point", "Эмуляция логика работы с одним комментарием:\r\n- выводится последний комментарий \"консультанта к клиенту\" из метода получения комментарием \r\n- при редактировании комментария, добавляется новый комментарий в список, и опять выводится последний (как будто бы комментарий отредактировался)", "- выведен текущий выбранный ПВЗ(пункт выдачи заказа), полученный из GEO по agentId (order.delivery.agent.id) для случая самовывоза в сабтабе \"самовывоз\" в СП редактирования доставки, если он получен в ответе GEO /delivery/agent//pickup-point\r\n", "- в СП редактирования доставки, а сабтабе \"доставка\" выводится время в часах у выбранной службы доставки;\r\n- данные выводятся согласно ответу бека (c delivery.deliveryTimeFrom по delivery.deliveryTimeTo).\r\n- снять выбранное время нельзя, можно только будет поменять на другое (смена на другое время не в этой задаче)", "- Вызов метода отправки письма POST /order/:orderNo/send-communication из задачи CMI-3853\r\nпо кнопке \"Сохранить изменения\" в нижней части СП с параметрами:\r\n----\"тип\":\"емейл\"\r\n----\"шаблон\":\"Р0000144\",\r\n----\"адрес\":\"адрес_почты\"\r\n- Вызов метода происходит только в случае , если иконка письма активна\r\n- В случае неактивной иконки письма, вызова не происходит", "- Вызов метода отправки письма POST /order/:orderNo/send-communication из задачи CMI-3853\r\nпо кнопке \"Сохранить изменения\" в нижней части СП с параметрами:\r\n----\"тип\":\"емейл\"\r\n----\"шаблон\":\"Eshop_CoD\",\r\n----\"адрес\":\"адрес_почты\"\r\n- Вызов метода происходит только в случае смены с предоплатного способа оплаты на \"При получении\", идентификаторы и типы оплаты в кб\r\n- В случае смены способа с \"При получении\" на любой из предоплатных вызов метода не происходит", "- По кнопке \"применить\" осуществляется вызов метода POST /order/:orderNo/send-communication из задачи CMI-3853\r\n- Вызов метода происходит, если указана причина отмены заказа\r\n- В запросе передается массив с объектами для отправки коммуникации с параметрами если проставлена галка:\r\n---- \"тип\":\"смс\"\r\n---- \"шаблон\":\"EShop_Canceled10\",\r\n---- \"адрес\":\"номер_телефона\"\r\n\r\n---- \"тип\":\"емейл\"\r\n---- \"шаблон\":\"FullCancel\",\r\n---- \"адрес\":\"емейл\"\r\n\r\n\r\n", "- Если активирована иконка отправки коммуникации напротив выбранной причины удаления товара, то по кнопке \"удалить\" осуществляется вызов метода POST /order/:orderNo/send-communication из задачи CMI-3853\r\n- Если иконка не активирована, вызова метода не происходит\r\n- В запросе передается массив с 2-мя объектами\r\n- Один для отправки смс с параметрами: \r\n---- \"тип\":\"смс\"\r\n---- \"шаблон\":\"PartCancel\",\r\n---- \"адрес\":\"номер_телефона\"\r\n- Второй для отправки емейла с параметрами:\r\n---- \"тип\":\"емейл\"\r\n---- \"шаблон\":\"Р0000154\",\r\n---- \"адрес\":\"адрес_почты\"", "- Реализована стандартная валидация полей емейл и телефон при указании нового адреса коммуникации\r\n- Валидация на выбор адреса для коммуникации. Для отправки ссылки должен быть выбран 1 емейл или 1 телефон\r\n- Отправка возможна только на 1 адрес коммуникации\r\n- Реализован вызов метода POST /order/:orderNo/send-pay-url из CMI-1575, в который передаются тип коммуникации и ее адрес по клику на кнопку \"Отправить ссылку\"", "- отправляется запрос на получение информации об агентах доставки\r\n- при выключенном интерсепторе возвращаются валидные данные с сервера\r\n- валидация добавления товара в заказ происходит с правильной обработкой данных без ошибок в консоли", "- при заходе на страницу заказа отправляется запрос на получение информации о доставке \r\n- при включенном интерсепторе возвращается мок ответа сервера\r\n- проверка на ССД добавлена к условиям валидации на максимальную сумму заказа при добавлении товаров", "На странице списка заказов, на странице заказа и в СП редактирования клиента:\r\n- работают заказы, как на странице заказа, так и на странице списка заказов, и в СП редактирования клиента\r\n- работают моки заказов, как на странице заказа, так и на странице списка заказов, и в СП редактирования клиента\r\n- данные оформителя это contact\r\n- данные получателя это receiver\r\n- поменен ДР на ИЦ на странице списка заказов и на странице заказа\r\n- в СП редактирования клиента выведен ДР, согласно дизайну\r\n- выведен ИЦ у оформителя и получателя\r\n- выведены ФИО у оформителя и получателя (если есть)\r\n- ошибок в консоли, связанных с клиентом, нет\r\n- чс не выводим (пока нет такого функционала)\r\n\r\nВ СП редактирования клиента:\r\n- email у получателя и не выводится (это так и остаётся)\r\n- иконки соцсетей/мессенджеров пока тоже не показываем\r\n- \"комментарий клиента к заказу\" к задаче не относится", "У добавленных товаров выводится цена", "- email у получателя и не выводится (это так и остаётся)\r\n- иконки соцсетей/мессенджеров пока тоже не показываем\r\n- данные оформителя это contact\r\n- данные получателя это receiver\r\n- признак vip и ДР это client\r\n- чс не выводим (пока нет такого функционала)\r\n- \"комментарий клиента к заказу\" к задаче не относится\r\n- кнопки \"+\" для добавления новых контактных данных к задаче не относятся", "- данные оформителя это contact\r\n- данные получателя это receiver\r\n- изменены ДР на ИЦ\r\n- выведены ИЦ у оформителя и получателя\r\n- выведены ФИО  у оформителя и получателя", "- данные оформителя это contact\r\n- данные получателя это receiver\r\n- поменен ДР на ИЦ\r\n- выведен ИЦ у оформителя и получателя\r\n- выведены ФИО у оформителя и получателя (если есть)", "- в интерфейсе заказа Order и заказа из очереди ListOrder внесены изменения в client, contact, добавить receiver:\r\n- работают моки заказов, как на странице заказа, так и на странице списка заказов и в СП редактирования клиента\r\n- работает СП редактирования клиента, страница заказа, страница очереди заказов. \r\n- ошибок в консоли, связанных с клиентом нет", "1) Сделаны и протестированы все подзадачи\r\n\r\n2) На странице списка заказов, на странице заказа и в СП редактирования клиента:\r\n- работают заказы, как на странице заказа, так и на странице списка заказов, и в СП редактирования клиента\r\n- работают моки заказов, как на странице заказа, так и на странице списка заказов, и в СП редактирования клиента\r\n- данные оформителя это contact\r\n- данные получателя это receiver\r\n- поменен ДР на ИЦ на странице списка заказов и на странице заказа\r\n- в СП редактирования клиента выведен ДР, согласно дизайну\r\n- выведен ИЦ у оформителя и получателя\r\n- выведены ФИО у оформителя и получателя (если есть)\r\n- ошибок в консоли, связанных с клиентом, нет\r\n- чс не выводим (пока нет такого функционала)\r\n\r\n3) В СП редактирования клиента:\r\n- email у получателя и не выводится (это так и остаётся)\r\n- иконки соцсетей/мессенджеров пока тоже не показываем\r\n- \"комментарий клиента к заказу\" к задаче не относится", "В методе поиска заказов: POST order/search\r\n- добавить расширенные данные об интервале доставки в delivery.intervalInfo\r\n", "- в методах поиска заказов добавлен receiver и поменены поля у contact и client в соотвествии с описанием", "- в метод получения заказа добавлен receiver и поменены поля у contact и client в соотвествии с описанием", "- чекбокс \"доставка в офис\" и его ( i ) удалён из интерфейса", "- в СП редактирования доставки, а сабтабе \"доставка\" выводится время в часах у выбранной службы доставки;\r\n- данные выводятся согласно ответу бека (c delivery.deliveryTimeFrom по delivery.deliveryTimeTo).", "-ui kit обновлен на актуальный\r\n- в комментарии перечислен список изменений в новой версии кита и указано на что обратить внимание при тестировании", "- запрашиваются данные об агенте из GEO GET /delivery/agent/\r\n- по полученным данным предвыбирается \"самовывоз\" или \"доставка\" в СП редактирования заказа заказа в табе \"Доставка\" (по полю delivery_type_group)", "- текущая цена (иногда это цена со скидкой) это order.lines[].item.price.total\r\n- полная цена это order.lines[].item.price.firstRetailPrice (или если она null, то order.lines[].item.price.priceBeforeDisc)\r\n- текущая цена отображается чёрным цветом\r\n- при наличии скидки полная цена отображается серым цветом под ценой со скидкой чёрного цвета\r\n- в отсутствии firstRetailPrice или priceBeforeDisc, и при наличии одно лишь total цена отображается (на момент написания задачи не отображалась)", "- при успешной валидации промокода (валидация реализована в задаче CMI-3803) вызывается метод применения купона в заказ и показывается лоадер;\r\n- по завершении применения промокода изменяется стоимость заказа и выводится скидка по промокоду в блоке \"Скидки и начисления\";\r\n- при ошибке применения промокода поле ввода промокода окрашивается красным и выводится ошибка в Air Message;\r\n- по фокусу поля ввода промокода ошибочное значение стирается и красная подсветка снимается, затем пользователь может повторно ввести промокод.", "- При валидации купона (по кнопке применить) отправляются запрос (метод CMI-3802).\r\n- В процессе запросов показывается лоадер. Кнопку \"Применить\" во время запроса нажать нельзя.\r\n- При неуспешной валидации показывается текст ошибки в air message, согласно кодам в теле ответа; поле \"промокод\" подсвечивается красным.\r\n- В статусе ошибки, по фокусу поля ввода промокода, ошибочное значение купона стирается и красная подсветка снимается, затем пользователь может повторно ввести текст купона.", "- при успешной валидации промокода (валидация реализована в задаче CMI-3803) вызывается метод применения купона в заказ и показывается лоадер;\r\n- по завершении применения промокода выводится скидка по промокоду в блоке \"Скидки и начисления\";\r\n- при ошибке применения промокода поле ввода промокода окрашивается красным и выводится ошибка в Air Message;\r\n- по фокусу поля ввода промокода ошибочное значение стирается и красная подсветка снимается, затем пользователь может повторно ввести промокод.", "- При валидации купона (по кнопке применить) отправляются два последовательных запроса (методы из CMI-3801 и CMI-3802).\r\n- В процессе запросов показывается лоадер. Кнопку \"Применить\" во время запроса нажать нельзя.\r\n- При неуспешной валидации показывается текст ошибки в air message, согласно кодам в теле ответа; поле \"промокод\" подсвечивается красным.\r\n- В статусе ошибки, по фокусу поля ввода промокода, ошибочное значение купона стирается и красная подсветка снимается, затем пользователь может повторно ввести текст купона.\r\n- При пройденной валидации (Code 0 и HttpCode 200) ошибки не показываются\r\n- При неуспешной валидации ошибок в консоли нет", "- есть возможность проверить заказ на применимость акции", "- есть возможность запросить список акций для заказа", "при добавлении товара в заказ в структуре items передаётся \r\n1) id - это extGuid или(если его нет) extId.\r\nВ каталоге это skuList[].extGuid или skuList[].extId, в заказе это lines[].item.extGuid или lines[].item.extId.\r\n2) skuId - это id уровня sku.\r\nВ каталоге это skuList[].id, в заказе это lines[].item.id", "- На странице заказа выводится лейбл \"общение по заказу\" в зависимости от того с кем происходит общение (флаг contactWith в ответе order)", "- На странице заказа выводится лейбл vip если у клиента есть такое свойство client.property === 'vip' (ответ метода получения заказа)", "- список доступных действий с заказом доработан\r\n- e2e тесты проходят", "- ошибки в консоли СП \"Корзины\" или \"Заказа\" при её открытии не возникают (это одна и та же СП, только в разных контекстах)", "- Данные в блоке \"Скидки и начисления\" снизу страницы заказа, выводится по ответу метода получения заказа order.client.cardType (раньше брались из api/search/bonus-cards)\r\n- В блоке клиентских данных также выводится цвет карты в зависимости от order.client.cardType", "- если в заказе в поле payment.prepayment.status значение равное 4 или 5, то необходимо блокировать действия влияющие на стоимость заказа (вне зависимости от статуса самого заказа).\r\nПеречень действий влияющих на стоимость заказа: https://kb.int.tsum.com/pages/viewpage.action?pageId=847486359", "- при наличии сгенерированной, но неотправленной ссылки (статус LINK_GENERATED), отображается кнопка : \"Отправить ссылку\"\r\n- при наличии сгенерированной и отправленной ссылки (статус LINK_SENT) отображается кнопка \"Продублировать ссылку\"\r\n- описана схема в КБ с доработанной логикой отображения кнопок (не одноуровневая таблица, как в CMI-3730, а именно схема или многоуровневая таблица по типу схемы)", "- фильтр по количеству заказов в методе поиска работает ", "1. После того как будет известен идентификатор ИМ-19 \"Тестовый заказ\" после реализации AG-1520 добавить во фронтовый маппиннг причин \r\nid причины отмены AX - \"Тестовый заказ\" (пользователю выводим \"Тестовый заказ\")\r\n\r\n2. В СП причин отмены выводить в дропдаун \"Тестовый заказ\"", "- Отправляется реальный запрос на получение подарочных карт, доступных для покупки, в каталоге при нажатии на кнопку \"подарочная карта\" на панели фильтров каталога\r\n- Функционал вывода подарочных карт для покупки работает (касается СП \"подарочная карта\" в каталоге)", "- в проекте отправляется реальный запрос на тип и баланса подарочных карт в обычном режиме ( не Mock )\r\n- функционал подарочных карт работает. В СП редактирования заказа, в табе \"Бонусы\" в блоке \"Подарочная карта\" на странице заказа выподится баланс подарочной карты)", "- в проекте отправляется реальный запрос на получение бонусных карт (aka карт лояльности) в обычном режиме, не Mock. CMI-1627\r\n- функционал бонусных карт не сломался :) (кнопки поиска карты клиента в СП \"Бонусы\" CMI-3323)", "выводить лейбл предзаказ только у подходящих товаров", "-Если есть несохранённые данные в СП редактирования данных оплаты и если эти данные валидны, то при попытке покинуть таб или закрыть СП выводить пользователю попап с требованием принять решения по сохранению или отказу от сохранения этих данных.\r\n- при выборе \"Сохранить изменения\" данные сохраняются в API\r\n- при выборе \"Удалить изменения\" стейт редактирования сбрасывается", "- происходит сохранение способа оплаты в заказ ", "- при нажатии на кнопку \"сохранить изменения\" вызывается API запрос на сохранение способа оплаты. Во время запроса кнопки \"сохранить изменения\" и \"очистить\" заблокированы.\r\n- при клике на \"очистить\" восстанавливать первоначальный стейт\r\n- при любом закрытии СП, если не было сохранения, через кнопку \"сохранить изменения\", стейт редактирования сбрасывается.\r\n- при повторном открытии СП, c сохранённым через кнопку \"сохранить изменения\" стейте, отображается новый стейт\r\n- показывается air message при ошибке сохранения способа оплаты", "- добавлен API метод, который меняет способ оплаты в заказе", "- В обычном режиме отправляется реальный запрос на получение подарочных карт, доступных для покупки, в каталоге при нажатии на кнопку \"подарочная карта\" на панели фильтров каталога\r\n- В Mock режиме этот запрос перехватывается и подменяется на ожидаемый ответ\r\n- Функционал вывода подарочных карт для покупки работает (касается СП \"подарочная карта\" в каталоге)\r\n- Дополнена документация по интерсептору https://kb.int.tsum.com/display/CMI/Mock+interceptor", "- в проекте отправляется реальный запрос на тип и баланса подарочных карт в обычном режиме ( не Mock )\r\n- в Mock режиме этот запрос перехватывается и подменяется на ожидаемый ответ\r\n- функционал подарочных карт не сломался :) (касается СП редактирования заказа, таба \"Бонусы\" на странице заказа)\r\n- дополнена документация по интерсептору https://kb.int.tsum.com/pages/viewpage.action?pageId=847490157", "- в проекте отправляется реальный запрос на получение бонусных карт (aka карт лояльности) в обычном режиме, не Mock\r\n- в Mock режиме этот запрос перехватывается и подменяется на ожидаемый ответ\r\n- функционал бонусных карт не сломался :) (касается блока \"Бонусы\" на странице заказа)\r\n- дополнена документация по интерсептору https://kb.int.tsum.com/pages/viewpage.action?pageId=847490157", " - в случае возникновения ошибки удаления товара из заказа, интерфейс продолжает работать как до запроса: лоадеры, если они есть скрываются, кнопки разблокируются, ошибок в консоли нет.\r\n- Показывается air message с типом ошибка\" с текстом: \" Невозможно удалить товарную строку\"\r\n- Товарная строка, естественно, остаётся на своём месте и не удаляется\r\n- Можно попробовать удалить снова с аналогичным эффектом (кнопка удаления становится активной для нажатия)", "-Если есть несохранённые данные в СП редактирования данных упаковки и если эти данные валидны, то при попытке покинуть таб или закрыть СП выводить пользователю попап с требованием принять решения по сохранению или отказу от сохранения этих данных.\r\n- при выборе \"Сохранить изменения\" данные сохраняются в API\r\n- при выборе \"Удалить изменения\" стейт редактирования сбрасывается", "- добавлено ограничение на добавление новых товаров, если Сумма товаров будет превышать 300 т. р. \r\n- ограничение на добавление не действует если клиент VIP или если привязана чёрная карта лояльности (для случая с 10 товарами тоже)", "- в ответе метода получения заказа присутствует название Агента (службы) доставки в order.firstPlannedDeliveryDate", "Заказ приходит со строками отсортированными по позиции", "- изменен api удаления на описанный в статье\r\n- работают макеты с измененным api", "- вывод клиентских и ЦУМовских причин в удаленной строке", "- выводится дропдаун для vip фильтра", "- выводится лейбл vip у заказов ДР vip клиентов", "- приходят реальные суммы заказов, а не 0", "- скрыты фильтры по номеру пк и бк ", "- происходит фильтрация по методу подтверждения", "- остатки по товарам меркури приходят корректно", "- редактирование клиента в СП работает корректно с выключенным мок-интерсептором", "- при открытии таба отправляется запрос списка на сервер\r\n- при включенном мок-интерсепторе подгружается список\r\n- в табе отображается список доступных методов оплаты, как в дизайне", "- пользователь попадает на страницу-заглушку если его нет в аксапте (user/info has_axapta false) и он не админ (ROLE_CALL_CENTER_ADMIN)", "- полная цена товара и цена товара со скидкой находятся на своих местах (верхняя - цена со скидкой, нижняя - полная цена)", "-Если есть несохранённые данные в СП редактирования данных оформителя/получателя и если эти данные валидны, то при попытке покинуть таб или закрыть СП выводить пользователю попап с требованием принять решения по сохранению или отказу от сохранения этих данных.\r\n- при выборе \"Сохранить изменения\" данные сохраняются в API\r\n- при выборе \"Удалить изменения\" стейт редактирования сбрасывается", "- кнопка \"Сохранить изменения\" доступна только при успешной валидации, и если внесённые изменения данных оформителя, получателя или признака общения по заказу отличаются от сохранённого стейта заказа\r\n- при сохранении изменений вызывается API запрос и по его успешному выполнению СП закрывается (до тех пор кнопки \"сохранить изменения\" и \"очистить\" заблокированы).\r\n- при клике на \"очистить\" восстанавливать первоначальный стейт\r\n- при любом закрытии СП, если не было сохранения, через кнопку \"сохранить изменения\", стейт редактирования сбрасывается.\r\n- при повторном открытии СП при сохранённом стейте (через кнопку \"сохранить изменения\") - отображается новый стейт\r\n- поле email редактировать нельзя", "- при закрытии СП комментарии, если был изменён комментарий клиента к заказу, запрашивается метод получения заказа\r\n- заказ запрашивается заново только для случае нового комментария \"клиента к заказу\", для других табов это правило не действует", "- в СП \"Комментарии\" стоит ограничение на отправку комментария равное 255 символов\r\n- при превышении этого числа кнопка отправки комментария заблокирована, а поле ввода в состоянии error\r\n- это правило распространяется на все 3 вкладки", "- выводится самый новый комментарий клиента к заказу. (данные получаются в методе /api/order/{uuid}/comments)\r\n- если комментария нет, то ничего не выводится вместо него\r\n- убрана дублирующая кнопка \"все комментарии\"", "- добавляется комментарий консультанта к клиенту\r\n- добавленный комментарий выводится в СП \"комментарии\" в соответствующем табе и в \"превью комментариев\" при заходе на страницу заказа", "- при удалении подарочной упаковки показывается СП с причинами удаления\r\n- список причин удаления аналогичен причинам уделаения строк товара и запрашивается методом из CMI-3633\r\n- при удалении упаковки отправляется причина удаления", "- при смене способа оплаты на оплату по ссылке и применении изменений всплывает air message с заголовком \"Оплата по ссылке\" и с текстом \"Для продолжения работы необходимо отправить клиенту ссылку на оплату.\" ", "- исключить из статуса \"ожидает оплаты\" действия влияющие на стоимость заказа или предоставить механизм перегенерации ссылки на оплату", "- выводятся кнопки справа снизу страницы заказа согласно таблице в описании задачи\r\n- по нажатию на кнопку/кнопки выполняется целевое действие из таблицы", " при нажатии на кнопку \"отправить по ссылке\" на странице заказа выводится СП \"оплата по ссылке\"\r\n- в этой СП выводятся номера телефонов в блоке SMS и email в блоке E-mail\r\n- оператор может добавить номер телефона или email\r\n- кнопка \"отправить ссылку\" в этой СП активна только если выбран телефон или email\r\n- одновременно должен быть выбран только один номер или E-mail\r\n- при клике на отправить по ссылку, если кнопка активна отправляется API запрос ( метод описан в CMI-1572)\r\n- при успешном ответе СП закрывается и пользователя редиректит на страницу очереди заказов\r\n- при неуспешном показывается ошибка и пользователь остаётся на той же странице с открытой СП\r\n- кнопка \"отправить ссылку на оплату\" не выводится", "- в очереди заказов (оба таба) и на странице заказа выводится лейбл vip для вип заказов если в ответе API в client property значение \"VIP\" ", "- при нажатии на кнопку \"отправить по ссылке\" на странице заказа выводится СП \"оплата по ссылке\"\r\n- в этой СП выводятся номера телефонов в блоке SMS и email в блоке E-mail\r\n- оператор может добавить номер телефона или email\r\n- кнопка \"отправить ссылку\" в этой СП активна только если выбран телефон или email\r\n- одновременно должен быть выбран только один номер или E-mail\r\n- при клике на отправить по ссылку, если кнопка активна отправляется API запрос ( метод описан в CMI-1572)\r\n- при успешном ответе СП закрывается и пользователя редиректит на страницу очереди заказов\r\n- при неуспешном показывается ошибка и пользователь остаётся на той же странице с открытой СП\r\n- кнопка \"отправить ссылку на оплату\" не выводится ", "- одновременно можно фильтровать по одному году\r\n- текущий год установлен в фильтр по годам по умолчанию и участвует в запросах как orderDateFrom и orderDateTo\r\n- в СП расширенных фильтров выводится фильтр по диапазону дат в соответствии с выбранным значением года\r\n- при применении фильтра по диапазону дат в СП расширенных фильтров, фильтр по годам на начальной панели фильтров становится неактивным: не участвует в запросах и дисейблится, а при наведении курсора на него выводится тултип \"Уже применён фильтр по диапазону дат\". Нажать на задисейбленный фильтр по годам нельзя.\r\n- При отмене фильтров, фильтр по годам разблокируется и применяется к запросу. Тултип не показывается. Смена значений в нём влияет на фильтр по диапазону дат в СП расширенных фильтров.", "- в табе очередь уходит запрос order/search на получение заказов в статусах 1, 17, 18, 24, 35", "- глобальные контексты заменены в пользу постраничных", "- поля заполнены и заблокированы, либо если данных по ПК в заказе нет - поля пустые и активны\r\n- в поле Номер карты можно ввести 16 символов, с разделителем по 4 символа\r\n- после ввода номера карты, пин-кода и суммы списания, отправляется запрос на списание, в случае успеха все поля блокируются, доступна кнопка \"Отменить списание\", в случае ошибки поля выделены красным и выводится ошибка согласно макета https://www.figma.com/file/4LGlmW9521uHM3AHjzaiEZ/%D0%97%D0%B0%D0%BA%D0%B0%D0%B7%D1%8B?node-id=150%3A6496\r\n- по нажатию на \"Отменить списание\", оправляется запрос на отвязку карты, все поля очищаются и активны", "- поле \"Номер карты\" заполнено вручную или из саджеста, в селекторе выбрано \"Накопить\", доступна кнопка \"Отправить код клиенту\", активно поле \"Введите код\" и кнопка \"Применить код\", и поле \"Сумма списания\"\r\n- по нажатию на \"Отправить код клиенту\" запускается таймер на 30 секунд и кнопка блокируется\r\n- вводим код и нажимаем \"Применить код\", карта применяется, получаем баланс карты\r\n- вводим сумму списания не превышающую баланс карты (иначе ошибка валидации), появляется кнопка \"Списать в заказ\"\r\n- нажимаем \"Списать в заказ\", карта применяется, поля и кнопки блока задисейблены (кроме кнопки \"удалить карту\"), отображается обновленный баланс", "- поле \"Номер карты\" заполнено вручную или из саджеста, в селекторе выбрано \"Накопить\", доступна кнопка \"Отправить код клиенту\", активно поле \"Введите код\" и кнопка \"Применить код\"\r\n- по нажатию на \"Отправить код клиенту\" запускается таймер на 30 секунд и кнопка блокируется\r\n- вводим код и нажимаем \"Применить код\", карта применяется, поля и кнопки блока задисейблены (кроме кнопок \"показать баланс карты\" и \"удалить карту\")", "- выводятся предзаполненные данные из заказа в СП бонусы для БК\r\n- по нажатию \"Удалить карту\" поле Номер карты пустое и активно, переключатель \"накопить/потратить\" задизейблен\r\n- в поле Номер карты можно ввести 16 символов, с разделителем по 4 символа\r\n- к полю Номер карты подключен автокомплит со всеми картами этого клиента, при выборе номера карты значение подставляется в поле\r\n- после выбора или ручного ввода разблокируется переключатель \"накопить/потратить\"", "- в ответе метода получения заказа приходит расширенная структура", "- выводятся предзаполненные данные из заказа в СП бонусы для БК\r\n- блок \"Бонусная карта\" соответствует макету https://www.figma.com/file/4LGlmW9521uHM3AHjzaiEZ/%D0%97%D0%B0%D0%BA%D0%B0%D0%B7%D1%8B?node-id=241%3A451\r\n- поля и кнопки этого блока задисейблены (кроме кнопок \"показать баланс карты\" и \"удалить карту\")", "- в контексте редактирования заказа все пункты меню, кроме каталога, неактивны", "- добавлен вызов реального API\r\n- функционал работает согласно требованиям", "- в статусах Создан, Ожидает комлектации, Ожидает оплаты разрешено действие объединения заказов (доступна кнопка в плоском кебабе и отображается действие в списке доступных действий для текущего статуса на панели статусов)\r\n- e2e тесты проходят", "- выводится список для вывоза\r\n- можно выбрать список для вывозы и сохранить в заказ", "- запрашиваются и отображаются агенты доставки с датой и временем\r\n- можно изменить агента доставки\r\n- при изменении адреса доставки список агентов перезапрашивается заново", "- добавлена возможность ввести адрес одной строкой\r\n- добавлена возможность по введенному адрес получить объект адреса\r\n- добавлен переключатель \"Доставка в офис\"", "- подключена и вызывается реальная ручка\r\n- функционал удаления работает согласно требованиям", "- во вкладку \"очередь\" добавлена пагинация\r\n- изменён метод запроса заказов с order/queue на order/search и предустановленными фильтрами\r\n- сортировка заказов от новых к старым\r\n- в очереди заказов применяется дополнительный фильтр на отображение vip заказов. В зависимости от роли оператора может быть по умолчанию либо включен, либо выключен\r\n- логика таба \"все заказы\" работает также как и раньше и не должна измениться при реализации этой задачи", "- пользователь может добавить товары в заказ товары по кнопке \"добавить в заказ\" в каталоге в контексте редактирования заказа. Переход в контекст редактирования заказа в каталоге происходит по кнопке \"добавить товары из каталога\" на странице заказа. Проверить добавление товаров можно в самой СП заказа (сейчас только на моках)", "- кнопку добавления товара в заказ неактивна (disabled), если размер у этого товара не выбран.", "- сделаны подзадачи;\r\n- для получения ПДД передается адрес, указанный в заказе, и extId товаров в заказе;\r\n- кнопка \"Получить ПДД\" неактивна (disabled) в товарной строке до выбора размера. При наведении показывать тултип с текстом \"Выберите размер\";\r\n- самовывоз или доставка определяется в GEO по коду агента в заказе (order.delivery.agent.id);\r\n- кнопка \"получить ПДД\" меняется на \"получить ПВЗ\" для самовывоза;\r\n- при самовывозе выводятся ПВЗ (по клику на кнопку \"получить пвз\") и заголовок \"Самовывоз\";\r\n- при доставке выводятся ПДД (по клику на кнопку \"получить пдд\") и заголовок \"Доставка\";\r\n- во время запроса (ПДД или ПВЗ) показывается лоадер;\r\n- в случае ошибки запроса (ПДД или ПВЗ) показывается air message;\r\n- в СП фильтров каталога выводится адрес из заказа, и его изменение НЕ влияет на адрес в заказе, а влияет на выдачу ПДД и ПВЗ у товарных строк;\r\n- при смене параметров запроса получения ПДД или ПВЗ снова показывать кнопку «получить ПДД» или «получить ПВЗ», т.к. выведенные данные уже неактуальные.", "В контексте редактирования заказа в каталоге (по клику на \"добавить товары из каталога\" на странице заказа)\r\n\r\nСтраница каталога\r\n- Кнопка \"список товаров\" меняется на \"товаров в заказе\" \r\n- Кнопка \"добавить в список\" меняется на \"добавить в заказ\"\r\n\r\nПри открытии сайдпанели \"заказ\"\r\n- Сайдпанель меняет заголовок на \"Заказ № ХХХХХХХ\"\r\n- Кнопка \"Перейти в список\" меняется на \"Перейти в заказ\" и по нажатию происходит редирект на страницу редактирования заказа\r\n- кнопка \"Еще действия\" отсутствует\r\n- выводятся товары заказа (включая новые добавленные)\r\n- Пользователь переходит обратно в заказ по нажатию на \"перейти в заказ\"\r\n\r\nСтраница заказа:\r\n- В заказе выводятся добавленные товарные строки после добавления товаров на странице каталога в контексте \"редактирования заказа\"", "- выводятся air-message c ошибками валидации при добавлении товаров на странице заказа и на странице каталога в контексте редактирования заказа (проверить ошибку можно не включая моки добавления товара, т.к. сейчас этот метод не работает)", "- по клику на ссылку с номером заказа на странице заказов, открывается заказ в контексте просмотра\r\n- в контексте просмотра заказа нет карандашей, и происходит скрытие/дисейбл кнопок. Несмотря на это, в контексте просмотра заказа доступно действие \"дублировать заказ\" (также в зависимости от текущих проверок на доступность этого действия в определённом статусе заказа).\r\n- убрать действие \"вернуть в очередь\" на странице заказов (т.к. не входит в текущий скоуп)\r\n- выводится псевдолинк \"добавить в работу\" вместо меню \"выберите действие\"\r\n- псевдолинк \"взять в работу\" заменять на \"просмотр заказа\", если флаг \"подтвержён КЦ\" стоит в true или если заказ не входит в группу поддерживаемых статусов\r\n- по клику на кнопку \"взять в работу\" на странице заказов, открывается заказ в контексте редактирования (присутствуют карандаши в зависимости от статуса заказа) \r\n- по уходу со страницы заказа глобальный контекст сбрасывается на контекст списка товаров, кроме случая с кликом по кнопке \"добавить товары из каталога\"\r\n- по уходу со странице заказа по клику на \"добавить товары из каталога\", сохраняется контекст редактирования заказа на других страницах сайта (в данном случае, интересна страница каталога. Сам контекст редактирования заказа будет доработан в задаче CMI-3684)", "- выводятся air-message c ошибками валидации при добавлении лишних товаров\r\n- контекст \"редактирования заказа\" в каталоге соответствует требованиям\r\n- действия в интерфейсе согласуются со статусом заказа (не все разрешено)\r\n- изменена логика работы кнопки \"получить пдд\" в каталоге в контексте \"редактирования заказа\"", "- отображаются заказы в табе \"все заказы\"\r\n- при изменении в пагинаторе количества заказов на странице приходит список соответствующей длины\r\n- в некоторых заказах списка присутствуют лейблы\r\n- обновлено описание api mock интерсептора", "- метод api/oauth/info в ответе дополнительно возвращает email", "- реализовано ограничение действий \"Корректировка адреса доставки\", \"Корректировка агента доставки\", \"Корректировка даты доставки\" в СП редактирования доставки (сабтабов доставки и самовывоза)", "- доработан метод поиска заказов, присутствуют флаг isTracked\r\n- доработан метод получения конкретного заказа, присутствуют флаг isTracked", "- доработан метод поиска заказов, присутствуют флаги isVip\r\n- доработан метод получения конкретного заказа, присутствуют флаги isVip", "- лейблы отображаются в соответствии с ответом бека (страница заказов)\r\n- vip отображается в соответсвии с ответом бека (страница заказов)\r\n- иконка глаза с текстом \"Этот заказ отслеживается\" в соответсвии с ответом бека (страница заказов)", "- заказ повторно запрашивается если в первом или втором запросах была ошибка\r\n- при ошибке в третьем запросе выводится аир мессадж с ошибкой и пользователь остаётся на странице заказов", "- создан метод добавления нескольких товаров в заказ\r\n- описан способ использования этого метода\r\n- метод в ответ возвращает fullOrder (aka GAPI -77)\r\n- если какой-то из добавляемых товаров не может быть добавлен, то не должно добавиться ни одного товара, и при этом возвращается ошибка с указанием extId проблемных товаров и причин, по которым добавление невозможно (для вывода в интерфейсе как ошибки)\r\n", "- кнопка  \"добавить в заказ” - добавляет товар в заказ\r\n- кнопка \"добавить в заказ весь образ\" - добавляет весь образ в заказ\r\n- добавить в заказ товары без выбранного размера \r\n", "- СП \"образы\" работает по новому в контексте заказа (заменены кнопки, согласно описанию, на другие, которые ничего пока не делают)\r\n- СП \"образы\" продолжает работать как раньше на странице каталога и списка товаров\r\n- скрыта кнопка \"образы\" у товарной строки в заказе, если товарная строка не из ассортимента сайта (т.к. у таких товаров не бывает образов)\r\n- дизэйбл кнопки “добавить в заказ”, если у этого товара не выбран размер, или размера нет в наличии.\r\n- дизэйбл кнопки “добавить в заказ весь образ”, если хотя бы у одного товара не выбран размер", "- на любое действие, требующее обновление списка, отправляется один запрос на сервер", "- расширены статусы заказов, в которых можно совершать действия и к ним добавлен статус \"ожидает оплаты\"\r\n- это значит, что на панели статусов просмотра заказа эти действия выведены обычным цветом (не в дисейбл состоянии)", "- На панели фильтров во вкладках \"очередь заказов\" и \"все заказы\" есть новый фильтр (с механикой чекбокса) с текстом \"ожидает оплаты\".\r\n- В активном состоянии оставляет только заказы со статусом \"ожидает оплаты\", а в выключенном состоянии использует предыдущие настройки фильтрации по статусам.", "- если была изменены ПДД или способ доставки, то выводить в блоке \"доставка\", помимо новых значений ПДД и способа доставки, первоначальные ПДД и способ доставки\r\n- расширены моки заказа order.mock.json\r\n- при изменении доставки(например, при объединении заказов) менять данные в моках заказа доставки в соответствии с новой структурой", "- Форма в СП редактирования заказа на табе \"Доставка\" для сабтаба \"Доставка\" предзаполнены данными из текущего заказа (\"Самовывоз\" в этой задаче не делаем).\r\n\r\n- Если данные были отредактированы, но не сохранены (функционал сохранения будет реализован отдельно), то при повторном открытии СП данные восстанавливаются на сохранённые (те которые в заказе).\r\n\r\n- В итоге в этой задаче будет выведено в сабтабе \"Доставка\":\r\n\r\n1) адрес доставки (при наличии)\r\n\r\n2) квартира в адресе (при наличии)\r\n\r\n3) одна единственная служба доставки (при наличии)\r\n\r\n4) один единственный день доставки (при наличии)", "- форма в СП редактирования заказа на табе \"Клиент\" предзаполнены данными из текущего заказа\r\n\r\n- если данные были отредактированы, но не сохранены \r\n(функционал сохранения пока не работает), то при повторном открытии СП данные восстанавливаются на сохранённые (те которые в заказе)", "1) В интерфейсе выводятся товары в подарочной упаковке - order.packs.items\r\n2) В интерфейсе выводятся товары в обычной упаковке - это все остальные товары\r\n3) В заказе со всеми товарами без подарочной упаковки (order.packs.items.length == 0), подарочная упаковка в order.lines отсутствует\r\n4) При смене упаковки товара, происходит вызов методов из CMI-1566 и изменение конфигурации order.packs, а также, при необходимости, добавляется/удаляется товар упаковки в order.lines\r\n5) описана статья в confluence\r\n", "- Все работает", "- обновлена версия зависимости ui-kit на >= 2.2.7", "- убран хардкод в app-order-total-amount компоненте\r\n- выводятся новые данные в этом блоке при динамическом обновлении, через совершение действий в заказе (например, стоимость при добавлении/удалении товара в заказ)\r\n- написан комментарий с информацией какая цена выводится в каждом из полей", "- убран хардкод в app-order-bonuses компоненте\r\n- выводятся новые данные в этом блоке при динамическом обновлении, через совершение действий в заказе (сейчас скорей всего невозможно проверить этот пункт. При QA можно принять без проверки)", "- убран хардкод в app-order-delivery компоненте\r\n- выводятся новые данные в этом блоке при динамическом обновлении, через совершение действий в заказе (например, изменение доставки при выборе новой доставки в СП объединения заказов)", "- убран хардкод в app-order-package компоненте\r\n- выводятся новые данные в этом блоке при динамическом обновлении, через совершение действий в заказе (При QA можно принять без этой проверки, если на данный момент проверить невозможно)", "- убран хардкод в app-sticky-order-info компоненте\r\n- выводятся новые данные в этом блоке при динамическом обновлении, через совершение действий в заказе (например, стоимость при добавлении/удалении товара в заказ)", "- упаковки добавляются/удаляются из заказа", "- получение ПДД работает через API\r\n- функционал работает согласно требованиям", "- по умолчанию адрес доставки Россия, г Москва\r\n- пользовательский выбор сохраняет адрес доставки в sessionStorage\r\n- сохраняется адрес выбранный в сп фильтров каталога\r\n- сохраняется адрес выбранный при переходе к редактированию заказа\r\n- адрес сохраняется при перезагрузке страницы", "- API методы работы с заказами всегда принимают на вход extId товара/товаров (а не np sku) ", "- панель со статусами переделана согласно новым требованиям", "- иконки редактирования (карандаши) и действия над заказом меняются в зависимости от контекста заказа (статус заказа)\r\n- текст кнопки в оверлее меняется в зависимости от контекста", "- используются реальные методы для объединения доставок заказов\r\n- в Mock режиме приходят тестовые json файлы\r\n- заменены интерфейсы под новое описание API в CMI-1552, CMI-1555, CMI-1557, CMI-1558\r\n- можно пройти весь флоу объединения доставок заказов в Mock режиме", "изменена формулировка \"Артикул ЦУМ\" на \"Модель ЦУМ\" в представлениях товара, перечисленных в задаче", "- выводится СП для удаления заказа\r\n- удаленный товар в заказе помечается удаленным и выводится причина удаления", "имплементирован новый uikit", "- при загрузке страницы редактирования заказа в консоле нет ошибки ExpressionChangedAfterItHasBeenCheckedError ", "- есть возможность получить ПДД для размера в СП \"Номенклатура\"\r\n- получение ПДД в контексте \"Каталог: редактирование заказа\"\r\n- получение ПДД в контексте \"Каталог: создание заказа\"", "- получение ПДД изменено на новый алгоритм", "- ответ изменен согласно новой структуре ответа", "-заменены хардкодные моки удаление товара на отправку запроса и его перехват\r\n-заменены  хардкодные моки  получения товара на отправку запроса и его перехват\r\n- расширить структуру Mock интерсептора под множественные запросы", "- добавлена ручка для получения ПДД заказа + список выбранных размеров", "- OrderMockApiService удалён\r\n- В мок режиме приходят замоканные данные (список ручек указать комментарии)\r\n- В обычном режиме отправляются запросы на бекенд (список ручек указать комментарии)", "- удален MatMenuModule\r\n- MatRadioModule\r\n- ui-dropdown-button", "- есть возможность включить mock-сервер для страницы просмотра заказов", "- написаны тесты", "- написаны стабы для тестов", "- написаны заполненные стабы для приходящих с сервера данных \r\n- созданы тесты на основе стабов, учитывающие различные состояния и наличие отдельных элементов карточки", "- весь функционал работает так же, как и раньше\r\n- дизайн карточки каталога соответствует макетам", "- весь контент под виджетом клиента в свернутом состоянии полностью видно", "- создан store для оформления/редактирования заказа", "- работа с заказами ведется через orderNo, вместо uuid", "- можно разделять упаковки\r\n- можно расформировывать упаковки\r\n- можно добавить N подарочных упаковок", "при получении в структуре заказа lines с заполненным id и не заполненным itemId в объекте item, выводить тип товарной строки \"не из ассортимента ИМ\" в:\r\n- товарный блок просмотра заказа\r\n- СП разделения заказа\r\n- СП дублирования заказа\r\n- СП заказа контекста каталога - редактирование заказа \r\n\r\nДанные строки можно удалять из заказа, работает действие \"упаковать отдельно\"", "- скорректирована верстка под описание задачи\r\n- работает автозаполнение в случае поднятого виджета\r\n- отправляется запрос (если подтвердит Ваня К)", "Выводится настоящая страница корзины при:\r\n- создании корзины с нуля\r\n- копировании корзины из существующего списка или образа\r\n- можно добавлять и удалять товары из корзины", "- если ссылка редиректа формы авторизации oauth - CMI, делаем тему письма \"Восстановить пароль от CMI\"", "- запретить отжимать главный контакт и выбирать главным первый по дефолту (поведение radio режима селекта)", "- иконка отслеживания и действия по заказу перенесены в другое место согласно дизайна", "- блок оформителя и покупателя соответствует новому дизайну", "\r\n", "- реализован редизайн товарной строки в просмотре заказа", "- в темплейте компоненты есть лишь перечисление (*ngIf) прокинутых через инпут действий\r\n- все работает как и прежде ", "- создана директива, заменяющая defaultValueAccessor\r\n- debounce рпименяется только к одному из полей формы\r\n- ничего не сломалось", "- компонент catalog-card-checkbox удален\r\n- директива uiCheckbox удалена", "- Собрать общий список потенциальных багов, которые вас смутили комментарием к задачке (чтобы убрать дубли при параллельном тестировании)\r\n- Вместе со мной провалидируем, что из этого правда зааффекчено браузером\r\n- Финальные найденные баги прикрепляем к задаче - https://jira.int.tsum.com/browse/CMI-3360\r\n", "- добавлена опция \"создать заказ\" в меню строк списков и образов\r\n- редирект на корзину\r\n- отрабатывает фронтовая валидация корзины\r\n- при попытке создать заказ из списка списков/луков, если роль ниже admin, должна отрабатывать basic авторизация", "- размокан метод CMI-1917\r\n- в стору корзины ПК фиксируются выбранные пользователями в СП опции", "- логирования события \"Поднятие виджета\"\r\n- логирование события \"Создание клиента\"\r\n- логирование события \"Присоединения клиента\"\r\n- логирование события \"Смена основного контакта\"\r\n- логирование события \"Редактирование ФИО\"", "- в случае недоступности \"обтравленного\" фото включается автоматический fallback на фото до обтравки и кнопка обтравки \"НЕ ПОКАЗЫВАТЬ ФОН\" дисейблится и красится в красный", "- выбранный товар удаляется из списка при выборе соответствующего действия", "- при динамической смене disabled у выбранной опции в режиме радио происходит переключение на другую опцию\r\n- логика выбора опции не изменилась\r\n- тесты проходят\r\n- удалено применение класса disabled и renderer из директивы опции (но класс disabled у опции продолжает устанавливаться, только теперь из родительской директивы селекта)\r\n- повторных эмитов значений при смене опций или disabled у опций, если итоговое значение инпута не изменилось, не происходит ", "- ui-checkbox заменен на tsumCheckbox\r\n- поправлены все ошибки от ng lint\r\n- поправлены warnings при сборке", "- после обновления sdk gapi все стенды имеют актуальную версию", "- Если данные на холсте не меняются (в данном случае товар не был перемещён, просто была запрошена доп информация о нём по клику на кнопку i), то сохранение товаров лука на сервер, метод replaceItems не вызывается", "- Применённые фильтры сохраняются и применяются к выборке по прямому переходу по ссылке (или перезагрузки страницы) ", "- предоставлена ссылка на подготовленную таблицу ", "- авторизация для тестов запрашивается один раз, далее все тесты используют полученный токен", "- нельзя вызвать сп сохранения для отправленного списка/лука\r\n- для всех типов списков, кроме отправленного, сп сохранения работает без изменений", "- все табы работают как и раньше\r\n- баг с ng-content не воспроизводится", "- все доступные поля отображаются на странице заказа\r\n", "- кнопка \"Подробнее о товаре\" имеет фиксированный размер, текст не прилипает к краям кнопки", "- нельзя перейти на страницу редактирования отправленного лука/списка\r\n- при попытке перехода на страницу редактирования отправленного лука/списка редиректить на страницу каталога\r\n- после редиректа отображается нотификация", "- изменения в редактируемом луке отражаются в сгенерированной картинке ", "- Написаны тесты на смену uiSelectType во всех вариациях\r\n", "- чипсы не показываются, если они не помещаются в селектор, даже если список доступных опций был изменён", "- При применении селектор компонента без uiSelectType показывается варнинг в консоли.\r\n- При использовании селектор директивы без указания значения в uiSelectType выбрасывается ошибка.\r\n- Значения по умолчанию в uiSelectType быть не должно, это значение должно быть указано явно для лучшей читаемости и понимания работы кода.", "Написаны изолированные тесты на следующую логику:\r\n\r\n1. При установке  начального значения в fromControl селект - оно не должно эмититься наверх (не быть в this.fromControl.valueChanges).\r\n\r\n2. При установке значения в fromControl через setValue - оно должно имититься наверх (быть this.fromControl.valueChanges).\r\n\r\n3. Если начальное значение не было установлено, но в селекторе оно было выбрано автоматически (например в радио режиме выбралась первая доступная опция), то этот эмит должен происходить  (быть this.fromControl.valueChanges).\r\n\r\n4. Если изменились опции (например, добавилась новая) и значение осталось прежним (равно selectedValues), то повторный эмит не должен происходить, иначе, в случае изменения значения, эмит должен быть.", "- Проверены результаты функций UiSelectHelper.selectSingleValue с максимальным числом вариантов входных значений для radio и radioArray режимов\r\n- Исправлены найденные в процессе тестирования баги в select экосистеме", "- все селектор компоненты и директивы работают\r\n- используются новые директивы и компоненты\r\n- удалён лишний код", "- Проверены результаты функций UiSelectHelper.selectSingleValue с максимальным числом вариантов входных значений для single и singleArray режимов", "- СП выбора клиента у виджета клиента покрыта e2e-тестом", "- в СП добавления в образ отображаются товары", "- добавлена страница с логами в oauth\r\n- реализована возможность поиска, фильтрации на странице", "- панель остается целой", "- кнопка не мигает, не меняет свое состояние без клика и нажимается с первого раза", "- поиск работает корректно (не срабатывает второй запрос)", "- создать отображение каталога плиткой\r\n- вывести возможность переключать каталог со строчного на плиточный вид\r\n- редизайн товарной строки в виде строки\r\n- реализовать запоминания вывода (строка/плитка) в привязке к пользователю ", "- выводятся варанты каналов коммуникации в дропдауне в СП генерации ссылки. Как в образах, так и в списках", "Строки добавляются в заказ и визуально отображаются на странице заказа", "- MatListModule удален из проекта\r\n- MatAutocompleteModule удален из проекта", "- принято решение о том, что это возможно или невозможно", "- написан тест на выбор размера у товара на холсте через оврелей info", "I. Замоканы запросы \r\n 1) /catalog/search, \r\n 2) /catalog/sizes, \r\n 3) /catalog/search?id=\r\n||. Тесты проходят, даже если np сервер недоступен\r\n", "- иконка и входящая коммуникация(телефон, whatsapp) поиска отображаются", "- счетчик на табах добавляется и очищается\r\n- выделяются/снимается выделение строк\r\n- отображается air message", "- панель с фильтрами изменена согласно нового дизайна", "- в akita на проде включен prod режим", "- ui-tabs/tsum-tabs работают без ошибков с Angular 9 Ivy", "- ui-selector/tsum-selector работают без ошибков с Angular 9 Ivy", "- при выходе нового релиза появляется попап, информирующий об этом\r\n- если пользователь во время появления этого попапа редактирует лук, то все изменения сохраняются на сервер перед перезагрузкой страницы\r\n - если во время появления этого попапа у юзера был открыт виджет клиента, то виджет клиента восстанавливается после перезагрузки страницы", "- заменен на ", "- стилизация иконок сделана по аналогии с остальными", "- все имплементированные компоненты из ui-kit работают без багов", "- можно выбрать размер товара в оверлее инфо на холсте", "После нажатия \"обновить\" в попапе \"вышла новая версия\", если был открыт виджет клиента, его нужно повторно открывать", "При показе попапа и нажимания на целевую кнопку:\r\n1) делать сохранение лука вне зависимости от его типа\r\n2) после перезагрузки фрейма перезапросить сохраненный лук у бэка и показать товары уже расставленными", "- образ товара не сохраняется как личный список", "- информирование срабатывает один раз, при деплое", "- анимация панели с действиями проходит плавно, без фризов", "- иконка skroll up расположена как в макете тут https://zpl.io/adGLNwR", " - MatButtonToggleModule заменен на Tsum Secondary Sidepanel Selector", "- dnd от Material заменен на собственный", "- диалоги angular material заменены на диалоги ui-kit (если возможно)\r\n- поставлена задача на доработку ui-kit (если нужно) ", "- MatSelectModule убран из проекта", "- MatInputModule заменен на аналог из ui-kit", "- MatCheckbox заменен на аналог из ui-kit", "- MatProgressSpinnerModule заменен на аналог из ui-kit", "- добавлен header и profile из ui-kit\r\n- добавлен layout из ui-kit", "- MatDatepickerModule заменен на аналог из ui-kit", "- из проекта удалены MatCardModule, MatTableModule, MatPaginatorModule, CdkTableModule, MatTabsModule, MatGridListModule, MatAutocompleteModule, MatBadgeModule, MatTooltipModule", "- проект переведен на angular 9", "- MatButtonModule больше не используется на проекте\r\n- все кнопки на проекте выглядят как и раньше, без изменений", "- MatIconModule больше не используется на проекте", "- отступ увеличен до 32px", "имплементирован новый ui-kit", "изменен внешний вид блока фильтров", "- Вывод кнопки \"подарочные карты\" в каталоге\r\n- Вывод СП\r\n- Вывод содержимого СП + возможность добавлять удалять карты \"на лету\"", "- после очистки списка закрыть пустую СП\r\n", "- добавить ограничение на кол-во записей, которые стора может хранить\r\n- убрать утечки памяти в тултипе", "- поиск срабатывает по нажатию на кнопку \"Enter\"\r\n- убрано упоминание поиска по id\r\n- убрана кнопка \"Искать\"", "- нотификации должны быть в новом дизайне\r\n- отображаться всегда должны ниже шапки (или ниже фильтров, например, в каталоге, когда шапка вверх уезжает)", "- добавлен новый футер\r\n- в списках списков нижний футер не должен быть на белом фоне", " - на бэк добавлен актуальный список ролей для валидации", "Статус заказа добавлен", "- иконка копирования не отделяется от текста\r\n- если текст не помещается, то он обрезается, добавляется троеточие с тултипом", "- отображается тень по дизайну (темная)", "- все toggle-group на проекте заменены на Tsum Secondary Sidepanel Selector из ui-kit", "- написаны e2e тесты для статусов заказа, их групп и доступных действий\r\n- исправлены ошибки, чтобы статусы соответствовали таблице\r\nhttps://kb.int.tsum.com/pages/viewpage.action?pageId=842498934", "добавлена новая версия ui-kit на проект\r\nво всем проекте заменен scroll на скролл из ui-kit", "- e2e тесты работают корректно, ошибок с timeout нет", "- рамка обрезки сохраняется вне зависимости от масштаба страницы", "Выводим сайдпанель с доступными БК клиенту по аналогии с CMI-3306", "Вывести в табе Бонусы сайдпанели оформления заказа:\r\n- Бонусная карта:\r\n-- таб и содержимое таба Начисление\r\n-- таб и содержимое таба Списание\r\n- Подарочная карта (+фиксбонус) и содержимое блока\r\n- Купон и содержимое блока", "- вывод сайдпанели \"все карты пользователя\" с замоканным содержимым", "- имплементирован новый ui kit", "Вывести в табе Бонусы сайдпанели редактирования заказа:\r\n- Бонусная карта:\r\n-- таб и содержимое таба Начисление\r\n-- таб и содержимое таба Списание\r\n- Подарочная карта (+фиксбонус) и содержимое блока\r\n- Купон и содержимое блока", "- иконки должны исчезать при открытии СП\r\n- кнопка \"сохранить образ\" должна дизейблиться при открытии СП", "- имплементирован на фронт CMI новый ui-kit", "- Реализована возможность обтравки конкретного слоя на холсте\r\n- Генерация конечного изображения с обтравленными товарами ", "- структура метода получения заказа изменена в части комментария клиента к заказу", "Вместо \"кода задания AX\" выводить \"описание задания\" из таблицы в CMI-3280 в дропдауне с фильтрацией задач на странице \"Очередь заказов\" в табах \"В работе\".", "Отобразить из ответа поля адрес, оплата, купоны, цены", "Отобразить из ответа строки заказа (товары), информацию по доставке", "Обработать ответ от ручки поместить в store\r\nОтобразить из ответа поля статус, оформитель, получатель", "- Скорректировать механики, разработанные в CMI-3237 по макетам и описаниям UX-171\r\n- панель с фильтрами изменена согласно нового дизайна\r\n- счетчик на табах добавляется и очищается\r\n- выделяются/снимается выделение строк\r\n- отображается air message", "Архив изображений. Один шаблон - одна папка, названная как шаблон. Если изображений больше одного, называй их 1, 2, 3 и тд", "обновлен ui-kit;\r\nописан список компонентов, которые затронуты в проекте и которые нужно проверить;", "- вывод вариантов в дропдаун ", "Для заказов в работе выводить ФИ и роль юзера, кем заблокирован заказ", "Когда пользователь берет личный или публичный лук на редактирование:\r\n1) убрать сохранение на сервер при добавлении товара и перемещении по холсту - сохранять в стору\r\n2) добавить попап при попытке покинуть страницу\r\n3) при подтверждении сохранения в попап - сохранить на сервер", "- при получении от бэка ошибок, кроме ошибок валидации выводить красный air-message", "- лейбл \"однотоварник\" добавлен в структуру заказа", "- разработан и описан в swagger метод", "- добавлена валидация поля CMI ID при нажатии на кнопку \"сгенерировать\" сайдпанели \"скопировать ссылку\" для луков и списков товаров", "- в ответы всех методов сайдпанели назначения консультанта добавлен uuid", "- zero case сверстан\r\n- batch-plan выпилен\r\nдля товаров с 0м остатком на складах", "Дизэйблить кнопку в КТ и строках товара \"получить пдд\", если остаток товара на складах - 0", "- подготовлены и переданы инструкции", "Написаны e2e тест на создание личного списка товаров", "Написаны e2e тесты на создание\r\n1) личного списка товаров\r\n2) публичного списка товаров", "- добавить анимации по описанию", "- разработан метод откладывания задач в заказе", "1) Создать отправленный лук (черновик списка -> черновик лука -> отправка)\r\n2) Проверить, что произошел редирект на страницу отправленных луков\r\n3) Скопировать как личный на странице списков списков\r\n4) Проверить, что произошел редирект на страницу личных луков\r\n5) Отредактировать товары на холсте в только что созданном личном луке\r\n6) Отправить личный лук\r\n7) Проверить, что стейт личного лука не изменился\r\n8) Проверить, что стейт исходного отправленного лука не изменился\r\n9) Проверить стейт товаров на холсте сохранился в новый отправленный лук\r\n10) Проверить что произошел редирект на страницу отправленных луков", "- добавлен zero screen в корзине", "Необходимо проверить по описанию CMI-1665 после реализации GAPI-77 (метод получения заказа)", "- товары в списках сортируются", "- в swagger добавлены методы по спискам и лукам\r\n- добавлены ", "- вывод товарных строк, недоступных к добавлению в новый заказ из разделения\r\n- редирект на страницу корзины по нажатию на целевую кнопку", "- идентификация клиента в телефонах по адресу WA\r\n- упрощенное присоединение клиента", "- предоставлено изображение схемы\r\n- предоставлена ссылка на редактирование схемы", "- настроено логирование\r\n- передана инструкция к инструменту, в котором возможно отслеживание (инструкция для: PM, sitesupport)", "- поисковый параметр q отправляется только если не заполнено ни одно поле\r\n\r\n", "при обращении к /search NP добавить get-параметр checkAccess=1", "ui kit обновлен на актуальный", "в ответы методов по комментариям к заказу и клиенту добавлены cmi_id клиентов", "Написаны e2e тесты на ресайз и перемещение товаров по холсту на странице редактирования лука", "- задача(и) UX\r\n- kb", "- удалены/заменены MatRadioModule\r\n- app-input-select-filter заменен на tsum-checkbox-group", "- ответы ручек комментариев отсортированы по дате", "- разделена логика с редиректами для списков и луков\r\n- поправлены формулировки в кнопках", "- изменен внешний вид зоны обрезки изображения", "выводить маркеры для строк пользователей сайдпанели назначения:\r\n- признака занятости пользователя (красный)\r\n", "- выводится форма в новом дизайне\r\n- комментарии в блоке \"клиент\" и \"заказ\" - реальные\r\n- при нажатии на иконку копирования у заголовка \"заказ\" проискходит копирования номер заказа Фх, если номера заказа AX нет, копируется uuid заказа (для т.н. \"зависших\" заказов) ", "- выводится комментарий в блоке комментария клиента к заказу на странице просмотра заказа", "Добавить в пагинацию в запрос /user/search возможность расширенный список пользователей, передавая большое (на усмотрение разработчика) количество пользователей через гет параметр per-page", "Убирать из полоски статусов ПВЗ, если агент доставки - не ПВЗ", "- дизайн блока статусов просмотра заказа приведен к дизайну", "Реализована сортировыка строк в сайдпанели назначения оператора по правилу:\r\n- сначала все юзеры онлайн и свободные по алфавиту (зеленый маркер)\r\n- затем онлайн и занятые выполнением задач по алфавиту (красный маркер)\r\n- в конце все оффлайн так же по алфавиту", "Реавлизована сортировыка строк в сайдпанели назначения оператора по правилу:\r\n- сначала все юзеры онлайн и свободные по алфавиту (зеленый маркер)\r\n- в конце все оффлайн так же по алфавиту", "- товарный смписок заказа сохраняется в контексте добавления товара в заказ", "- вывод саджестов в полях адресов коммуникаций в сайдпанели оформления заказа, таба \"клиент\"", "- размокан фильтр фильтр VIP в табах:\r\n\r\n-- все заказы", "В 2 руппах методов по спискам товаров:\r\n- действия со списками/луками\r\n- вывод для списков списков и списков луков\r\n\r\nотдается наиболее широкий в чатси данных в items[] ответ", "- после добавления адреса коммуникации к существующему клиенту, виджет перерисовывается на данных ответа /add-communication-addres/{cmi_id}\r\n", "- добавлены иконки в блок предпочитаемых каналов сайдпанелей создания и редактирования \r\n- блок whatsapp добавлен на сайдпанель \"предпочтительно\"", "Товары размещены на холсте по координатам и zoom оригинала без f5 при редактировании личной копии отправленного лука", "- oauth работает корректно и перенаправляет на CMI", "-подкллючен /search вместо /list\r\n- выводятся строки пользователей\r\n- осуществляется поиск (get-параметы, вывод строк из ответа ручки /search)\r\n", "Ссылка на сваггер", "- размока вывод строк заказов в табе очередь заказов страницы очередь заказов", "- выпадашка не заходит на кнопку", "Если приходит пустое значение, то возвращаются все комментарии.\r\nЕсли значение приходит, то возвращаются комментарии определенного типа в том же формате", "Написаны Unit тесты на TransformHelper.", "- подгружаются данные из ответа на запрос /item NP", "убран дополнительный get-запрос комментариев после 3х POST методов добавления комментариев на 3 табах сайдпанели комментариев страницы просмотра заказа", "В ответе приходит массив из всех комментариев", "Вехнеуровневое описание (бизнес-требования) того, что необходимо сделать и какие системы в этом участвуют.", "- обновить библиотеку", "- размокан просмотр всех комментариев на странице просмотра заказа\r\n- размокана форма отправки комментария", "шаблон страницы образа не разваливается", "- при автоподстановке браузером в форму логин/пароль на странице авторизации пользователя, глаз по нажатию показывает по прежнему точки, но если пользователь начинает вводить пароль вручную, то по нажатию на глаз показываем текст пароля\r\n\r\n- при автоподстановке браузером в форму логин/пароль на странице авторизации админки oauth, глаз по нажатию показывает по прежнему точки, но если пользователь начинает вводить пароль вручную, то по нажатию на глаз показываем текст пароля", "- требования обмены и реализация в kb\r\n- задача в UX", "1. Соглдасованный с КЦ и направленный в СС документ", "- описано в swagger\r\n- kb\r\n- реализован параметр\r\n- сделан фронт", "дропдаун в нижнем пагинаторе с выбором кол-ва товарных строк на /catalog и /orders выпадает выпадает вверх (дропап)", "- добавлено поле поиска на страницу /пользователи Oauth\r\n- выводится тултип при наведении на поле\r\n- выводятся строки пользователей, которые отдала апи\r\n- выводится дропдаун с вариантами ролей", "- описана ручка и задокументирована в swagger\r\n- реализована ручка", "описано, как продложить работу с заказом при:\r\n- разлогинивает oauth\r\n- выходит новая версия и требуется обновление страницы \r\n- рвется и восстанавливается соединение", "- добавлен гиперлинк на товар на tsum.ru в представлениях товара", "Добавлен дублирующий пагинатор внизу страниц Очередь заказов, Каталог ", "добавлена кнопка scroll-to-top", "расположены варианты фильтра по цвету по алфавиту", "- kb\r\n- описание api\r\n- реализация", "- id пользователя возвращается в ответе", "- для формирования поля \"desiredWithdrawAmount\" складываются значения полей \"amount\"", "в ответе /order/:orderNumber/order-line/:lineUuid/reject-list обновлен список причин отмен", "- Увеличить время отображения Air Message для ошибки получения типа карты /order/check-type-bc (сейчас - 2 секунды)", "- функционал работает на реальном апи", "- используется новый сервис получения причин отмены\r\n- дизайн СП согласно макету в kb\r\n- есть поле коментарии\r\n- флажок \"отправить смс\" доступен при наличии шаблона в выбранной причине\r\n- флажок \"отправить смс\" по-умолчанию выбран если в причине отмены инициатором является клиент\r\n- есть блокировка экрана в процессе отмены\r\n\r\n", "- используется новый сервис получения причин отмены\r\n- дизайн СП согласно макету в kb\r\n- есть поле коментарии\r\n- флажок \"отправить смс\" доступен при наличии шаблона в выбранной причине\r\n- если товар в заказе последний, то нужно открывать СП отмены заказа\r\n- флажок \"отправить смс\" по-умолчанию выбран если в причине отмены инициатором является клиент\r\n- есть блокировка экрана в процессе отмены\r\n- ui тест на удаление последней строки в заказе\r\n", "- изменен формат ответа метода GET /order/:orderNumber/reject-list/actual", "Изменен ответ метода GET /order/:orderNumber/order-line/:lineUuid/reject-list", "В метод /oauth/info добавлено поле “has_axapta_eshop”: bool, сообщяющее о том, заведен ли пользователь в axapta eshop", "- написаны тесты на машину", "- Заблокировать возможность пользователю выполнить сценарий EMS-like case до завершения Bonus-like case", "- убрать дублирование при сохранении", "- Если заказ не имеет связанных заказов, то при выходе из заказа в очередь нет ошибки", "- каунтер задач всегда виден в шапке заказа\r\n- По клику на каунтер задач в шапке заказа страницы заказа должна открывается СП Задачи в заказе\r\n", "- выводится кнопка, если режим тестирования включен и есть роль тестировщика \r\n- по нажатию на кнопку выводится попап с дочерним id сессии (id проблемы) и ссылкой и завершать дочернюю сессию и начинать новую дочернюю сессию\r\n- переделана кнопка \"наверх\"", "- начинается родительская и дочерняя сессии при заходе в CMI\r\n- заканчивается родительская сессия при выходе из уч записи CMI\r\n- заканчивается дочерняя сессия при нажатии на \"я столкнулся с проблемой\" и сразу генерируется новая\r\n", "Добавлен запрос CMI-5315 при загрузке всех страниц CMI ", "сделан метод, передающий значение \"testing_enabled\":bool и ссылку на опрос", "- в методы GET и POST /api/cmi-settings добавлен обязательный параметр в url :typeParam (\"тип настроек\"; пример url с параметром /api/cmi-settings/order-actions)\r\n- в :typeParam можно передавать любые валидные значения - не больше 32 символов, только буквы или цифры без спец символов и пробелов (допускается тире, как разделитель)\r\n- POST должен сохранять переданный json учитывая параметр :typeParam\r\n- GET должен возвращать сохраненный json с тем же типом, что передали в :typeParam", "В админку управления интерфейсом добавлен свитч режим тестирования и инпут для ссылки на опрос", "- выводится новая роль в админке oauth", "- в логах кибаны на тесте и проде видно email пользователя, который иициировал запрос", "- в любую страну кроме России индекс вводить не обязательно", "- если для агента запрещено списание, то возможность списания на вкладке Бонусы должна быть задизейблена", "- передается признак полного списания с ПК isFullPayment: true\r\n", "- нет ошибки в консоле при доставке в Самару\r\n- при смене адреса доставки подгружаются необходимые агенты\r\n", "- при полной оплате балами ПК (isFullPayment) в AG дополнительно передается { payementType: 8 }", "- в псевдолинк \"еще N клиентов\" и \"найдено N клиентов\" выводится количество заказов клиентов и задач клиентов\r\n- по клику на всевдолинк или новый каунтер открывается СП \"Выбрать клиента\"/\"Найдено по телефону\"", "- в запросе на отмену передается номер заказа", "- eslint можно запустить и в консоли не будет ошибок линтера", "- поле isPrivileged в запросе expanded-plan отсутствует", "- можно привязать новую карту (если ранее у клиента не было карт)\r\n- в ответе /{orderNumber}/loyalty-card/info, /{orderNumber}/loyalty-card/withdraw/verify-sms, /{orderNumber}/loyalty-card/collect/verify-sms нет информации о типе карты\r\n", "- выводятся туктипы по наведению на иконки в блоке предпочитаемых СП Редактирования клиента по описанию в задаче", "- у телефонов в СП редактирования клиента выводятся черная или оранжевая иконка WA (в зависимости от признака \"предпочитаемый\"), если в данных cmi id есть аналогичный телефону WA\r\n- при наведении на иконку выводятся 2 тултипа - для оранжевой или черной иконки они разные\r\n- проверку на вводимый новый телефон с целью его добавить делать не надо", "- bonus-card-interrupted больше не падает без очевидной причины", "во всех файлах с расширением spec.ts убрать вывод в консоль отладочных данных\r\n\r\n", "- в виджете клиента выводится иконка wa у телефона, если есть аналогичный адрес wa\r\n- иконка может быть оранжевой или черной в зависимости л\r\n- при наведении курсора на иконку - выводится текст в тултипе в зависимости от того оранжевая или черная иконка", "увеличен шрифт входящего адреса коммуникации в виджете клиента", "Роль CALL CENTER EDITOR выдана пользователям с ролью CALL CENTER SUPERVISOR", "реализовано поведение интерфейса редактирования бонусов в зависимости от состояния поля \"режим списания\" для БК/ФБ\r\n- Режим \"Пусто\" или «Только начисление» для карты ФиксБонус\r\n- Режим \"Пусто\" или «Только начисление» для карты БК (накопить)\r\n- Режим \"Пусто\" или «Только начисление» для карты БК (потратить)\r\n- Режим «Начисление и списание» для карты ФБ\r\n- Режим «Начисление и списание» для карты БК (накопить)\r\n- Режим «Начисление и списание» для карты БК (потратить)", "из вкладки \"очередь\" исключены тестовые заказы", "Выводится лейбл \"Тестовый\" (первым) в блоке лейблов в строке заказа вкладки \"все заказы\"", "Выводится признак \"тестовый\" на странице заказа", "В структуру заказа добавлен признак \"isTest\"", "1) Получаем признак в /queue и /search\r\n2) Для queue сделан фильтр \r\n\"is_test\": 0|1", "- в структуру заказа добавлено поле \"режим списания\" loyaltyPointsWriteOffMode:int", "Уголок открытого дропдауна \"настройки\" показывается у пункта меню \"настройки\", а не \"клиенты\"", "- проверить моки на соответствие недостающих контрактов\r\n - поправить фронт", "\"общение по заказу\"выводится в СП редактирования оформителя/получателя согласно значениям поля \"contactWith\" структуры заказа:\r\nnull - оформитель\r\ncontact - оформитель\r\nreceiver - получатель", "- выводятся иконки БК/ФБ на странице заказа таб бонусы, блок страницы бонусы и клиентский блок", "В методы \r\n/order/:orderNo/loyalty-card/withdraw/verify-sms\r\n/order/:orderNo/loyalty-card/collect/verify-sms\r\nдобавлено поле ДР", "- на фронте релизовано поведение описанное в разделе \"детали реализации\" статьи kb", "1) вывод максимальной суммы списания бонусов рядом с балансом карты\r\n", "Разработан метод, получающий по номеру карты ее тип", "Лейбл О+ перекрашен в оранжевый в сврнутом и развернутом виджете клиента", "- tslint заменен eslint", "- ошибки нет - успешный ответ", "Снята валидация на поле \"communication_type\" в методе генерации ссылки", "- нет ошибки валидации при запросе с новым типом коммуникации", "- в ui библиотеку добавлен новый компонент", "Для ролей ROLE_CALL_CENTER_PA и ROLE_CALL_CENTER_APA отключить проверку остатков при добавлении товара в список/образ\r\n\r\nСписок/Образ можно:\r\n- сохранить как личный\r\n- сохранить как публичный \r\n- сохранить черновик\r\n- отправить\r\n\r\nНа странице списка/образа на tsum.ru товары должны выводиться\r\n", "При отсутствии у пользователя роли CALL_CENTER_EDITOR в строке заказа на табах очередь заказов и все заказы доступно только действие \"просмотр заказа\" ", "- в селектор дат под агентом СП редактирования заказа - таб Доставка выводятся дни недели словами, длинные значения троеточатся, выводится тултип с полным текстом на ховер \r\n- длинные троеточчащиеся значения в селекторе адресов в дропдауне под полем адрес - выводится тултип с полным текстом на ховер", "- вызывыается метод logout при описанных в задаче условиях", "- реализовано логирование\r\n- сохранить вьюху для возможности быстро выгружать ", "Перекрашен лейбл O+ в оранжевый, но отличный от цвета лейбла VIP в:\r\n- строках заказов в очереди заказов и \"все заказы\"\r\n- на странице заказа", "- нет возможности зайти в заказ без нужной роли. все доступы к заказу управляются ролями в oauth", "- в cmi не используется stylus. все стили переделаны на scss", "- кнопка \"Отправить ссылку\" не доступна на табе \"Оплата\" (СП редактирования заказа), если изначально не выбран способ оплаты \"Ссылка на оплату\";\r\n- при клике по \"Ссылка на оплату\" открывается СП \"Оплата по ссылке\";\r\n- при отмене действий в СП \"Оплата по ссылке\" путем нажатия \"Отменить\" или крестика активным становится ранее выбранный способ платы,( на кнопке \"Ссылка на оплату\" не должно остаться выделения, как у выбранного способа)", "- логируются ошибки\r\n- передается traceparent заголовок", "- отправляются события в apm с фронта cmi\r\n- может передаваться traceparent с фронта cmi", "- expanded-plan принимает camelCase", "1) для способа оплаты \"картой онлайн\" и любых других способов оплаты, кроме \"ссылка на оплату\" вместо \"ссылка не отправлена\" для OrderPrepaymentStatus.Empty не выводится ничего\r\n\r\n2) для способа оплаты \"по ссылке\" требования остаются такими же как в задача CMI-4822, т.е. выводится \"не отправлена\"", "- при нажатии на \"применить\" в СП откладывания задач отправлять запрос /lock и выводить попап, если заказ заблокиран, если не заблокирован - блокировать и отправлять дальнейшие запросы\r\n- при нажатии на \"подтвердить заказ\" или \"подтвердить и отправить имейл\" в СП откладывания задач отправлять запрос /lock и выводить попап, если заказ заблокиран, если не заблокирован - блокировать и отправлять дальнейшие запросы \r\n- при нажатии на \"отправить\" в СП отправки ссылки на оплату отправлять запрос /lock и выводить попап, если заказ заблокиран, если не заблокирован - блокировать и отправлять дальнейшие запросы ", "- провести исследование, какие поля мы можем брать из NP\r\n- берем данные из NP для формирования структуры заказа (full-order) (кроме исключений)\r\n- актуализировать табличку описания структуры заказа (ex GAPI77)", "- свагер обновлен. видно firstPlannedDeliveryDate в схеме структуры заказа", "- если сумма заказа 0 (или меньше), тогда кнопки задизейблены \r\n- если кнопки задизейблены выводится тултип", "- выводится \"Заказ оформлен без доставки\" первой строкой в выборе, когда агент в заказе равен 0\r\n- можно изменить способ доставки, если состояние заказа позволяет", "Переименован столбец \"сумма заказа\" на \"к оплате\" на странице заказов во обоих табах", "- передается новое поле при запросе hypothetical-methods", "- выводится каунтер задач на странице заказа, если нет связанных заказов (не отображаются вкладки)\r\n- В режиме work/view и browse кнопка ПЕРЕЙТИ в СП “Задачи” не должна отображаться", "каунтер у табов на странице списков обновляется динамически сразу после изменений пользователя", "- в случае получения ошибки 403 от cmi выводится сообщение \"действие запрещено\"", "- сервер не должен разблокировать чужой заказ", "- убран компонент аудио транскрипции брендов", "в заказе с открытой или отложенной задачей КЦ \"Отправить имейл\" выводится текст из задачи на ховер по кнопке \"подтвердить заказ\"", "- раздельные ошибки пермишенов в OP и ошибки аутентификациив oauth", "- появилась кнопка \"просмотр заказа\" на предпросмотре, когда заказ разблокирован пользователем специально", "- при вызове expanded-plan со стороны фронта передается дополнительное поле type: 'item' ", "- заказ можно заблокировать если он удовлетворяет условиям (не заблокирован)", "- видно requestId в логах https://sentry.int.tsum.com/tsum/cc-cmi-dev/ и https://sentry.int.tsum.com/tsum/cc-cmi-prod/\r\n\r\n", "- написаны cy тесты по постановке", "- текст попапа #4 соответствует описанию в статье https://kb.int.tsum.com/pages/viewpage.action?pageId=856754176", "- при ответе /validate с несколькими кодами ошибок, выводить текст каждой ошибки в отдельный air-message\r\n- Заменить красные air-message оранжевыми", "- показывается фильтр на вкладке \"все заказы\"\r\n- поправить верстку на строке заказа: лейбл \"еще N фото\" съехал", "- сделать кнопку с выпадающим списком отдельным компонентом\r\n- при подтверждении заказа отправляется запрос на отправку письма\r\n- убрать тултип CMI-5011", "- написаны e2e тесты покрывающие новый функционал", "- узнать среднее количестово sku на страницу каталога 50 товаров в пагинаторе\r\n- узнать максимальное количестово sku на страницу каталога 50 товаров в пагинаторе\r\n- сформировать нефункциональное требование к времени ответа для метода AX-53\r\n", "- написан единый механизм закрытия СП при переходе на другой url\r\n- при ошибке отмены строки по причине блокировки другим пользователем (или при вызове другой операции с такой же ошибкой), когда пользователь нажимает кнопку \"остаться в заказе\", СП должна закрыться после перехода на browse контекст", "- написаны e2e тесты", "- tsum-autocomplete перенесен в ui либу\r\n- поле с саджестами мобильных телефонов (наброшена маска) в редактировании клиента работает как в описании ", "- в СП редактирования заказа в табе \"клиент\" появились иконки заполнения оформителя и получателя\r\n- по ховеру иконок появляются тултипы с текстами из описания\r\n- по клику на иконку заполняются соответствующие формы", "- при редактировании оформителя/получателя с поднятым виджетом и определившимся клиентом выводятся соответствующие описанию \r\n- подсказки отсортированы в правильном порядке", "- комментарием к задаче прикреблен svg код иконки", "В предпросмотр добавлена кнопка возврата в очередь в кейсе когда в заказе есть открытые задачи аксапты", "- моки и приложение работает как и прежде\r\n- в проекте отсутствует лишний код, из описания задачи", "- новое поле в структуре заказа root -> lines[] -> item -> brand_name\r\n- обновлена табличка gapi77", "- сделан сервис на моках", "описаны в родительской задаче", "- заказ в browse контексте открывается не смотря на любую ошибку загрузки задач\r\n- при ошибке загрузки задач нельзя открыть СП с задачами из гамбургер меню\r\n- при ошибке загрузки задач не отображается информация о задачах в виджете клиента (\"нет задач\" не пишем)\r\n- при ошибке загрузки задач не отображаются каунтеры на вкладках", "при поднятом виджете на странице заказа в /work/edit:\r\n- добавить дропдауны в поля фио оформителя, получателя с данными из виджета\r\n- добавить кнопки заполнения как в виджете на уровнях:\r\n-- всей СП Клиент\r\n-- отдельно оформителя\r\n-- отдельно получателя \r\nпо клику - происходит заполнение полей значениями виджета", "- если заказ еще не загружен, агенты не запрашиваются\r\n- в консоле нет ошибки со скриншота", "1) выводить в виджете псевдолинк \"N заказов\", если ДР в заказе != ДР в виджете\r\n2) при клике на заказ из виджета если контекст заказа был /work/edit показывать модалку\r\n2.1.) по клику на \"перейти к заказам другого клиента\" делать разблокировку открытых заказов и редиректить на предпросмотр выбранного пользователем в виджете заказ\r\n3) при клике на заказ из виджета если контекст заказа был /work/view или /browse - редиректить сразу на предпросмотр выбранного пользователем в виджете заказ (не актуально)\r\n4) написаны интеграционные тесты", "- новая ручка работает с описанным интерфейсом. orderNumber убран из пути в тело запроса\r\n- если передается orderNumber, тогда алгоритм наполнения данными такой же, как в текущем методе expanded-plan\r\n- если номер заказа не указан, тогда доп информация из AG не запрашивается", "- блокировки работают на реальных методах", "написаны тесты для получения expanded-plan на странице каталога для всех контекстов и типов доставки", "- человекопонятные в СП отмены строки и СП отмены заказа причины отмен выводятся не из маппинга и из данных, пришедших в апи\r\n", "- работает так же на реальном API", "- если заказы не найдены на складе, то нельзя редактировать заказ, но можно добавлять новые строчки", "- на вкладке \"все заказы\" заказы отображаются согласно постановке на реальных данных", "- кнопки выводятся согласно схеме https://kb.int.tsum.com/pages/viewpage.action?pageId=864754983 и описанию в задаче\r\n- при нажатии на кнопки действий на странице предросмотра и заказа, страница заказа переходит в описанное в задаче состояние", "- нет перенаправление на view контекст при нажатии на кнопку \"Перейти к обработке заказа\"\r\n- в конексте work/edit доступно подтверждение заказа если есть специальная роль ROLE_CALL_CENTER_EDITOR и соблюдены прочие (текущие) бизнес условия\r\n- если у пользователя есть админская роль ROLE_CALL_CENTER_ADMIN, то ему доступны все действия, которые возможны в данном состоянии заказа и контексте работы (любое редактирование)\r\n", "- есть кнопки на странице предпросмотра заказа \"Взять в работу\" \"Обновить статус блокировки\" \"Разблокировать\"\r\n- на предпросмотре заказа есть информационный блок о блокировке другим пользователем\r\n- и кнопки на странице заказа \"Взять в работу\" \"Разблокировать\" ", "- в случае ошибки 2103 идет повторная блокировка заказа один раз\r\n- если повторно заблокировать не получилось показан air message с ошибкой\r\n- в случае ошибки 2003 показан Попап#5", "- метод GET api/order/:orderNo|:orderUuid возвращает новое поле blockedByUserEmail\r\n- актуализирована гугл дока", "- кнопка \"Отправить ссылку\" доступна на странице заказа, если соблюдены требования из описания задачи\r\n- кнопка \"Продублировать ссылку\" доступна на странице заказа, если соблюдены требования из описания задачи\r\n- кнопка \"Продублировать ссылку\" доступна на табе \"Оплата\" (СП редактирования заказа), если соблюдены требования из описания задачи\r\n- кнопка \"Отправить ссылку\" доступна на табе \"Оплата\" (СП редактирования заказа), если соблюдены требования из описания задачи\r\n- если выбран тип оплаты \"По ссылке\", то выводится информационное сообщение 2х видов (в зависимости от описанного состояния в задаче)", "- не выводятся пустые кнопки на табе оплаты", "- при ошибке с авторизацией возвращается 401", "- если id агента null - возвращаем ошибку CMI0002 в метода /validate\r\n- если id не 0 или в табличке CMI-4915- возвращаем ошибку CMI0006 в метода /validate", "- появилась стейт машина, которая может быть переиспользована в любом месте проекта", "- позиционирование поповера не сбивается при динамическом контенте", "- составлена xState схема, соответствующая всем требованиям", "- реализован компонент попапа\r\n- при подтверждении заказа, при получении от аксапты информации о блокировки другим пользователем - выводить Попап#5 по описанию", "для агентов из списка в таблице:\r\nпередается названия агентов\r\nсогласно таблице в описании задачи\r\nв методах:\r\n- /search\r\n- /queue\r\n- структуры заказа\r\n- order/by-customer/ ", "- контент страницы товара растянут на всю высоту\r\n- при скролле страницы товара содержание страницы фиксируется и только фотографии скроллятся\r\n", "- удалено поле interval (типа string) из структуры заказа", "- при наличии ссылки на оплату действия редактирования доставки ограничены не сменой агента, а сменой стоимости доставки;\r\n- даже при наличии ссылки на оплату можно производить переключение между табами доставка и самовывоз;\r\n- написаны тесты под этот сценарий", "- в режиме моков можно редактировать свои списки и луки\r\n- в режиме моков можно создать новый список товаров из каталога \r\n- написан e2e тест", "- в консоли нет ошибок линтера", "В контексте создания списков товаров в каталоге по клику на кнопку \"Получить ПДД\" используется метод CMI expanded-plan вместо обращения в WS", "- cmi и geo возвращают одинаковый список доступных методов оплаты\r\n", "- заказ можно открыть на просмотр по прямой ссылке или через вкладку \"Все заказы\"\r\n- при открытии заказа нет запроса задач и запроса связанных заказов\r\n- в url используется контекст /browse", "- ошибки не возникает", "- приходят интервалы доставки после запроса", "- из AG удалены списки задач CMI и AG;\r\n- из GAPI удалена информация о tasks и обращение в AG за данными о задачах CMI и AG;\r\n- методы CMI order/search и order/queue работают штатно", "- реализована логика проверки на наличие пользователя в Аксапте в виджете клиента со схожим механизмом со страницей заказов:\r\nесли пользователя нет в Ах, то ему доступен только просмотр заказов и air message c текстом \"У вас недостаточно прав для создания и редактирования заказа\"", "- реализовано проксирование oauth метода https://kb.int.tsum.com/pages/viewpage.action?pageId=864751088#/Auth/post_oauth_refresh в CMI", "- раз в установленное время (по умолчанию 50 минут) отправляется запрос на рефреш токена, другие запросы из-за нового токена не ломаются;\r\n- есть возможность установить время через которое будет выполнен запрос рефреша токена авторизации", "В СП подробностей от товаре, вызваемой из СП Образа с этим товаром:\r\nАктивна кнопка \"добавить в заказ\", если возможно добавление в заказ (контекст /edit и другие условия выполнены, например выбран размер и нет активной ссылки на оплату или заказ не предоплачен) - по нажатию происходит добавление в заказ. Если условий для добавления товара нет - кнопка деактивирована и селектор размера деактивирован\r\nили\r\nАктивна кнопка \"готово\" - по нажатию закрывается СП + селектор размера деактивирован - выводится всегда в контекстах /browse и /work/view", "- код ошибки AX (externalCode ) приходит в одном уровне вложенности data,\r\n и, соответственно, выводится в интерфейсе при получении ошибки при редактировании доставки в заказе;\r\n- в методах редактирования заказа при заблокированном заказе возвращается ошибка 2103, а структура ответа соотвествует представленной в задаче ", "- адрес коммуникации в виджете типа веб-чат скрыт и заменен стандартным текстом\r\n- во всех типах виджетов в виджет в свернутом виде в меню выводится пункт копирования CMI ID", "- возможность отложить задачу должна определяться только согласно флагу isPosponedEnabled;\r\n- задачи, которые запрещено откладывать с игнорированием значения флага isPosponedEnabled быть не должно", "- для заказов с кодом агента \"0\" не выводить плановую дату доставки на странице заказа и строках заказа в очереди и \"все заказы\"", "- В статусах заказа 12,13,20,19,16,15,30,34,36 не выводить строку статуса оплаты в фикспанели страницы заказа", "-фронтом обрабатываются ощибки согласно описанию задачи", "- пользователь без роли admin может только просматривать пользователей, но не редактировать их", "- если в СП фильтра не применен ни один фильтр пользователем - не подсвечивать иконку фильтрации", "Для клиентов, у которых не указаны ФИО или в качестве ФИО указаны ТОЛЬКО пробелы в полях ФИО:\r\n \r\nВ виджете клиента:\r\n- выводится в виджете курсивом и прерывистым подчеркиванием \"ФИО клиента не указаны\", по клику на псевдолинк открывать СП редактирования клиента\r\n\r\nВ строках клиентов в СП \"Найти клиента\" и СП указания основного клиента:\r\n- выводится на месте ФИО курсивом \"ФИО не указано\"", "- добавлен чекбокс \"все задачи\" в дропдаун\r\n- по нажатию на чекбокс проставляются все галки задач\r\n- по снятию чекбокса остаются проставленными только:\r\n-- отправить имейл, подтвердить кц\r\n- по нажатию применить - выводятся троки согласно примененному фильтру ", "- роль выводится по описанию в задаче", "В фикспанели заказа выводится сумма заказа", "- не выводить \"весь день\" в строке заказа в табах \"очередь\" и все заказы, если не указан агент доставки", "для не предоплаченных заказов выводится реальная сумма к оплате, а не 0 и статус актуальный статус оплаты, а. не \"заказ оплачен\"", "- новые моки заказов\r\n- е2е тесты на выведение алертов по подтверждению заказа и откладыванию задач", "- столбец \"время\" скрыт во вкладке \"все заказы\"", "в виджете клиента, находящемся на странице заказа с тем же ДР в client, что и у клиента в виджете выводится каунтер задач в контектстах\r\n- /work/view\r\n- /browse", "если заказ доступен для редактирования, но на нем нет открытых или отложенных задач - каунтер не выводится", "- у пользователей, у которых есть учетка аксапты в /info has_axapta: true", "- выводится псевдолинк \"N задач\" для клиентов с заказами и задачами в виджете клиента\r\n", "В тексте письма указывается номер заказа, а не uuid", "инпут комментария и кнопка сохранения комментария скрыты в контекстах страницы заказа /work/view и /browse в СП Комментариев во всех табах", "При скролле страницы заказа фикс панель заказа не скачет", "Кнопка \"отмена\" (для отмены заказа) не выводится на странице заказа в контексте /browse", "выводится ПДД в блоке \"Доставка\" страницы заказа по аналогии с фикс-панелью", "в поповере \"дополнительное описание\" строки заказа выводится название бренда", "при наведении на ДР выводить тултип с ФИО, телефоном и имейлом из объекта client в структуре заказа", "Форма редактирования/добавления комментария в контекстах страницы заказа /work/view и /browse скрыта во всех табах СП Комментариев ", "Формулировка в фикспанели страницы заказа и в блоке \"всего к оплате\" для случая когда указан способ оплаты \"ссылка на оплату\" и сама ссылка отсутствует в данных заказа заменена формулировка \"ссылка на оплату - пусто\" на \"ссылка на оплату не отправлена\"", "- задачами CMI теперь являются только задачи подтверждения заказа", "- написаны тесты для EMS-like сценария, когда при сохранении доставки требуется сначала выбрать другой способ оплаты ", "- реализован сценарий EMS-like случая", "- спроектирована стейт для машина для EMS-like case;\r\n- в реализации стейт машины учтены особенности и пользовательский сценарий.", "- реализовано создание и уничтожение стейт машины EMS-like case;\r\n- обработаны мешающие этому сценарию кейсы с попапом о необходимости сохранения данных, с автоматическим редиректом на таб оплата после сохранения данных в СП доставки, с автоматическим закрытием СП оплаты после сохранения данных", "- в таб оплата загружать информацию из expanded-plan о доступных способах оплаты, если такие данные есть;\r\n- выводимые способы оплаты в СП редактирования оплаты отфильтрованы от значений (0,  2, 8, 11), если такой способ оплаты уже не сохранён в заказе, в таком случае он выводится первым в списке в активном состоянии", "- разработаны новые UI элементы для EMS-like case;\r\n- передана информация о их использованию разработчику задачи по EMS-like case", "- реализовано хранение информации о разрешённых/запрещённых действиях с заказом;\r\n- реализованы методы получения и редактирования этих данных", "- Сохранение происходит только по клику на \"Сохранить\";\r\n- Сам выбор чекбокса активности действия влияет на интерфейс через стору, но самостоятельно не сохраняется на бек;\r\n- Кнопка \"Отменить\" просто сбрасывает до последнего значения, которое пришло с бека (после успешного сохранения, или после начальной загрузки);\r\n- При сохранении отображается лоадер в кнопке \"Сохранить\" и заблокированы чекбоксы в текущем состоянии (активном или неактивном);\r\n- После успешного сохранения отображается air message: \"Список доступных действий по редактированию заказа успешно сохранён\";\r\n- В случае ошибки отображается air message: \"Не удалось сохранить список доступных действий по редактированию заказа\"", "- для роли из AG-3938 пускать в заказ с предпросмотра на work/edit а не на work/view;\r\n- реализовано влияние выбранных разрешённых действий на интерфейс страницы заказа в контексте work/edit;\r\n- Блок “Вы можете” меняется в зависимости от этих настроек в админке действий с заказом;\r\n- До получения разрешённых действий (или ошибке в ответе метода) действия по редактированию заказа из списка в админке (карандаши, кнопки, ипуты и т.п.) должны быть недоступны", "- создана страница с \"Управление действиями в заказе\" на которой выводятся данные с бека по разрешённым действиям;\r\n- данные по разрешённым действиям запрашиваются с бека;\r\n- обработана ошибка в запросе данных с бека;\r\n- данные сохраняются в стору и изменяются при клике на \"чекбоксы\";\r\n- чекбоксов разрешённых действий запрашиваются один раз за одну сессию", "- создана страница с \"Управление действиями в заказе\" на которой выводятся данные с бека по разрешённым действиям;\r\n- данные по разрешённым действиям запрашиваются с бека;\r\n- обработана ошибка в запросе данных с бека;\r\n- данные сохраняются в стору и изменяются при клике на \"чекбоксы\";\r\n- чекбоксов разрешённых действий запрашиваются один раз за одну сессию\r\n\r\n- для роли из AG-3938 пускать в заказ с предпросмотра на work/edit а не на work/view;\r\n- реализовано влияние выбранных разрешённых действий на интерфейс страницы заказа в контексте work/edit;\r\n- Блок “Вы можете” меняется в зависимости от этих настроек в админке действий с заказом;\r\n- До получения разрешённых действий (или ошибке в ответе метода) действия по редактированию заказа из списка в админке (карандаши, кнопки, ипуты и т.п.) должны быть недоступны\r\n\r\n- Сохранение происходит только по клику на \"Сохранить\";\r\n- Сам выбор чекбокса активности действия влияет на интерфейс через стору, но самостоятельно не сохраняется на бек;\r\n- Кнопка \"Отменить\" просто сбрасывает до последнего значения, которое пришло с бека (после успешного сохранения, или после начальной загрузки);\r\n- При сохранении отображается лоадер в кнопке \"Сохранить\" и заблокированы чекбоксы в текущем состоянии (активном или неактивном);\r\n- После успешного сохранения отображается air message: \"Список доступных действий по редактированию заказа успешно сохранён\";\r\n- В случае ошибки отображается air message: \"Не удалось сохранить список доступных действий по редактированию заказа\"\r\n", "- написаны тесты на edge кейсы в СП редактирования доставки;\r\n- проверена логика на совместимость и логичность из перечисленных в задаче задач;", "- при подтверждении заказа выводятся соответствующие попапы;\r\n- реализована обработка ошибки метода подтверждения заказа.", "- реализовано отображение попапов при успешном откладывании задач в текущем заказе;\r\n- реализовано отображение air message об ошибке AX в случае ошибки метода откладывания;\r\n- в момент откладывания отображается лоадер в кнопке и блокируется повторное нажатие", "- обработан zero case когда не найдены службы доставки в СП редактирования доставки в ответе expanded-plan\r\n\r\n", "- выполняется проверка на валидность доставки в заказе при клике на кнопку \"Подтвердить\" ", "- разработан метод отправки статистики;\r\n- убрана отправка статистики в неявном виде при вызове метода /product-lists/{id}/mark-as-sent", "- реализована отправка статистики после успешного вызова отправки списка/лука;\r\n- вызова метода отправки статистики не блокирует работу интерфеса (т.е. мы его не ждём, но отправляем только в случае успешной отправки лука);\r\n- ошибка в вызове метода отправки статистики обрабатывается так чтобы не влиять на интерфейс", "- реализован вывод и обработка кликов по активным заказам клиента в СП выбора клиента и в СП поиска клиентов;", "- произведён переход на использование полей firstName, middleName, lastName вместо поля name в части вывода ФИО оформителя и получателя", "- в профайлере пропали CLS предупреждения", "- DEV: оптимизирована работа со sticky панелями\r\n- QA: все работает как и прежде (кроме меню сайта, которое теперь статично)", "выводится air-message о недоступности ф-ла при клике на \"объединить\" и \"разделить\"", "- реализовано сохранение в URL информации о контексте редактирования заказа / создания заказа для страницы каталога", "При переходе к очереди заказов из контекста заказа не происходит блокирование навбара т.к из контекста редактирования заказа пользователь уже вышел", "- кнопка \"добавлено как upsale\" удалена из проекта", "- товар в заказ добавляется, ошибка https://sentry.int.tsum.com/tsum/cc-cmi-dev/issues/2340877/?query=is%3Aunresolved не возникает", "- cкролл в табах связанных заказов сохраняется при переключении между табами на прежнем значении;\r\n- синхронизирована позицию скролла с табами в предпросмотре заказа и на странице заказа", "- когда товар удалён он не дисейблится полностью, а выводится кнопка +1 (если вообще возможно добавлять товар в заказ)", "- добавлен механизм повторного перезапроса данных заказа", "- показывается air message если не удалось отложить задачи;\r\n- в интерфейсе выводятся только задачи в статусе \"к выполнению\" и \"отложено\"", "- В фильтрах задач очереди заказов, оставлен предвыбор только для задач подтверждения", "- кнопки перейти в СП задач отображаются только для определённого списка задач, который будет постепенно расширяться. Сейчас это две задачи на подтверждение заказа;\r\n- реализован функционал перехода к кнопке \"Подтвердить заказ\" по клику на \"Перейти\"", "На табах \"Очередь заказов\", \"Все заказы\" для заказов с isJudicalPerson: true в строке заказа выводится только действие просмотра заказа для любых ролей пользователей CMI \r\n\r\n", "- во всех контекстах заказа выводится заголовок \"архивный заказ\" для заказов с признаком архивности", "1) в строке заказа таба все заказы выводится признак архивности\r\n2) для всех ролей доступно только действие \"просмотр заказа\"", "заказ троеточится в середине, всегда оставляя видимыми последние 6 символов в строке заказа в табах Очередь и Все заказы", "- разработан метод, возвращающий список причин откладывания задач", "отдается корректный ответ /sync 200 с данными клиента", "- если товар ещё не добавлен на лук, то брать его изображение из товара, а не из структуры списка.;\r\n- ширина и высота товара в списке округляется до целого числа в px;\r\n- когда выводится фото-заглушка то всё равно отображать селектор фото;", "- фото обтравливаются и выглядят нормально в части соотношения сторон на холсте\r\n- картинка образа при сохранении и генерации ссылки также выглядит корректно в части соотношения сторон фотографий товаров", "- реализована \"ручная установка\" и установка \"по умолчанию\" согласно таблице;\r\n- считается и передаётся время deferTill когда задача должна вернуться в очередь;\r\n- выполняются методы сохранения времени откладывания и комментария;\r\n- реализована обработка ошибок и лоадер", "- на странице заказа в url используется номер заказа, а не uuid", "- выяснена и по возможности исправлена ошибка NotFoundException по cmi id 17c61b0e-081a-4f5a-b723-c23f721b4029 в методе для sf", "- исправлена ошибка InvalidRedirectUrlException или описано почему её нельзя исправить", "- на страницу заказа в список действий добавлено действие \"скопировать номер\";\r\n- действие идёт первым по порядку", "- в СП редактирования клиента выводится данные из трёх отдельных полей ФИО и сохраняются данные ФИО также в трёх отдельных полях", "- метод редактирования оформителя/получателя работает с тремя полями firstName, lastName, middleName, вместо поля name для contact и receiver", "- добавить поля firstName, lastName, middleName в методы POST order/search и POST order/queue", "- добавить поля firstName, lastName, middleName в метод GET order/", "Ошибки клиента обрабатываются кодом 400, ошибки сервера - 500", "- действия дублирования и отслеживания выключены с отображением соответствующих air message при попытке их совершить", "- по нажатию на кнопку \"перейти к обработке\" в предпросмотре заказа обычный пользователь (не админ) попадает в контекст work/view", "- добавлена кнопка \"вернуться в очередь\" на страницу заказа;\r\n- кнопка \"подтвердить заказ\" выводится в состоянии disabled с тултипом \"Невозможно подтвердить заказ в CMI\"", "- добавлена рабочая иконка копирования номера заказа на страницу заказов, которая по нажатию копирует номер заказа в буфер обмена;\r\n- затем по этому номеру можно искать заказы в табе \"все заказы\"", "- в методе GET api/order/tasks/cmi приходят в ответ следующие actionType:\r\n1, // Подтверждение ИЗ email\r\n2, // Подтверждение ИЗ по телефону\r\n3, // Согласование ПДД\r\n6, // Согласование частичной отмены\r\n7, // Согласование полной отмены\r\n8, // Резерв с ПК/БК\r\n10, // Перевод заказа в COD\r\n18, // Неправильный почтовый индекс\r\n20, // Превышен лимит заказов\r\n33, // Огнеопасный груз\r\n35, // Отправить ссылку на оплату ЧС\r\n37, // Недозвон МК - 20 мин\r\n38, // Недозвон МК - 40 мин\r\n39, // Недозвон МК - 60 мин\r\n40, // Недозвон МК\r\n51, // Запрос ФИО", "- бейсик авторизация перенесена со страницы заказов на страницу заказа", "при ошибке получения заказа\r\n- контекст остается прежним\r\n- таб остается прежним", "- поменян дизайн у дисейбленных опций в селекторе задач в очереди заказов", "- -в методе GET GET order/ приходит признак isArchive boolean в корне структуры заказа ", "- в методе POST order/search приходит признак isArchive boolean в корне структуры каждого заказа ", "- в методе получения очереди заказов не приходят архивированные заказы", "- код на preprod автодеплоится только если подлиты изменения в ветку master, а не в develop", "- исследована и проблема с варнингами в консоли;\r\n- внесено исправление или описано предложение по исправлению;", "- в новом методе POST order/queue, который использует метод AG search из сервиса OrderTask, сортировка сделана по дате создания заказа от новых к старым. Сначала идут новые, затем старые заказы", "- Тесты проходят;\r\n- Если флаг has_axapta в user/info равен false, то один раз за сессию при переходе на страницу заказов вызывается метод check-has-axapta CMI-4628 ", "- Когда все товары отменены или товаров нет вообще вместо стоимости для доставки, упаковки, предоплаты, а также суммы списания бонусов выводится как \"-\";\r\n- Убрано слово \"Пусто\" при статусе 0, просто выводится \"Онлайн\" вместо \"Онлайн - пусто\";\r\n- Цену в блоке упаковки удалена полностью для всех случаев, даже когда цена есть, так как она дублируется в блоке \"Всего к оплате\";\r\n- Если все товары удалены из заказа или в заказе вообще нет товаров, то вместо \"Заказ оплачен\" или \"Заказ не оплачен\" выводить \"Заказ пустой\";\r\n- Сумму к оплате (чёрная) при случае отсутствия неудалённых товаров скрывается;\r\n\r\n", "- в очереди заказов приходят только неподтрверждённые заказы", "- написаны тесты на редактирование SLA", "- написаны тесты на вывод SLA и пограничные кейсы", "- признак vip определяется по данным в методе search/by-communication", "- в e2e тестах используется пользователь cc_operator@tsum.ru", "- реализована пагинацию;\r\n- на странице по умолчанию 30 строк, доступные варианты 10 30 50;\r\n- сохранять пагинацию в url как query params (текущая страница и строк на страницу);\r\n- при обновлении страницы брать из url (но если такой страницы нет, то редиректить на первую);\r\n- при применении фильтров / сортировки сбрасывать на первую страницу;", "- реализована фильтрация SLA (в том числе совместная с другими фильтрами и сортировкой);\r\n- реализована сортировка SLA (в том числе совместная с фильтрами);\r\n- реализована кнопка очистить, которая сбрасывает фильтры и сортировку;\r\n- текущая фильтрация/сортировка сохраняется в url;\r\n- при загрузке страницы с уже заданными параметрами фильтрации/сортировки в url данные берутся из url и проставляются в фильтры/сортировку в контролах", "- выведен признак O+ в виджете клиента", "- тексты фильтров по задачам соответствуют actionId из таблицы", "- ветка с проектом собирается", "- при нажатии \"поделиться\" в СП образы открывается СП отправления списка, затем при генерации создаётся черновик из образа и отправляется ссылка. На текущий список/лук это действие не влияет", "- с фронта явно уходят статусы заказов, с которыми мы сейчас работаем (1, 17, 18, 24, 35) и типы задач подтверждения КЦ (2, 3) в метод POST order/queue при каждом запросе;\r\n- изменён контракт для фильтров по типам задач и по статусам (на tasks.actionType и на orderStatus);\r\n- выбраны сразу типы подтверждения КЦ в селекторе фильтров по задачам и заблокирована возможность их снять, но есть возможность выбрать дополнительные задачи в фильтрах", "- хардкод принадлежности задач к группе CMI, AX, Склад на фронте удалён;\r\n- для определения принадлежности задачи к группе CMI используется метод GET api/order/tasks/cmi, \r\n- для определения принадлежности задачи к группе склад используется свойство actorId из метода получения задач GET api/order/;\r\n- к группе задач АХ относятся все остальные задачи;", "- возвращается понятная ошибка, вместо \"DB Error!\"", "- заведена задача в GAPI на фикс и проставлена к этой связь;\r\n- известна причина сбоя и описана в комментарии или в описании задачи", "Редирект убран", "- Метод POST order/queue обращается к новому сервису OrderTask для получения требуемых номеров заказов по переданным фильтрам, затем уже по этим номерам заказов получает заказы из GAPI (без дополнительных фильтров на строне GAPI);\r\n- Работает фильтрация по типу и статусу задач;\r\n- Работает фильтрация по статусу заказа;\r\n- Дефолтной фильтрации по статусу заказа нет, как и по флагу callCenterConfirmed (type 4);\r\n- Есть дефолтная фильтрация по заказам с задачами callCenter (т.е. в каждом пришедшем заказе должна быть хотя бы одна задача, которая выполняется колл-центром);\r\n- Есть дефолтная фильтрация по задачам с типом 5 (т.е. в каждом пришедшем заказе должна быть хотя бы одна задача \"К выполнению\");", "- происходит предзагрузка lazy модулей (страниц) после загрузки основного бандла спустя некоторое короткое время;\r\n- после предзагрузки данных бандла если выкатить новую версию на стенд (и предварительно отключить попап, конечно же или закрыть его через dev tools) и перейти на эту lazy страницу (они все lazy, т.е. скачиваются в момент перехода), то она должна работать", "- добавлен флаг, который можно прописать в localStorage, для отключения выхода попапа о новой версии;\r\n- описана документация о том, что этот флаг делает и как его включить/отключить в КБ;\r\n- этот флаг активируется при запуске e2e", "- метод отправки списка работает и выполняется быстрее чем за 10 секунд", "Ручка исправлена на check-has-axapta", "- реализовано добавление записи, через вызов метода POST api/tasks/sla для SLA новых задач;\r\n- реализовано редактирование записи, через вызов метода PATCH api/tasks/sla/ для SLA текущих задач;\r\n- реализована валидация для SLA;\r\n- по факту выполнения запроса показывается соответствующий Air message;\r\n- во время выполнения запроса у конкретной строки таблицы отображается лоадер вместо карандаша;\r\n- при этом можно вызвать поповер и отредактировать другую запись, у который сейчас не отображается лоадер;\r\n- меняется маркер \"новая\" на \"текущая\" по сохранению значения \"новой\" записи;", "- в неактивном состоянии отображается как карандаш;\r\n- по ховеру карандаш становится оранжевым;\r\n- по клику становится активным с отображением поповера;\r\n- когда активен вместо карандаша отображается крестик;\r\n- закрывается по клику вне поповера;\r\n- можно прокинуть внутрь input и кнопку через ng-content;\r\n- учитывается позиционирование относительно экрана (открывается - по умолчанию вниз, а если внизу места недостаточно, то вверх);\r\n- стрелочка точно указывает на иконку крестика;", "- отображаются лоадеры;\r\n- обрабатываются ошибки;\r\n- данные об SLA хранятся в сторе;\r\n- данные в сторе об SLA обновляются каждый раз при заходе на страницу (через повторный запрос)", "- реализована вёрстка страницы SLA, согласно дизайну, с выводом данных в таблице из API;\r\n- остальной функционал, вроде фильтрации, пагинации и редактирования, реализуется в последующих задачах", "- старые тесты адаптированы под новую систему\r\n- написаны тесты под новые кейсы", "- можно авторизоваться на тестовых серверах, если обращение идёт с лоального окружения: домены http://frontend.test:4201 и http://frontend.test:4000", "- в качестве основного клиента выводится не просто первого mainContact со значением 1, а  mainContact со значением 1, где address и type совпадает с адресом и типом в виджете клиента;\r\n- написаны тесты под описанный сценарий;", "- при переходе на страницу заказов используется проверка наличия пользователя в Аксапре, если у него стоит флаг has_axapta false, и в случае, если метод проверки вернёт значение has_axapta true - происходит обновление сторы и пользователь может редактировать заказы, а если значение проверки будет has_axapta false, то отображается air message с текстом \"У вас недостаточно прав для создания и редактирования заказа\";\r\n\r\n- при заходе на любую другую страницу эта проверка не выполняется и air message не показывается;\r\n\r\n- Если админ, то можно брать в работу, даже если has_axapta false (поэтому есть смысл проверять и на неадминских аккаунтах тоже)", "- в методе /api/oauth/code проверка на has_axapta не осуществляестя, запросы в Ах не идут и, следовательно, авторизация работает;\r\n- разработан новый метод, в который перенесена логика проверки has_axapta и сохранения этой информации в БД CMI\r\n", "- сайт запускается. основной ф-ал работает (смок тест)", "- авторизация на проде работает;\r\n- авторизация на тесте работает\r\n", "- если во время нахождения на превью заказа произошла ошибка его загрузки (конкретно этого заказа) то превью закрывается и отображается страница с support;\r\n- если не удалось взять заказ в работу со страницы заказов, то всё равно превью закрывается и отображается страница с support (поведение всё время одинаковое);\r\n- добавлена кнопка вернуться в очередь на странице с ошибкой загрузки, по клику на которую происходит переход в очередь заказов и очистка всех связанных данных (как при завершении работы с заказом)", "- вместо TaskId используется ActionType", "- в СП задач группировка по табам осуществляется согласно правкам в задаче  CMI-4619  ", "- хардкод принадлежности задач к группе CMI, AX, Склад на фронте удалён;\r\n- для определения принадлежности задачи к группе CMI используется метод GET api/order/tasks/cmi, \r\n- для определения принадлежности задачи к группе склад используется свойство actorId из метода получения задач GET api/order/;\r\n- к группе задач АХ относятся все остальные задачи;\r\n", "Товары добавляются в списки", "- в методе поиска заказов POST order/search и в методе очереди заказов POST order/queue в tasks для ax/cmi для полей count.delayed и count.opened приходят значения из нового сервиса AG (AG-3451) , а не GAPI, как сейчас;\r\n\r\n- в каунтерах tasks (и opened, и delayed) и для ax и для cmi учитываются только задачи КЦ (по actorId 1 и 3) https://kb.int.tsum.com/pages/viewpage.action?pageId=860553620", "- разработан метод для полчения списка задач, которые выполняются в CMI;\r\n- отсутствует хардкод задач АХ на беке CMI, есть только хардкод задач CMI", "- кнопка отложить выводится согласно флагу isPosponedEnabled", "- данные загруженных комментариях хранятся в связке к заказу и используются для вывода в предпросмотре и в СП \"Все комментарии\";\r\n- эти данные остаются при переходе по связанным заказам или до момента окончания работы с заказом (даже при добавлении товаров из каталога) а затем очищаются;\r\n- при открытии оверлея заказа или страницы заказа без оверлея запрашиваются комментарии для этого заказа;\r\n\r\nВ предпросмотре и в СП \"Все комменатрии\":\r\n- если комментарии уже есть, то выводятся комментарии (без лоадера);\r\n- если комментариев нет и они загружаются, то выводится лоадер;\r\n- если загрузка завершена, а комментариев нет, то выводится информация о том, что комментариев нет;\r\n- если призошла ошибка, то выводится об этом информация с возможностью нажать на псевдоссылку \"Повторить\" и выполнить повторный запрос конкретного типа комментариев (не всех) с отображением лоадера в конкретном месте (для остальных комментов всё ещё висит сообщение об ошибке и кнопка \"Повторить\") ", "- при добавлении товара в заказ используется NP для получения стоимости товара, а не сервис инвентори", "Для пользователя отображается список с заказами.", "- вместо слова \"Акция\" в товарной строке заказа выводится либо скидка по переоценке, либо скидка по купону, либо общая скидка с пояснением какая часть по купону, а какая по переоценке", "- реализован вывод цен с новым дизайном и значениями полей для блока \"всего к оплате\" и \"стики панели\" страницы заказа", "Дерево отображается корректно, категории переносятся по словам, не склеиваясь с соседними, соблюдено расстояние между подкатегориями", "поповеры выровнены по соответствующему дизайну краю контента, стрелки указывают на активную иконку", "- progress bar на странице заказа обозначается тегом tsum-... и соответствует макетам дизайна", "- селектор соответствует макетам дизайна", "- работает метод получения np токена на stable стенде\r\n", "- кнопка \"образы\" на странице каталога отображается только если есть признак looks_availability_in_stock true в ответе v2/catalog/search?page=;\r\n- кнопка \"образы\" на странице списка товаров отображается только если есть признак looks_availability_in_stock true в ответе v2/catalog/search?id=;\r\n- кнопка \"образы\" на странице заказа отображается только если есть признак looks_availability_in_stock true в ответе v2/catalog/search?id=;\r\n- кнопка \"аналоги\" на странице каталога и списка товаров удалена;\r\n- кнопка \"образы\" на странице товара также отображается только по признаку looks_availability_in_stock из метода v2/catalog/search?id=, при этом если зайти на страницу товара со страницы каталога, то запрос v2/catalog/search?id= не вызывается (т.к. есть данные в сторе), а если зайти на страницу товара напрямую, то запрос v2/catalog/search?id= вызывается, т.к. в методе получения расширенных данных по товару /catalog/item/ этого флага нет;\r\n- табы \"Аналоги данного товара\" и \"Скидки и акции\" со страницы товара удалены;", "- контент СП с фильтрами по заказам может скроллиться внутри табов", "- хедер таблицы на странице заказов прилепляется под последней из присутствующих на странице стики панелей;\r\n- столбцы хедера совпадают со столбцами таблицы при любых разрешениях (>= 1244px, < 1244px);\r\n- учитывается виджет клиента;", "- выводятся поля \"состав\", \"артикул производителя\", \"страна производства\", \"страна дизайна\" и техническое описание сразу по наличию данных в сторе (даже если сейчас параллельно запрашиваются данные для других товаров);\r\n- стору заполнять при запросе каталога для соответствующих товаров;\r\n- при загрузки данных конкретного товара выводится лоадер в месте описания. Если данные загружен, то они сразу выводятся; \r\n- кнопка \"загрузить\" удалена;\r\n- добавлены моки для этого метода для mock разработки;\r\n- системные правки дизайна к задаче не относятся, только вывод конкретных данных;", "- исправлена ошибка;\r\n- указана причина по которой произошёл сбой, особенно если это связано с внешними сервисами\r\n", "- добавлена джоба в новом стейдже gitlab-ci для запуска тестов луков/списков товаров с реальным API, которая запускается в ручном режиме", "- произведён переход на мок режим для всех тестов;", "- произведён переход на мок режим для всех тестов;\r\n- добавлена джоба в новом стейдже gitlab-ci для запуска тестов луков/списков товаров с реальным API, которая запускается в ручном режиме", "- проблема с ошибкой получения токена исследована и описана", "- удалена переменная DELIVERY_PLAN_URL", "- e2e_run_failed работает без ошибки падения Chromium", "При уходе со страницы заказа закрываются все сайдпанели", "- отправляются целочисленные значения в секундах, соответствующие указанной дате в полях created_till и created_from", "- добавлено логирование;\r\n- добавлена логика retry", "- ошибок нет", "- Роль GAPI выполняет CMI API\r\n- Заказаны методы в тех местах, в которых GAPI ходит в БД сервисов-источников\r\n- Методы GAPI, используемые в CMI переведены на композитный клиент", "- для формирования обтравленных картинок лука используются переменная окружения TRANSFORMED_PRODUCT_IMAGE_URL, а не хардкод;\r\n- для формирования обычных картинок лука используются оригинальные картинки из photos товара (если кнопка \"Показать фон\") используется в то же открытие страницы, что и перенос товара на холст;\r\n- для формирования обычных картинок лука, если товар уже имеет обравленное изображение на холсте (товар был перенесён на лук в другую сессию) кнопка \"показать фон\" использует переменную окружения PRODUCT_IMAGE_URL, а не хардкод, как сейчас\r\n", "- e2e тесты стабилизированы и проходят успешно", "- ошибка исправлена в методе replace-items", "- если заказ (в списке заказов в виджете) заблокирован другим пользователем, то по клику на него открывается страница заказа в контексте просмотра;\r\n- если заказ (в списке заказов в виджете) не заблокирован или заблокирован за текущим пользователем (assignId в заказе === user.email в user info), то заказ открывается в контексте редактирования", "- метод работает без ошибок", "Валидация на активность кнопки и применения изменений работает корректно", "- в заказе в СП редактирования доставки в табе \"доставка\" выводится сохранённая информация об агенте и его дате/времени ещё до получения данных из expanded-plan", "- код ошибки AX (externalCode ) приходит в одном уровне вложенности data,\r\n и, соответственно, выводится в интерфейсе", "- описанный сценарий исправлен;\r\n- маски России, Казахстана, Армении работают", "- в интерфейсе на странице заказа и в СП редактирования заказа выводится адрес на основе axaptaAddress с пробелами между элементами;\r\n\r\n- учитывается, что квартира из полного адреса выводится в отдельном поле в СП редактирования доставки CMI-4502;\r\nа в самом заказе в блоке \"доставка\" выводится полный адрес вместе с квартирой", "- состояние ошибки в СП редактирования ПДД отображается только если в заказе сохранён агент доставки и метод /delivery/agent/ вернул delivery_type_group со значением undefined или этот метод упал с ошибкой;\r\n\r\n- заголовок \"служба доставки\" выводится только если выведены службы доставки либо идёт запрос на их получение или произошла ошибка в запросе /delivery/agent/ или delivery_type_group равен undefined;", "- в кнопке \"сохранить изменения\" отображается лоадер при отправке запроса на сохранение клиента/доставки/оплаты/упаковки в СП редактирования заказа", "- в виджете клиента в развёрнутом состоянии для пользователей CMI с ролью SUPERVISOR и выше выводить информацию о леблей и весе коммуникации", "- описана система по блокировке действия в различных ситуациях и информирование пользователя о причинах блокировки конкретных или всех действий с заказом;\r\n- поставлены и приняты задачи UX;", "- при наличии ссылки на оплату order.payment.prepayment 4 или 5\r\nпроисходит \"сквозное\" блокирование действий с заказом и вывод только действительно доступных действий в блоке \"Вы можете\" в статус баре, в которых учитывается как статус заказа так и наличие ссылки на оплату;\r\n\r\n- однообразные блокировки действий с заказом реализуются в другой задаче CMI-4541. В этой акцент идёт на блок \"Вы можете\" и на фактическую возможность/невозможность совершить действия с заказом с учётом ограничений, а не на то как красиво эти ограничения реализованы", "- удалён неатуальный код связанный с /order/reject-list/actual", "- слишком длинные значения ФИО троеточатся\r\n- при наведении на троеточащееся ФИО показывать тултип с полным текстом", "- expanded-plan без гео-фолбэка не падает с ошибками", "- после первого неудачного запроса изображение заново не запрашивается. Вместо него отображается заглушка в масштабе оригинального изображения и товар с изображением заглушкой ведёт себя как обычный: его можно перемещать, менять размеры, менять фото, отображать информацию", "- количество добавляемых air message при переносе товара на холсте не больше 1 за каждое перемещение;", "- количество добавляемых air message при переносе товара на холсте не больше 1 за каждое перемещение;\r\n- после первого неудачного запроса изображение заново не запрашивается. Вместо него отображается заглушка в масштабе оригинального изображения на холсте. И товар с изображением заглушкой ведёт себя как обычный: его можно перемещать, менять размеры, менять фото, отображать информацию;", "- нельзя редактировать чужой список (включая черновик) через интерфейс CMI;\r\n- пользователь может редактировать только собственные списки/луки;\r\n\r\n- в списках списков товаров и в списках луков\r\nдля вкладки \"Черновики\"\r\nотображается действие \"Изменить список\"/\"Изменить образ\" только если id пользователя создавшего список/лук совпадает с id текущего пользователя \r\n- при заходе по прямой ссылке на черновик или публичный список / лук, а также при изменении публичного списка копировать список в личные и отображать air messages о том, что список /лук скопирован и работа ведётся с личным списком / луком", "- маппинг клиентских причин перенесён на фронт;\r\n- в СП отмены (заказа и товара) для выбора выводятся только \"причины отмены типа \"Клиент;\r\n- если строка была отменена по другой причине, то текст выводится вне зависимости от типа", "- в CMI API (проект MVP) не фильтруются причины отмены для заказа и для товарных строк", "- при запросе по короткому номеру заказа метод возвращает один или несколько объектов с заказами\r\n- при запросе по полному номеру заказа (больше 6 цифр) в массиве вернется только один объект", "- разработан метод удаления записи из таблицы CMI SLA;\r\n- метод доступен только ролям HEAD или ADMIN;\r\n- если такая запись не существует, то возвращается ошибка;\r\n- описана документация;\r\n- при успешном добавлении в ответ приходит OK и если потом запросить все actionType sla GET api/tasks/sla, то среди записей не будет удалённой записи;", "- разработан метод редактирования записи в таблицу CMI SLA;\r\n- метод доступен только ролям HEAD или ADMIN;\r\n- sla это число;\r\n- sla от 0 до 86400 секунд;\r\n- если такая запись не существует, то возвращается ошибка;\r\n- описана документация;\r\n- при успешном добавлении в ответ приходит добавленная запись и если потом запросить все actionType sla GET api/tasks/sla, то среди записей будет обновлённая запись;", "- разработан метод добавления записи в таблицу CMI SLA;\r\n- метод доступен только ролям HEAD или ADMIN;\r\n- sla и actionType это числа;\r\n- sla от 0 до 86400 секунд;\r\n- actionType от 1;\r\n- если такая запись уже существует, то возвращается ошибка;\r\n- описана документация;\r\n- при успешном добавлении в ответ приходит добавленная запись и если потом запросить все actionType sla GET api/tasks/sla, то среди записей будет новая;", "При выборе агента в СП доставка у интервального агента интервал всегда предзаполнен первым пришедшим интервалом", "- разработан метод получения списка actionType SLA;\r\n- метод доступен по авторизации для любых ролей;\r\n- описана документация", "- создана таблица с приведённой структурой для хранения данных по SLA по actionType задачи\r\n- таблица заполняется дефолтными значениями задач, у которых Исполнитель КЦ, из КБ https://kb.int.tsum.com/pages/viewpage.action?pageId=864748204", "- очищен проект от неиспользуемомго кода", "- отправка списков товаров/ луков в NP работает через rabbit-dev, а не через bitr-dev", "- когда приходят новые данные для страницы очереди заказов сохраняется позиция скролла", "- привести макеты страницы заказов таба \"очередь\" и \"все заказы\" к виду в figma, согласно дизайн ревью", "- привести макеты страницы очереди к виду в figma, согласно дизайн ревью", "- написаны тесты на бизнес сценарий когда не удалось определить тип \"доставка\" или \"самовывоз\"", "- В редактирования доставки заказа значение квартиры отображается только в поле ввода квартиры (а не в адресе)", "- Адрес в поле axaptaAddress приходит с пробелами после разделительных запятых и точек", "- написаны тесты на кейсы:\r\n1) в заказе сохранён агент, но не сохранена дата\r\n2) в заказе сохранён агент, но не сохранена дата, и нет доступных дат для этого агента\r\n3) в заказе сохранён агент и сохранена дата, не сохранено время и при этом пришли временные интервалы по этому агенту и дате доставки\r\n4) в заказе не сохранена дата/время/агент(начальная установка)\r\n5) когда был кейс 1), 2) или 3), а затем пользователь выбрал дату\r\n6) когда был кейс I, II или III, а затем пользователь выбрал другого агента\r\n\r\n- убедиться что нет дублирующих тестов на этот же функционал, и при его наличии удалить дублирующие тесты", "- разработан метод, который позволяет для конкретного заказа по id агента доставки получить даты и интервалы доставки;\r\n- описана докуменатция к методу", "- осуществлён переход на новую версию табов, который влечёт за собой единовременную инициализацию только одного компонента табов и, как следствие, отправку только тех http запросов, которые относятся к этому табу", "- из ответа POST /order/:orderNo/delivery/expanded-plan отфильтрованы интервальные агенты у которых по каким-то причинам сейчас нет интервалов", "- логика задачи CMI-4491 работает на реальных данных", "- произведён переход на новую структуру задач заказа;\r\n- задачи на СП предпросмотра заказа выводятся корректно (название это actionId, описание это description)", "- в ответ POST /order/:orderNo/delivery/expanded-plan добавлен признак интервальности агента доставки", "- логика задачи CMI-4020 работает на реальных данных", "- при отправке ссылки на оплату POST /order/:uuid|:orderNo/send-pay-url не запрашивается повторно заказ", "- в ответе метода отправки ссылки на оплату приходит заказ;\r\n- в этом заказе приходит order.payment.prepayment.status со значением 4 или 5, order.payment.type со значением 9, order.payment.url с ссылкой на оплату;\r\n- при повторном запросе заказа или каком-то другом его изменении данные order.payment.prepayment.status, order.payment.type и order.payment.url сохраняют свою актуальность", "- списание и привязка подарочной карты (ПК) работает", "- в заказе приходит packs[].items заполненный в соответствии с АХ", "- при удалении товарной строки меняется её статус на \"Отменено\" 7 или \"К отмене\" 27", "- в gitlab-ci добавлен runner для повторного запуска упавших e2e_autorun тестов", "- форма отправки ссылки на список и лук автоматически предзаполняется данными с виджета клиента", "Ошибка Expected argument of type \"int or null\", \"string\" given at property path \"actionId\" устранена (со стороны GW)\r\n ", "- дополнен список статусов;\r\n- дополнена группа статусов;\r\n- дополнены e2e тесты", "- дополнен список причин отмены заказа/строки заказа (это общий список) русскими названиями причин", "- в товарных строках на странице заказа выводятся статусы товарных строк", "- заказ при переключении табов запрашивается один раз", "- Все значения font-weight в стилях проекта обозначаются переменными \r\n300 - $light-font-weight\r\n400 - $default-font-weight\r\n500 - $bold-font-weight", "- работает метод получения задач", "- при обращении к {listId}/mark-as-sent с невалидным cmi_id возвращаться ошибка с code === -1 и с обозначением невалидного поля \"cmi_id\"", "- Списки идентификаторов в привязке к агентам на тестовой AX и ГЕО совпадают", "Найти причину проблемы с сохранением доставки, при необходимости поставить дополнительные задачи, после решения которых проблема будет закрыта.", "- добавлена обработка ошибок отправки списка товаров;\r\n- добавлена обработка ошибок отправки лука", "- убран лоадер на всю страницу каталога;\r\n- обработаны отдельные состояния загрузки страницы каталога;\r\n- работа пользователя с интерфесом не блокируется (во время загрузки данных/ в случае их отсутствия / ошибке в ответе запроса)", "- убрать лоадер на всю страницу заказа при переключении заказов;\r\n- отображать лоадер только поверх заказа;\r\n- давать возможность переключатся по табам заказов клиента во время оторбажения лоадера", "- реализованы независимые фильтры для различных табов на страницах списков товаров/луков;\r\n- при вводе фильтра по ID на табе \"отправленные\" и копированию найденного списка в личные происходит редирект на таб \"личные\" и отображается скопированный список (при условии, что нет противоречий в фильтрах/сортировке на табе \"личные\");", "Ошибка Object of class DateTimeImmutable could not be converted to string устранена\r\n", "- реализована передача фильтра listType в метод очереди заказов;\r\n- по умолчанию выбирается и передаётся значение \"Все заказы\"", "- в очередь заказов добавлена фильтрация по задачам;\r\n- изначально предвыбирается несколько задач;\r\n- можно изменить выбранные задачи;\r\n- в метод POST order/queue отправляются начальные или выбранные значения tasks;", "- работает метод сохранения заказа api/order/<:uuid|:orderNo>/delivery", "- До момента определения типа агента табы \"доставка\", \"самовывоз\" - не отображаются;\r\n- Когда идёт запрос на получение типа агента вместо табов \"доставка\" \"самовывоз\" отображается лоадер;\r\n- Если агент в заказе не сохранён, или произошла ошибка в методе определения типа (или если тип undefined) - табы \"доставка\" \"самовывоз\" отображаются и выбирается таб \"доставка\"", "- отправка ссылки на оплату работает", "- список товаров/лук отправляется и его можно открыть на stable np стенде\r\n\r\n", "- e2e тесты заказов работают стабильно", "- проект работает как и раньше\r\n- php stan запускается и проходит проверку в gitlab\r\n- cs-fixer запускается и проходит проверку в gitlab", "- изменены локальная конфигурация для ENDPOINTS стендов ", "- плейсхолдер в инпуте доставки отображается корректно (т.е. плейсходер не наезжает на значение в инпуте, а отображается над ним)", "- разработан метод подтверждения заказа, который закрывает задачу на подтверждение, ставит флаг isCallCenterConfirmed в заказ (в случае успеха) и возвращает обновлённый список задач заказа (в лучшем случае это пустой массив)", "- включена проверка отображения кнопок на оверлее;\r\n- доработана логика вывода кнопки согласно схеме", "- на оверлее всегда отображается кнопка \"Перейти к обработке заказа\" с соответствующим действием;\r\n- убедиться, что в случае отсутствия задач (или ошибки получения) можно перейти к редактированию заказа", "- обновлена версия ui-kit в которую включены правки скролла и попапа подтверждения, необходимые для решения CMI задач CMI-4408 и CMI-4412, соответственно;\r\n\r\n- описаны компоненты, используемые в проекте, которые былы затронуты обновлением ui-kit библиотеки", "- реализована фильтрация заказов по типу и статусу задач в методе POST api/order/queue", "- при перемещении товара с холста в список, он сдвигает элементы списка и становится между ними", "- обработан случай, когда в заказе сохранён агент, но не сохранена дата;\r\n- обработан случай, когда в заказе сохранён агент, но не сохранена дата, и нет доступных дат для этого агента;\r\n- обработан случай, когда в заказе сохранён агент и сохранена дата, не сохранено время и при этом пришли временные интервалы по этому агенту и дате доставки", "- в заказа можно сохранить адрес без улицы;\r\n- по адресу без улицы запрашиваются интервалы;\r\n- инпут адреса считается валидным, если в нём отсутствует улица, но присутствуют обязательные поля", "- в методе сохранения доставки в заказ обязательные поля:\r\nagentId\r\ndate\r\naddress.address\r\naddress.country\r\n\r\nа остальные поля необязательны\r\n\r\n- метод работает как если передать минимальный набор обязательных полей, так и если передавать расширенные данные", "- метод получения задач /api/order/{orderNumber}/tasks возвращает комбинированный ответ из данных горячего обмена (запроса в АХ) для получения актуального списка задач и их статуса для конкретного заказа в текущий момент времени\r\n\r\nи данными из TaskInfo сервиса, который предоставляет дополнительное описание задачи - статичные данные, получаемые из ТО\r\n\r\nв ответ приходят только задачи в открытых статусах \"Отложен\", \"К выполнению\" (5, 7) и actionType > 0", "- для случая с выводом ПДД (доставка) реализована группировка по службе доставки и вывод службы доставки и её дат/интервалов. С сортировкой от самых ближайших.\r\n- для случая с ПВЗ (самовывоз) убран вывод времени(интервалов доставки), и оставлены только даты с заголовком ПВЗ", "- e2e тесты работают (проходят без ошибок)\r\n", "- до окончания скролла поповер не закрывается, даже если мышь уходит за его пределы\r\n(скролл в данной задаче осуществляется мышью, но дополнительно можно проверить и на тачпаде)", "- в строках заказа выводится выбранный размер", "сделать строку с заголовками стики-ту топ\r\nстрока с заголовками прилипает под плашку", "- у товаров с отсутствующим title в качестве заголовка используется skuName", "- в ответ метода POST /order/:orderNo/delivery/expanded-plan добавлен заголовок X-Delivery-Source со значением \"geo-fallback\" или \"axapta\" в зависимости от того какие данные переданы в ответ", "- срабатывает fallback на ответ GEO, в случае любой ошибки АХ при получении планов доставки (метод POST /order/:orderNo/delivery/expanded-plan)\r\n- ошибка ax логируется", "- ограничено кол-во заказов по умолчанию до 10 на странице заказов (в обоих табах)", "- файл endpoints.js не кешируется", "При наличии активной ссылки  на оплату:\r\n- при открытии СП редактирования оплаты больше НЕ выводится air message с текстом \"Есть активная ссылка на оплату, изменение способа оплаты недоступно\", которая реализован в задаче CMI-4125;\r\n- в СП редактирования оплаты выводится текст у опции \"ПО ССЫЛКЕ\" \"Изменение способа оплаты недоступно, так как есть активная ссылка на оплату.\"\r\n-  СП редактирования оплаты если среди доступных способов оплаты (ответ метода /api/order/:uuid/pay-types) нет выбранного в заказе способа оплаты или метод вернул ошибку, то выводить выбранный способ оплаты из заказа всё равно как выбранный способ оплаты. \r\nПри этом дублирования опций способов оплаты быть не должно (если в /api/order/:uuid/pay-types пришёл выбранный в заказе способ оплаты) \r\n\r\n- Смена способа оплаты при наличии активной ссылки на оплату по-прежнему недоступна (другие опции заблокированы).\r\n", "- при взятии заказа в работу отображается оверлей с данными по заказу и табы связанных заказов, доступна кнопка Перейти к обработке заказа\r\n- для заказа T00000001 на моках доступка кнопка Подтвердить заказ, для прочих замоканных заказов, кнопка подтверждения неактивна и отображается пульсар с возможностью открыть СП Задач по заказу\r\n- задачи по заказу хранятся в стейт машине, стора не используется", "- На странице заказов в табе \"все заказы\" в СП фильтров добавлен новый вариант фильтров по источнику: \"Мобильный ассистент\"", "- добавлен новый фильтр по источнику заказа (source) в метод поиска заказов POST order/search EXCLUDE_MOB_ASSISTANT - Все, кроме Мобильного ассистента. ", "- добавлен фильтр по источнику заказа на странице заказов в табе \"очередь\";\r\n- доступные варианты: \r\n1. Все источники\r\n2. Мобильный ассистент\r\n3. Все, кроме Мобильного ассистента", "-в метод POST order/queue добавлена фильтрацию по источнику заказа\r\n- обновлена документация https://app.swaggerhub.com/apis/dixmod/CMI/1.0.0#/Order/post_api_order_queue; \r\n- доступные варианты: \r\n1. Все источники\r\n2. Мобильный ассистент\r\n3. Все, кроме Мобильного ассистента", "Модифицированы фильтры по типу заказа:\r\n- Для \"Все заказы\" передаётся значение listType \"all\". Значение по умолчанию.\r\n- Для \"Только VIP-заказы\" передаётся значение listType \"only-vip\"\r\n- Для \"Все заказы, без VIP и без O+\" передаётся значение listType \"exclude-vip-and-orange-plus\"\r\n- Для \"\"Только Orange+ заказы\" передаётся значение listType \"only-orange-plus\"", "- на странице заказов и на странице заказа;\r\n- privilege со значением Orange+ устанавливает флаг isPrivilege в теле запроса в методе получения планов доставки expanded-plan в СП редактирования заказа", "- в случае ошибки АХ НЕ выводится техническая информация из поля message тела ошибки в качестве текста в AIR message, а выводится текст: \"Номер запроса: . Код: . Передайте эти данные в support и мы вам поможем.\" ;\r\n- в случае ошибки GEO выводится информация из поля message в качестве текста в AIR message", "- используется свойство client.privilege вместо client.property для определения VIP статуса, которое приходит в API ответе методов получения заказа", "- base client успешно обновлён;\r\n- в методе отправки ссылки на оплату POST /order/:orderNo/send-pay-url для типа email предаётся в AG шаблон Eshop_pUrl и таким образом отправка ссылки на оплату по email работает", "- добавлено поле \"source\": <\"AX\"|\"GEO\"> для ответа при ошибке у метода /order/:uuid|orderNo/expanded-plan ", "- используется свойство client.privilege вместо client.property для определения VIP статуса", "- нельзя привязать/отвязать чёрную карту к заказу если доставка платная и есть активная ссылка на оплату;\r\n- остальные карты привязывать можно", "- В поле адреса добавлена валидация, если в адресе одной строкой не представлены обязательные данные по адресу (которые выбираются из саджеста );\r\n- При попытке покинуть поле (расфокус) если сработала валидация на обязательность полей отображается синий air-message с текстом \"Укажите адрес вплоть до дома\"  (в других случаях этот air-message не выводится);\r\n- Не запрашиваются планы доставки до момента как поле адреса будет валидным;\r\n- Кнопка \"сохранить\" не активна когда не заполнены все обязательные поля (логика сохраняется).", "- в метод очереди заказов POST order/queue в структуру client каждого заказа добавлено поле privilege, которое соответствует enum privilege в AG https://kb.int.tsum.com/pages/viewpage.action?pageId=856755071;\r\n- обновлена документация в свагере https://app.swaggerhub.com/apis/dixmod/CMI/1.0.0#/Order/post_order_queue", "- в метод поиска заказов order/search в структуру client каждого заказа добавлено поле privilege, которое соответствует enum privilege в AG https://kb.int.tsum.com/pages/viewpage.action?pageId=856755071;\r\n- обновлена документация в свагере https://app.swaggerhub.com/apis/dixmod/CMI/1.0.0#/Order/post_order_search", "- e2e тесты работают и проходят без ошибок\r\n", "Невозможно отправить запрос с пустой строкой на странице поиска заказов", "- в метод получения заказа в структуру client добавлено поле privilege, которое соответствует enum privilege в AG https://kb.int.tsum.com/pages/viewpage.action?pageId=856755071;\r\n- обновлена документация в свагере\r\n", "- Можно успешно изменить и сохранить другой способ оплаты", "Ошибка \"error resolve user to send delivery plan\" больше не воспроизводится", "- обновлён ui-kit до версии >= 2.7.6;\r\n- указаны изменения с момента прошлой версии кита в проекте, которые касаются CMI", "- в заказе, у которого нет packs, при добавлении товара в подарочную упаковку ( POST /order/:order-uuid/pack), добавляется только одна(!) подарочная упаковка в packs структуры заказа", "- для определения упакован ли товар в подарочную упаковку используется информация из order.lines[].packUuid, который должен соответствовать packs[].uuid;\r\n-order.packs[].items теперь игнорируется (это устаревшая структура);\r\n- поправлена документация по работе ПК https://kb.int.tsum.com/pages/viewpage.action?pageId=847494197", "На странице лука\r\n- реализован виртуальный скролл товаров", "в запросах вида /api/product-lists/272124/replace-items - width > 0", "- дизайн жука и задач второй линии обновлен\r\n- на предпросмотре заказа (/work/preview) и странице заказа /work/view и work/edit выводится таймер для задач \"Подтвердить КЦ\" и \"Отправить имейл\"\r\n- иконка таймера меняет цвет в зависимости от истекшести задачи Подтвердить КЦ или Отправить имейл", "Данные по событиям в виджете CMI, которые используются в отчете КЦ, собираются и хранятся в отдельном индексе ПРОД elastic", "- Должен отправляться запрос expanded_plan с полем addressId вместо address\r\n- в ф-ле редактирование доставки\r\n- в ф-ле объединение доставки\r\n- если сервис адресов упадет с ошибкой, то нужно вызвать expanded_plan по старому - со строкой address", "- в каталоге В expanded-plan должен уходить addressId вместо address\r\n- если сервис id адресов упадет с ошибкой, то нужно вызвать expanded_plan по старому - со строкой address", "- передается addressId\r\n- если сервис адресов упадет с ошибкой, то нужно вызвать expanded_plan по старому - со строкой address", "В отчет по метрикам (PM-3365) не приходят события с набором данных:\r\n- event = left (выход из заказа);\r\n- place = takeToWork (взятие в работу);\r\n- page = orderqueue (очередь заказов).", "при деплое создается обменник/очередь/биндинг - в логах деплоя Setting up the Rabbit MQ fabric\r\n\r\nв rabbitmq добавлен обменник/биндинг/очередь cmi.logs\r\nконсюмеры разбирают очередь cmi.logs\r\n\r\nлоги доступны в кибане с полем log_datetime", "- обращения к значениям переменных в стилях изменены на новые\r\n- ui выглядит как и прежде", "Все ассеты расположены на корпоративных доменах, например oauth.int.tsum.com", "запросом к методу /api/address/id из сваггера возвращается uuid \r\n\r\nзапросом на получение адреса по uuid в сервис адресов (например для testing 846dcf3c-a73a-444c-ace7-e471e451aae9)\r\n\r\ngrpcurl -plaintext -d '{\"id\":\"846dcf3c-a73a-444c-ace7-e471e451aae9\"}' address.testing.int.tsum.com:7777 tsum.geo.address.AddressService/GetAddressById\r\n\r\nвозвращается созданный через cmi адрес", "Для ручки сделать доработку по аналогии с задачей CMI-6911", "Проблема исследована, ошибка устранена", "-тесты проходят", "1) выгрузка\r\n2) метрика", "Убран при смене способа оплаты на \"оплату при получении\" отправку письма с шаблоном Eshop_CoD (запрос /send-communication)", "- все часы списаны", "после выполнения команды bin/console np:synchronize-stocks-list\r\nв таблице stock 47 записей, либо количество записей равным заголовку X-Pagination-Total-Count в запросе\r\n\r\ncurl -D- https://admin.stable.int.tsum.com/api/catalog/stock | grep \"X-Pagination-Total-Count\"", "При очистке даты в фильтре очищать сразу и инпут с временем", "Ссылка в сообщении о выпавших заказах в телеграм ведёт на вкладку \"Проверки\" страницы мониторинга CMI ПРОД, с включенными фильтрами:\r\n1) \"Только проблемные\": параметр в ссылке - \"withProblems=true\";\r\n2) фильтр по интервалу даты и времени проверки:\r\n- \"от\" - дата и время проверки: параметр в ссылке - \"fromDate\" в формате timestamp;\r\n- \"до\" - значение \"от\" (дата и время проверки) + 1 минута: параметр в ссылке - \"toDate\" в формате timestamp.", "При нажатии Enter на клавиатуре происходит активация кнопки \"найти\" в мониторинге", "В блоках \"Оформитель\" и \"Получатель\" на вкладке \"Клиент\" в СП \"Редактирование заказа\" обязательные к заполнению только 2 поля: \"Имя\" и \"Телефон\".", "Выводить в плейсхолдере страны в инпуте \"Страна не опознана\", если не подошла ни одна маска", "- в селекторе больше нет режимов lazyRadio и lazyRadioArray\r\n- поведение radio и radioArray заменено на поведение lazyRadio и lazyRadioArray", "Исправлена верстка свитчей в админке управления действиями в заказе", "В СП выбора причины покидания заказа в тултипе выводится полный текст троеточенной причины при наведении", "если задачи в заказе отложены, кнопка откладывания в СП задач должна быть активно и вне должно быть написано \"отложено\"", "Для причины \"переход из CMI в AX для обработки задания\" выводится иконка \"i\" в СП выбора причин откладывания и тултип с текстом ", "В СП Задач при клике \"Перейти\" в псевдозадаче \"Некорректный индекс\":\r\n\r\n1) Открывается СП Редактирования заказа - Таб Доставка - Сабтаб \"Доставка\"\r\n2) Открыть стандартный на тек момент (без табов) поповер на клик на пульсар\r\n", "1) В Заголовках таблицы при наведении на \"AX\" или \"CMI\" выводятся тултипы с текстом: “количество задач, выполняемых в Axapta” и \"количество задач, выполняемых в CMI\" соответственно\r\n\r\n2) Кнопку выгрузки в csv перевести с \"download\" на \"скачать\"", "добавлены секунды в блок Время создания в сервисах Страницы проверки заказа", "Тестовая задача для QA Notes", "в отправляемых в рамках проекта запросах-событиях переименованы \"locked\" в \"entered\", \"unlocked\" - в \"left\" ", "В список заказов в виджете клиента и в табы просмотра/предпросмотра заказа не попадают архивные заказы", "заархивированы заказы CMI на проде с датой создания 2019 г", "Если после ввода карты в /check-type-bc в ответе в поле \"discCardTypeId\" возвращается \"OrangeDsс\" или \"WhiteDsc\" в значении, то на фронте блокируются все поля, кроме номера карты и кнопки \"очистить\" и у заголовка таба \"бонусы\" появляется иконка \"i\" с текстом, что запрещено применять карты с типом \"Дисконт\"\r\n ", "при нажатии на \"скопировать ссылку\" в товарной строке заказа \r\n- в буфер обмена копируется короткая ссылка, если шортлинкер ответил без ошибок \r\n- полная ссылка - если шортлинкер недоступен или не прислал код короткой ссылки - копируется полная ссылка ", "- Можно скачать расхождения по одной проверке", "- скачиваются все расхождения в файле", "- при нажатии на строку с расхождением открывается СП, соответствующая визуально макету", "- на странице есть два связных пагинатора\r\n- изменения в пагинаторе приводят к соответствующему запросу на сервер\r\n- значения query в url и значения в пагинации всегда одинаковы", "- таблица соответствует макету\r\n- не отправляется лишних запросов при инициализации или смене значений фильтров\r\n- подсвечиваеются строки с расхождениями\r\n- отображается количество строк", "- идет сет значений из квери параметров в фильтры при навигации на страницу\r\n- сет значений в фильтрах приводит к соответствующему изменению квери\r\n- дизайн визуально соответствует макету", "- в неподтвержденных заказах для ряда получаемых в методе CMI-5992 агентов триггерится псевдозадача проверки индекса ", "Если в запросе CMI API /api/order/:orderNo/tasks поле isPostponeEnabled == False, хотя бы у одной из задач, то:\r\n- деактивируется отложить в предпросмотре/сп задач страницы заказа\r\n- выводится текст в тултипе при клике/наведении с перечислением неоткладываемых задач", "В поповере на кнопке \"подтвердить\":\r\n\r\nЕсли кнопка подтверждения заблокирована выводится текст как сейчас:\r\nЗаголовок: Выполните все задачи в заказе\r\nТекст: Для разблокировки кнопки подтверждения заказа, выполните, пожалуйста, все остальные задачи на заказе. После этого кнопка разблокируется автоматически.\r\n\r\nЕсли кнопка НЕ заблокирована, выводим такой текст:\r\nЗаголовок: Есть рекомендованные задачи\r\nТекст: Вы можете выполнить дополнительные задачи в заказе перед подтверждением", "изменить текст псевдозадачи о выдаче виртуапльной БК с \"предложить\" на \"предложите\"", "для подарочной упаковки выводится отдельная икнока в блоке упаковка страницы заказа", "- фрейм встроен на тест и прод cmi", "- у строк каталога с avaliability_in_stock:true в catalog/search и avaliabilityInStock:false в catalog/sizes пишется на месте селектора размеров \"нет на складе\" и скрывается псевдолинк \"наличие и доставка\"", "если все avaliabilityInStock:false в catalog/sizes, то:\r\n- пишем на месте селектора размеров \"нет на складе\"\r\n- скрываем псевдолинк \"наличие и доставка\"", "- исправлен маппинг на вкладке все заказы в фильтре по источнику заказа", "\"нет на складе\" не триггерится, если остатков у товара нет", "- убрано \"и прочее\" из чекбокса", "- убрана проверка вызывающая ошибку CMI0006", "- копирование ссылки в ряде мест проиходит через метод\r\n- универсалная обработка ошибок - копируется в буфер полная ссылка\r\n- выводятся air-message по схеме", "в сваггер добавлена ручка shortlink\r\nсервис отдает ответ согласно описанию в сваггере ", "Либо принято решение, что упростить не получится, либо описать идею упрощения и завести задачи для этого", "при нажатии на кнопку подтверждения заказа на странице редактирования заказа не отправлять запрос /validate", "- после любой модификации заказа запрашиваются задачи по нему\r\n- если появляется новая задача, то пользователь должен увидеть уведомление о ней (air message)", "в сваггере добавлен метод /api/gift-cards/item-sku-ext-ids\r\n\r\nответ 200 в поле data соответствует данным itemSkuExtId из ручки gift-card сервиса ag, например curl -X GET \"http://ax-gw-stable.int.tsum.com/gift-card/v1/\" -H \"accept: application/json\" -H \"Gateway-Meta-Email: test-user@tsum.ru\" -H \"traceparent: 00-d926d7bb9ccf46fc04a61bd65d87b9b3-d926d7bb9ccf46fc-01\" -H \"Gateway-Meta-Source: cmi\" -H \"Gateway-Meta-RequestHash: d926d7bb9ccf46fc04a61bd65d87b9b3\" | jq '.data | .[] | .itemSkuExtId'", "У отмененных товарных строк (у которых в структуре заказа lines[].status=7) остатки не запрашиваются и не генерируются псевдозадачи.", "Следующие 2 агента исключены из валидации из задачи CMI-4927 и логики из задачи CMI-4915:\r\n61\tСочи – ССД (DHL)\r\n71\tКраснодар - ССД (DHL)", "выводится телефон в блоке \"доставка\" страницы заказа", "- при нажатии на кнопку \"удалить из заказа\" (слева над карточкой товара) происходит моментальное удаление товара из заказа с причиной IM2", "- при коммите линтер запускается только для измененных файлов", "В СП \"Добавить товар\" на странице заказа есть возможность:\r\n1) увидеть все цвета товара\r\n2) увидеть подробную информацию о товаре другого цвета\r\n3) добавить в заказ товар другого цвета определенного размера", "- в обоих перечисленных случаях открывается СП отмены заказа", "- СП внешне соответствует дизайну\r\n- происходит выбор причины с последующим удалением строки", "В ответе метода получения структуры заказа (GET Order) есть поле, в котором находится идентификатор модели товара, который равен значению в поле \"ext_id\" в ответе метода NP GET /catalog/item/{id}.", "- Вместо Артикул Цум в товарной строке заказа выводится Модель ЦУМ", "в методах order/search и order/queue работает фильтр по orderType\r\n\r\nметоды возвращают значение orderType в своем ответе", "- инпуты адресов коммуникации не заблокированы в СП отправаки ссылки на оплату после нажатия на \"продублировать ссылку\"", "Добавлен чекбокс «все», проставлен по умолчанию в СП Фильтры на вкладке \"Все заказы\". Всегда должен быть проставлен хотя бы один чекбокс. При проставлении чекбокса \"Все\" автоматически выбираются чекбоксы всех стран", "По умолчанию проставлены все чекбоксы при первом открытии дропдауна \"Страна заказа\"", "- добавлен чекбокс Армения в дропдаун Страна витрины Очереди заказов\r\n- добавлен чекбокс Армения в дропдаун Страна витрины Всех заказов - СП фильтров по заказам", "- выводятся предзаказ строки на странице заказа", "- снят дизейбл с галок \"Подтвердить КЦ\" и \"Отправить имейл\" в дропдауне \"Очередь\" страницы заказов", "- создана форма отпраки причины с комметарием и чекбоксом\r\n- осуществляется корректная отправка даных", "- legacy код отсутствует\r\n- в ui СП выводится id выбранной причины отмены заказа", "- написана ручка \r\n- работают моки для нового метода", "- создан компонент в ui\r\n- написана история", "- заполнена таблица", "В канале коммуникации \"Whatsapp\" при неопределенном виджете с возможностью выбора при отправке событий (\"action\"): \r\n- \"Поднятие виджета\" (\"start\");\r\n- \"Создал клиента\" (\"create\"); \r\n- \"Присоединил клиента\" (\"join\") \r\nв методе POST /api/analytics/client-widget отправляется\r\nwidgetType: \"uncertain\"", "В EMS like case в тултипе у красного индикатора на табе \"Оплата\" выводится текст: \"Способ оплаты \"Наличными при получении\" недоступен у агента доставки \"EMS\". Необходимо отправить ссылку на оплату. Заказ также можно предоплатить полностью или частично бонусами лояльности или подарочной картой.\"", "запрос с кривым url (приложен в описании задачи) возвращает ответ No route found - code - NOT_FOUND", "- товар можно удалить из образа", "При получении ошибок при запросе остатков:\r\n- появляется красный air-message с текстом: \"Не удалось получить информацию об остатках товара.\";\r\n- кнопка \"Подтвердить заказ\" доступна.", "- при запросе заказа /api/order/:orderNumber, в ответе поле по адресу lines[].item.extId имеет числовой тип\r\n", "фронт научился понимать extIdSku:str вместо itemId:num", "в методе /order/:orderNumber/items/stock:\r\n- на вход идут вместо \"itemId\":\"int\" - \"extIdSku\":\"string\"\r\n- в ответе метода вместо \"itemId\":\"int\" приходит \"extIdSku\":\"string\"", "- при одновременном срабатывании EMS-like и Bonus-like cases закреплен четкий порядок исправления пользователем кейсов:\r\n1) Bonus-like\r\n2) Ems-like", "- админ может сохранять состояние вкл/выкл в строках причин отмены\r\n- если причина выключена в АХ, то она сохраняется, как выключенная в CMI при любом сохранении настроек\r\n- если причина выключена в АХ, то отображается, как N/A в таблице вместо переключателя\r\n- вывод таблички можно фильтровать по критериям описанным в kb\r\n", "- все тексты причины на странице выводятся из нового источника\r\n- если причины нет или ошибка, то выводить код причины и тултип по требованиям", "если только у основного cmiId есть заказы - в правом псевдолинке виджета выводим \"еще N клиентов\"\r\n\r\nесли подобралось много cmiId, но основного нет и заказы есть только у первого - в правом псевдолинке виджета выводим \"еще N клиентов\"", "убрано слово \"заказ\" в табах предпросмотра и страницы заказов", "- выводятся кнопки отложить/отложено на предпросмотре, если заказ заблокирован за пользователем\r\n- выводятся кнопки отложить/отложено в СП задач, если заказ заблокирован за пользователем", "1) если удовлетворено хотябы одно из условий:\r\n- в ответе /tasks нет задач\r\n- заказ открыт в контексте /browse\r\nне выводить \r\n\r\n2) если удовлетворено хотя бы одно из условий:\r\n- заказ находится в контексте /work/view\r\n- заказ находится в контексте /browse\r\n- в админке управления действиями в заказе отключена Отмена строки\r\nкнопку \"удалить\" не выводим", "- убрано дублирование \"Товара нет на складе\" в списках задач в предпросмотре, табах попровера у пульсара и СП Задач\r\n- При нажатии \"перейти\" перематываем страницу к первой строке с отсутствующим товаром", "- поле с номером БК СП редактирования бонусов заказа автозаполняется", "- на вкладке все заказы добавлена кнопка обновления страницы", "в поповер о блокировке предпросмотра заказа выводится почта блокирующего из поля blockedByUserEmail", "если в заказа есть задача Отправить имейл, формулировка в кнопке подтверждения меняется на Подтвердить по Email", "- для заказов юр лиц доступно только действие \"просмотр заказа\"\r\n- у строк заказов в очереди и все заказы выводится лейбл \"юр лицо\"", "- добавлен объект juridicalPerson в ответы /queue и /search", "выводится иконка копирования в \r\nСП Выбора основного клиента\r\nСП Каналы связи\r\nСП Поиска клиента", "- в блоке доставка страницы заказа выводится квартира/офис", "- у заголовка \"Клиент\" добавлена иконка \"i\", выводится тултип при наведении\r\n- при нажатии на \"i\" открывается новая СП куда выводятся данные о держателе карты", "Добавлен столбец \"держатель карты\" в табах \"все заказы\", \"очередь\"\r\nВыводится ", "Блоки \"Не выдавать заказы с истекшим SLA\" и \"Приоритет задач по времени до конца SLA\" выводятся только если включен \"Включить логику SLA\"", "Возможно произвести дополнительные действия с заказом.", "Запрос /history/cmi-settings/:settingType должен возвращать историю изменения настройки :settingType ", "У псевдозадач в СП задач и на Предпросмотре после названия выводится лейбл \"cmi\"", " ", "Запросы в сервисы ag логируются в elk в зависимости от настройки в сервисе reference", "Метод находит пользователей по email, в частности пользователя cmi_api_autotest@tsum.ru", "Окно выбора тематики звонка не закрывается сразу после завершения звонка.", "при нажатии на \"создать инцидент\" в попапе жука проверять комментарий\r\nесли он не заполнен - подсвечивать поле комментария красным и не создавать инцидент\r\n", "В ответе метода GET /api/task/queue-status для каждой группы задач приходят данные о количестве пользователей, имеющих право обрабатывать группу задач и готовых к работе, а так же в группировке по группам статусов пользователей.", "Реализована периодическая операция, которая:\r\n1) выполняется каждый час\r\n2) изменяет статус на \"null\" у пользователей, которые в CMI находятся оффлайн и имеют статус не равный \"null\".\r\n", "запросы в сервис order проходят без подзапросов в reference", "Привести таблицы групп пользователей по привилегиям клиента и групп пользователей по группам задач к единому расположению интерфейсных элементов", "запросы к axapta-sender идут через nomad хосты", "Способ генерации примера вызова метода должен соответствовать действительности", "Если справочника еще нет либо он пуст, возвращаем данные из GEO/AX. Если справочник доступен, то объединенную информацию о способах оплаты", "добавлен инпут с поиском по названию задачи в дропдаун\r\nпроизводится поиск при вводе каждого символа\r\nпока идет поиск - крутится лоадер\r\n", "1) данные о коммуникации для отправки данных о действиях пользователя в виджете берутся из ответа метода /telegram-communication\r\n2) отправка данных о действиях пользователя в виджете выполняется аналогично текущей реализации в канале \"Phone\", но со следующими изменениями:\r\n2.1) данные о событии отправляются после выполнения действия и после получения ответа на запрос /telegram-communication\r\n2.2) аналогично отправке данных о действиях в СП \"Выбор клиента\" отправляются данные о действиях в СП \"Найдено N клиентов\"\r\n2.3) при отправке данных по действиям в неопределенном виджете с возможностью выбора (с \"найдено N клиентов\") отправляется тип виджета: widgetType: \"uncertain\"", "В проектах TSUM и TSUM Collect в виджете в канале telegram согласно требованиям задачи выполняется логика выполнения действий пользователя:\r\n1. Создание клиента\r\n2. Присоединение клиента\r\n3. Изменение основного CMI ID для КА TG\r\n4. Присоединение KA TG к одному из cmiId с KA Phone, который пришел из параметра phone при открытии cmi", "В проектах TSUM и TSUM Collect:\r\nПри поднятии виджета в канале telegram (type=telegram в GET параметрах ссылки поднятия виджета) используется новая ручка POST /v1/api/client/telegram-communication (AG-7768).\r\nВиджет поднимается в зависимости от ответа согласно требованиям." ]