mirror of
https://github.com/jazzband/django-avatar.git
synced 2026-03-16 22:20:30 +00:00
Implement a max size for the avatars. Defaults to 1 megabyte for now.
This commit is contained in:
parent
470b90be4a
commit
e0654c8d57
2 changed files with 8 additions and 1 deletions
|
|
@ -15,6 +15,7 @@ AVATAR_GRAVATAR_DEFAULT = getattr(settings, 'AVATAR_GRAVATAR_DEFAULT', None)
|
|||
AVATAR_DEFAULT_URL = getattr(settings, 'AVATAR_DEFAULT_URL',
|
||||
settings.MEDIA_URL + os.path.join(os.path.dirname(__file__), 'default.jpg'))
|
||||
AVATAR_MAX_AVATARS_PER_USER = getattr(settings, 'AVATAR_MAX_AVATARS_PER_USER', 42)
|
||||
AVATAR_MAX_SIZE = getattr(settings, 'AVATAR_MAX_SIZE', 1024 * 1024)
|
||||
|
||||
from django.db.models import signals
|
||||
from django.contrib.auth.models import User
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@ from django.forms import widgets
|
|||
from django.utils.safestring import mark_safe
|
||||
|
||||
from avatar.models import Avatar
|
||||
from avatar import AVATAR_MAX_AVATARS_PER_USER
|
||||
from avatar import AVATAR_MAX_AVATARS_PER_USER, AVATAR_MAX_SIZE
|
||||
|
||||
from django.template.defaultfilters import filesizeformat
|
||||
|
||||
def avatar_img(avatar, size):
|
||||
if not avatar.thumbnail_exists(size):
|
||||
|
|
@ -21,6 +23,10 @@ class UploadAvatarForm(forms.Form):
|
|||
|
||||
def clean_avatar(self):
|
||||
data = self.cleaned_data['avatar']
|
||||
if data.size > AVATAR_MAX_SIZE:
|
||||
raise forms.ValidationError(
|
||||
"Your file is too big (%s), the maximum allowed size is %s" %
|
||||
(filesizeformat(data.size), filesizeformat(AVATAR_MAX_SIZE)))
|
||||
count = Avatar.objects.filter(user=self.user).count()
|
||||
if AVATAR_MAX_AVATARS_PER_USER > 1 and \
|
||||
count >= AVATAR_MAX_AVATARS_PER_USER:
|
||||
|
|
|
|||
Loading…
Reference in a new issue