This commit is contained in:
Oliver Falk
2018-10-10 10:14:30 +02:00
4 changed files with 17 additions and 1 deletions

View File

@@ -20,6 +20,7 @@ urlpatterns = [ # pylint: disable=invalid-name
url(
r'avatar/(?P<digest>\w{32})',
AvatarImageView.as_view(), name='avatar_view'),
url('description/', TemplateView.as_view(template_name='description.html'), name='description'),
url('security/', TemplateView.as_view(template_name='security.html'), name='security'),
url('contact/', TemplateView.as_view(template_name='contact.html'), name='contact'),
path('talk_to_us/', RedirectView.as_view(url='/contact'), name='talk_to_us'),

View File

@@ -13,6 +13,8 @@ from ivatar.settings import AVATAR_MAX_SIZE, JPEG_QUALITY
from . ivataraccount.models import ConfirmedEmail, ConfirmedOpenId
from . ivataraccount.models import pil_format
from monsterid.id import build_monster
class AvatarImageView(TemplateView):
'''
@@ -34,7 +36,7 @@ class AvatarImageView(TemplateView):
if 'd' in request.GET:
default = request.GET['d']
if 'default' in request.GET:
default = request.GET['d']
default = request.GET['default']
if 'f' in request.GET:
if request.GET['f'] == 'y':
@@ -80,6 +82,14 @@ class AvatarImageView(TemplateView):
if default:
if str(default) == str(404):
return HttpResponseNotFound(_('<h1>Image not found</h1>'))
if str(default) == 'monsterid':
monsterdata = build_monster(seed=kwargs['digest'], size=(size, size))
data = BytesIO()
monsterdata.save(data, 'PNG', quality=JPEG_QUALITY)
data.seek(0)
return HttpResponse(
data,
content_type='image/png')
return HttpResponseRedirect(default)
static_img = path.join('static', 'img', 'mm', '%s%s' % (str(size), '.png'))

View File

@@ -31,3 +31,6 @@ yapf
django-anymail[mailgun]
mysqlclient
psycopg2
notsetuptools
git+https://github.com/ofalk/monsterid.git
git+https://github.com/azaghal/pydenticon.git

View File

@@ -12,7 +12,9 @@
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
{% if request.user.is_authenticated %}
<li><a href="{% url 'profile' %}"><i class="fa fa-image" aria-hidden="true"></i> {% trans 'Profile' %}</a></li>
<!--
<li><a href="{% url 'user_preference' %}"><i class="fa fa-cog" aria-hidden="true"></i> {% trans 'Preferences' %}</a></li>
-->
<li><a href="{% url 'import_photo' %}"><i class="fa fa-envelope-square" aria-hidden="true"></i> {% trans 'Import photo via mail address' %}</a></li>
<li><a href="{% url 'upload_export' %}"><i class="fa fa-file-archive-o" aria-hidden="true"></i> {% trans 'Import libravatar XML export' %}</a></li>
<li><a href="{% url 'logout' %}"><i class="fa fa-sign-out" aria-hidden="true"></i> {% trans 'Logout' %}</a></li>