Инвентаризация: dev: Документы: Форма

Есть некоторая специфика в отправке данных формы документа, т.к. в ней содержатся по сути несколько форм:
Документ и сканы привязываемые к этому документу, поэтому алгоритм действий такой:

  • форма.onBeforeSubmit
    • прерывает отправку данных через POST
    • отправляет данные асинхронно через AJAX запрос
    • в случае успеха вызывает contractFromApplyChanges
  • contractFromApplyChanges
    • меняет action формы на update (create уже сделан)
    • прописывает в скрытое поле формы #contract_form_model_id ID модели (т.к. до создания его например вообще не было)
    • Если есть незагруженные сканы, то пинает метод Upload компоненты загрузки картинок, которая
      • при загрузке картинок передает параметр #contract_form_model_id для привязки картинок к документу
      • после загрузки картинки вызывает contractFormAfterScansUpload
  • contractFormAfterScansUpload
    • Если осталось догрузить 0 картинок и мы сохраняли через Save (не Apply) тригерит форма.afterSubmit и окно закрывается и переходит на просмотр документа
  • инвентаризация/dev/документы/форма.txt
  • Последнее изменение: 2022/07/01 15:18
  • admin