]> git.openstreetmap.org Git - osqa.git/commitdiff
Closes OSQA 320, True Gravatar Support.
authorhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Thu, 15 Jul 2010 11:18:45 +0000 (11:18 +0000)
committerhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Thu, 15 Jul 2010 11:18:45 +0000 (11:18 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@531 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum/settings/users.py
forum/templatetags/extra_tags.py

index 926d4140bdb987a6da550deba2d0f2907be4f6d5..2a7994283c1c6ce0fcc3074222ec9acc7745ae6d 100644 (file)
@@ -1,5 +1,6 @@
 from forms import CommaStringListWidget
 from django.forms import CheckboxSelectMultiple
+from django.forms.widgets import RadioSelect
 from base import Setting, SettingSet
 from django.utils.translation import ugettext as _
 
@@ -54,3 +55,31 @@ label=_("Warn about pending posts afer X minutes"),
 help_text=_("How much time in minutes a user that just logged in or validated his email should be warned about a pending post instead of publishing it automatically.")
 ))
 
+GRAVATAR_RATING_CHOICES = (
+    ('g', _('suitable for display on all websites with any audience type.')),
+    ('pg', _('may contain rude gestures, provocatively dressed individuals, the lesser swear words, or mild violence.')),
+    ('r', _('may contain such things as harsh profanity, intense violence, nudity, or hard drug use.')),
+    ('x', _('may contain hardcore sexual imagery or extremely disturbing violence.')),
+)
+
+GRAVATAR_ALLOWED_RATING = Setting('GRAVATAR_ALLOWED_RATING', 'g', USERS_SET, dict(
+label = _("Gravatar rating"),
+help_text = _("Gravatar allows users to self-rate their images so that they can indicate if an image is appropriate for a certain audience."),
+widget=RadioSelect,
+choices=GRAVATAR_RATING_CHOICES,
+required=False))
+
+GRAVATAR_DEFAULT_CHOICES = (
+    ('mm', _('(mystery-man) a simple, cartoon-style silhouetted outline of a person (does not vary by email hash)')),
+    ('identicon', _('a geometric pattern based on an email hash')),
+    ('monsterid', _('a generated "monster" with different colors, faces, etc')),
+    ('wavatar', _('generated faces with differing features and backgrounds')),
+)
+
+GRAVATAR_DEFAULT_IMAGE = Setting('GRAVATAR_DEFAULT_IMAGE', 'identicon', USERS_SET, dict(
+label = _("Gravatar default"),
+help_text = _("Gravatar has a number of built in options which you can also use as defaults."),
+widget=RadioSelect,
+choices=GRAVATAR_DEFAULT_CHOICES,
+required=False))
+
index 302412f93b68f4d0086aff751f72319d5af92e58..560239265e635eeeda7e68e98ac7119eb9b4e6da 100644 (file)
@@ -22,7 +22,7 @@ register = template.Library()
 
 GRAVATAR_TEMPLATE = ('<img class="gravatar" width="%(size)s" height="%(size)s" '
 'src="http://www.gravatar.com/avatar/%(gravatar_hash)s'
-'?s=%(size)s&amp;d=identicon&amp;r=PG" '
+'?s=%(size)s&amp;d=%(default)s&amp;r=%(rating)s" '
 'alt="%(username)s\'s gravatar image" />')
 
 @register.simple_tag
@@ -36,6 +36,8 @@ def gravatar(user, size):
     return mark_safe(GRAVATAR_TEMPLATE % {
     'size': size,
     'gravatar_hash': gravatar,
+    'default': settings.GRAVATAR_DEFAULT_IMAGE,
+    'rating': settings.GRAVATAR_ALLOWED_RATING,
     'username': template.defaultfilters.urlencode(username),
     })