Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ошибка удаления связанных объектов через batchUpdate. #204

Open
ronzhak opened this issue Mar 26, 2021 · 1 comment

Comments

@ronzhak
Copy link
Contributor

ronzhak commented Mar 26, 2021

Описание ошибки

В batch на удаление приходят 2 объекта: file (мастер) и document-file (ссылается на file). Первый удаляется без проблем, второй падает с ошибкой: Cannot read property 'response' of undefined.
Происходит это из-за того, что код выполняется в ветке, где используется getResponses, который = undefined, так как в batchResponses, contentType: "multipart/mixed", и model.hasChangedBelongsTo()=truе.

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

Удалять связанный объект, вне зависимости от изменений в мастере.

Шаги воспроизведения

  1. Создать мастеровой объект
  2. Создать внутренний объект и указать в нем ссылку на мастер.
  3. Создать batch-запрос на удаление мастера и внутреннего объекта.
  4. При удалении внутреннего объекта, в строке _var _response = getResponses$shift.response; возникнет ошибка: Cannot read property 'response' of undefined.

Конфигурация

ember-flexberry 2.6.0-beta.6

Ошибка воспроизводится на следующей конфигурации:
Устройство: (компьютер)
ОС: (win)
Браузер: (Chrome, FireFox, Edge, IE, Safari)
Версия браузера: Chrome 89.0.4389.90
Версия технологического проекта: 2.6.0-beta.6

Пути решения

Если modelDirtyType === 'deleted', выполнять удаление объекта из store в первую очередь, иначе выполнять код по созданию или изменению.

Исходный код

odata.js

Примерная оценка трудоёмкости

0,5 часа.

Скриншоты, полезные ссылки

image_2021-03-26_10-43-26

@KollegOFF
Copy link
Collaborator

Надо будет добавить тест для этого случая.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

2 participants