Added `FileExtensionValidator` to logo and favicon fields. #112

pull/126/head
Fabio Caccamo 2021-04-23 14:53:02 +02:00
parent 30af685edf
commit 66966501f8
1 changed files with 9 additions and 0 deletions

View File

@ -7,6 +7,11 @@ from admin_interface.cache import del_cached_active_theme
from colorfield.fields import ColorField from colorfield.fields import ColorField
import django import django
if django.VERSION >= (1, 11):
from django.core.validators import FileExtensionValidator
else:
FileExtensionValidator = lambda allowed_extensions: None
from django.db import models from django.db import models
from django.db.models.signals import post_delete, post_save, pre_save from django.db.models.signals import post_delete, post_save, pre_save
if django.VERSION < (2, 0): if django.VERSION < (2, 0):
@ -99,6 +104,8 @@ class Theme(models.Model):
logo = models.FileField( logo = models.FileField(
upload_to='admin-interface/logo/', upload_to='admin-interface/logo/',
blank=True, blank=True,
validators=[FileExtensionValidator(
allowed_extensions=['gif', 'jpg', 'jpeg', 'png', 'svg'])],
help_text=_('Leave blank to use the default Django logo'), help_text=_('Leave blank to use the default Django logo'),
verbose_name=_('logo')) verbose_name=_('logo'))
logo_color = ColorField( logo_color = ColorField(
@ -114,6 +121,8 @@ class Theme(models.Model):
favicon = models.FileField( favicon = models.FileField(
upload_to='admin-interface/favicon/', upload_to='admin-interface/favicon/',
blank=True, blank=True,
validators=[FileExtensionValidator(
allowed_extensions=['gif', 'ico', 'jpg', 'jpeg', 'png', 'svg'])],
help_text=_('(.ico|.png|.gif - 16x16|32x32 px)'), help_text=_('(.ico|.png|.gif - 16x16|32x32 px)'),
verbose_name=_('favicon')) verbose_name=_('favicon'))