Как перехватить "закрытие окна браузера" и затем обновить элемент DataBase с помощью Django?
прежде всего с Новым годом!
Я начинаю изучать Django, извините, если вопрос слишком очевиден.
Контекст:
У меня есть веб-приложение на Django, это приложение представляет собой приборную панель, где пользователи могут проверять и подтверждать распознавание, сделанное искусственным интеллектом каждой части счета (цены, налоги...)
Пользователь может вручную просмотреть это распознавание и, соответственно, проверить, все ли правильно.
Ситуация:
Теперь, когда пользователь нажимает на кнопку verify, происходит перенаправление на другой вид. Это новое представление представляет собой шаблон Django с iframe. Это представление Django выполняет функцию, которая обновляет статус элемента до '31.Verificando usuario' в DB.
urls.py: path('verification/<int:id>/', views.VerificationPage, name="fci-verification" )
views.py:
def VerificationPage (request, id):
invoice= Invoice.objects.get(id=id)
url= invoice.verification_url
invoice_id = invoice.id
status = '31.Verificando usuario'
message = _('Invoice in web verification')
try:
change_invoice_status(invoice_id, status, message)
except Exception as e:
capture_exception(e)
return render(request, "fci_verification.html", {'verification_url': url,'invoice_id': id})
Когда пользователь нажимает на "verified" в iframe, я ловлю это событие с помощью window.addEventListener("message", receiveMessage, false);
и обновляю до нового статуса.
Проблема: Если пользователь закрывает вкладку или браузер, статус элемента остается как "31.Verificando usuario" и другой пользователь не может просмотреть этот счет.
**Как перехватить "закрыть окна или вкладку" и изменить статус на предыдущий? **
РЕЗЮМЕ:
- I have a dashboard to verify invoices.
- When the user clicks on the verify button, the invoice status is updated to "31.Verificando usuario" .
- If user close browser without verify the invoice, this invoice stays with wrong status.
- I need capture this "close tab/browser" and update to the previous status.
Заранее спасибо.