# HG changeset patch # User Marcin Kuzminski # Date 1281223583 -7200 # Node ID 8c50b164fb587d7be0189494b89c2ca17f8f8314 # Parent 4cf4b82aa2a00f4a6e926f628f0c17c3a1dc6f99 Implemented basic gravatar support on admin pages only for now diff -r 4cf4b82aa2a0 -r 8c50b164fb58 pylons_app/lib/helpers.py --- a/pylons_app/lib/helpers.py Sat Aug 07 22:08:31 2010 +0200 +++ b/pylons_app/lib/helpers.py Sun Aug 08 01:26:23 2010 +0200 @@ -277,8 +277,6 @@ #=============================================================================== # MERCURIAL FILTERS available via h. #=============================================================================== - - from mercurial import util from mercurial.templatefilters import age as _age, person as _person @@ -302,4 +300,24 @@ from pylons_app.lib.auth import HasPermissionAny, HasPermissionAll, \ HasRepoPermissionAny, HasRepoPermissionAll +#=============================================================================== +# GRAVATAR URL +#=============================================================================== +import hashlib +import urllib +def gravatar_url(email): + ssl_enabled = 'https' == request.environ.get('HTTP_X_URL_SCHEME') + default = 'identicon' + size = 32 + baseurl_nossl = "http://www.gravatar.com/avatar/" + baseurl_ssl = "https://secure.gravatar.com/avatar/" + + baseurl = baseurl_ssl if ssl_enabled else baseurl_nossl + + + # construct the url + gravatar_url = baseurl + hashlib.md5(email.lower()).hexdigest() + "?" + gravatar_url += urllib.urlencode({'d':default, 's':str(size)}) + + return gravatar_url diff -r 4cf4b82aa2a0 -r 8c50b164fb58 pylons_app/public/css/style.css --- a/pylons_app/public/css/style.css Sat Aug 07 22:08:31 2010 +0200 +++ b/pylons_app/public/css/style.css Sun Aug 08 01:26:23 2010 +0200 @@ -1899,6 +1899,7 @@ padding: 5px; background: #ffffff; border-bottom: 1px solid #cdcdcd; + vertical-align:middle; } #content div.box table tr.selected td @@ -3442,6 +3443,15 @@ } +/* ----------------------------------------------------------- + GRAVATARS +----------------------------------------------------------- */ +.gravatar_box img{ + float:left; + padding-right: 5px; + padding-top:3px; +} + /* ----------------------------------------------------------- jquery ui diff -r 4cf4b82aa2a0 -r 8c50b164fb58 pylons_app/templates/admin/users/user_edit.html --- a/pylons_app/templates/admin/users/user_edit.html Sat Aug 07 22:08:31 2010 +0200 +++ b/pylons_app/templates/admin/users/user_edit.html Sun Aug 08 01:26:23 2010 +0200 @@ -29,6 +29,16 @@
+
+ gravatar +

+ Change your avatar at gravatar.com
+ ${_('Using')} ${c.user.email} +

+
+
+ +
@@ -90,7 +100,6 @@ ${h.checkbox('admin',value=True)}
-
${h.submit('save','save',class_="ui-button ui-widget ui-state-default ui-corner-all")}
diff -r 4cf4b82aa2a0 -r 8c50b164fb58 pylons_app/templates/admin/users/users.html --- a/pylons_app/templates/admin/users/users.html Sat Aug 07 22:08:31 2010 +0200 +++ b/pylons_app/templates/admin/users/users.html Sun Aug 08 01:26:23 2010 +0200 @@ -29,6 +29,7 @@
+ @@ -39,6 +40,7 @@ %for cnt,user in enumerate(c.users_list): %if user.name !='default': +
${_('username')} ${_('name')} ${_('lastname')}
gravatar ${h.link_to(user.username,h.url('edit_user', id=user.user_id))} ${user.name} ${user.lastname}