From 275c16034b096f602b46d5945e98bbada0f347b9 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 16 Jan 2019 20:49:52 +0100 Subject: File size validator --- ishtar_common/forms.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ishtar_common/forms.py') diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index 526255277..7b98021d6 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -26,8 +26,10 @@ import re import types from django import forms +from django.conf import settings from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType +from django.core.exceptions import ValidationError from django.core.urlresolvers import reverse from django.core import validators from django.forms.formsets import BaseFormSet, DELETION_FIELD_NAME @@ -81,6 +83,16 @@ name_validator = validators.RegexValidator( 'invalid') +def file_size_validator(value): + limit = (settings.MAX_UPLOAD_SIZE * 1024 * 1024) - 100 + if value.size > limit: + raise ValidationError( + unicode(_(u'File too large. Size should not exceed {} Mo.')).format( + settings.MAX_UPLOAD_SIZE + ) + ) + + class FloatField(forms.FloatField): """ Allow the use of comma for separating float fields -- cgit v1.2.3