Mercurial > kallithea
changeset 398:8c50b164fb58
Implemented basic gravatar support on admin pages only for now
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 08 Aug 2010 01:26:23 +0200 |
parents | 4cf4b82aa2a0 |
children | f5c1eec9f376 |
files | pylons_app/lib/helpers.py pylons_app/public/css/style.css pylons_app/templates/admin/users/user_edit.html pylons_app/templates/admin/users/users.html |
diffstat | 4 files changed, 42 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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
--- 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 @@ <!-- fields --> <div class="fields"> <div class="field"> + <div class="gravatar_box"> + <img alt="gravatar" src="${h.gravatar_url(c.user.email)}"/> + <p> + <strong>Change your avatar at <a href="http://gravatar.com">gravatar.com</a></strong><br/> + ${_('Using')} ${c.user.email} + </p> + </div> + </div> + + <div class="field"> <div class="label"> <label for="username">${_('Username')}:</label> </div> @@ -90,7 +100,6 @@ ${h.checkbox('admin',value=True)} </div> </div> - <div class="buttons"> ${h.submit('save','save',class_="ui-button ui-widget ui-state-default ui-corner-all")} </div>
--- 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 @@ <div class="table"> <table class="table_disp"> <tr class="header"> + <th></th> <th class="left">${_('username')}</th> <th class="left">${_('name')}</th> <th class="left">${_('lastname')}</th> @@ -39,6 +40,7 @@ %for cnt,user in enumerate(c.users_list): %if user.name !='default': <tr class="parity${cnt%2}"> + <td> <img alt="gravatar" src="${h.gravatar_url(user.email)}"> </td> <td>${h.link_to(user.username,h.url('edit_user', id=user.user_id))}</td> <td>${user.name}</td> <td>${user.lastname}</td>