Projet

Général

Profil

0001-utils-render-authenticator-response-if-necessary.patch

Valentin Deniaud, 29 mai 2019 15:51

Télécharger (1,89 ko)

Voir les différences:

Subject: [PATCH 1/4] utils: render authenticator response if necessary
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Je sais pas pourquoi mais FormView va retourner des TemplateRespone (pas
rendered) mais au moment de la redirection après un succès la réponse
est déjà rendered. Ça me paraît pas terrible comme comportement donc ce
fix n'est pas terrible non plus, je peux aussi le mettre au niveau du
code qui en a besoin mais ça sera peut-être utile à d'autres
Authenticator, du coup je l'ai mis là.
 src/authentic2/utils.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
src/authentic2/utils.py
42 42
from django.utils.six.moves.urllib import parse as urlparse
43 43
from django.shortcuts import resolve_url
44 44
from django.template.loader import render_to_string, TemplateDoesNotExist
45
from django.template.response import ContentNotRenderedError
45 46
from django.core.mail import send_mail
46 47
from django.core import signing
47 48
from django.core.urlresolvers import reverse
......
219 220
    status_code = 200
220 221
    # Some authenticator methods return an HttpResponse, others return a string
221 222
    if isinstance(response, HttpResponse):
222
        content = response.content
223
        try:
224
            content = response.content
225
        except ContentNotRenderedError:
226
            response.render()
227
            content = response.content
223 228
        status_code = response.status_code
224 229
    return {
225 230
        'id': authenticator.id,
226
-