Как перехватить "закрытие окна браузера" и затем обновить элемент 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" и другой пользователь не может просмотреть этот счет.

**Как перехватить "закрыть окна или вкладку" и изменить статус на предыдущий? **

РЕЗЮМЕ:

  1. I have a dashboard to verify invoices.
  2. When the user clicks on the verify button, the invoice status is updated to "31.Verificando usuario" .
  3. If user close browser without verify the invoice, this invoice stays with wrong status.
  4. I need capture this "close tab/browser" and update to the previous status.

Заранее спасибо.

Вернуться на верх