From fa2a5d220dbe4fb7a227849493acafa772c6d14b Mon Sep 17 00:00:00 2001 From: Gael Le Mignot Date: Thu, 3 Jun 2021 10:10:46 +0200 Subject: [PATCH] Fixed register form --- teleforma/forms.py | 6 ++++-- teleforma/models/crfpa.py | 7 ++++--- teleforma/views/core.py | 13 +++++-------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/teleforma/forms.py b/teleforma/forms.py index 777faa71..e979d5c1 100644 --- a/teleforma/forms.py +++ b/teleforma/forms.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- import datetime -from io import StringIO +from io import BytesIO from captcha.fields import CaptchaField from django import forms @@ -150,8 +150,10 @@ class UserForm(ModelForm): # resize image img = Image.open(image.file) new_image = img.resize((NEW_WIDTH, NEW_HEIGHT), Image.ANTIALIAS) + if new_image.mode == "RGBA": + new_image = new_image.convert("RGB") - temp = StringIO() + temp = BytesIO() new_image.save(temp, 'jpeg') temp.seek(0) return SimpleUploadedFile('temp', temp.read()) diff --git a/teleforma/models/crfpa.py b/teleforma/models/crfpa.py index 3ae5f7db..612630fb 100755 --- a/teleforma/models/crfpa.py +++ b/teleforma/models/crfpa.py @@ -182,8 +182,9 @@ class Student(models.Model): _('registration date'), auto_now_add=True, null=True, blank=True) date_subscribed = models.DateTimeField( _('subscription date'), null=True, blank=True) - is_subscribed = models.BooleanField(_('subscribed')) - confirmation_sent = models.BooleanField(_('confirmation sent')) + is_subscribed = models.BooleanField(_('subscribed'), default=False) + confirmation_sent = models.BooleanField(_('confirmation sent'), + default=False) level = models.CharField(_('studying level'), blank=True, max_length=100) balance = models.FloatField( @@ -313,7 +314,7 @@ class Profile(models.Model): telephone = models.CharField(_('Telephone'), max_length=255, blank=True) expiration_date = models.DateField( _('Expiration_date'), blank=True, null=True) - init_password = models.BooleanField(_('Password initialized')) + init_password = models.BooleanField(_('Password initialized'), default=False) wifi_login = models.CharField(_('WiFi login'), max_length=255, blank=True) wifi_pass = models.CharField(_('WiFi pass'), max_length=255, blank=True) birthday = models.DateField( diff --git a/teleforma/views/core.py b/teleforma/views/core.py index 9290b476..a4c98078 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -37,7 +37,7 @@ import datetime import mimetypes import os from html import escape -from io import StringIO +from io import BytesIO from teleforma.utils import guess_mimetypes from django.conf import settings @@ -195,7 +195,7 @@ def content_to_pdf(content, dest, encoding='utf-8', **kwargs): Write into *dest* file object the given html *content*. Return True if the operation completed successfully. """ - src = StringIO(content.encode(encoding)) + src = BytesIO(content.encode(encoding)) pdf = pisa.pisaDocument(src, dest, encoding=encoding, **kwargs) return not pdf.err @@ -204,7 +204,7 @@ def content_to_response(content, filename=None): """ Return a pdf response using given *content*. """ - response = HttpResponse(content, mimetype='application/pdf') + response = HttpResponse(content, content_type='application/pdf') if filename is not None: response['Content-Disposition'] = 'attachment; filename=%s' % filename return response @@ -215,11 +215,8 @@ def render_to_pdf(request, template, context, filename=None, encoding='utf-8', """ Render a pdf response using given *request*, *template* and *context*. """ - if not isinstance(context, Context): - context = RequestContext(request, context) - - content = loader.render_to_string(template, context) - buffer = StringIO() + content = loader.render_to_string(template, context, request = request) + buffer = BytesIO() succeed = content_to_pdf(content, buffer, encoding, **kwargs) if succeed: -- 2.39.5