Changeset - 8c50b164fb58
[Not reviewed]
default
0 4 0
Marcin Kuzminski - 15 years ago 2010-08-08 01:26:23
marcin@python-works.com
Implemented basic gravatar support on admin pages only for now
4 files changed with 42 insertions and 3 deletions:
0 comments (0 inline, 0 general)
pylons_app/lib/helpers.py
Show inline comments
 
@@ -277,8 +277,6 @@ flash = _Flash()
 
#===============================================================================
 
# MERCURIAL FILTERS available via h.
 
#===============================================================================
 

	
 

	
 
from mercurial import util
 
from mercurial.templatefilters import age as _age, person as _person
 

	
 
@@ -302,4 +300,24 @@ time_ago = lambda x: util.datestr(_age(x
 
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
pylons_app/public/css/style.css
Show inline comments
 
@@ -1899,6 +1899,7 @@ div.form div.fields div.buttons input
 
    padding: 5px;
 
	background: #ffffff;
 
    border-bottom: 1px solid #cdcdcd;
 
    vertical-align:middle;
 
}
 
 
#content div.box table tr.selected td
 
@@ -3442,6 +3443,15 @@ table#permissions_manage tr#add_perm_inp
 
 
}
 
 
/* -----------------------------------------------------------
 
    GRAVATARS
 
----------------------------------------------------------- */
 
.gravatar_box img{
 
 	float:left;
 
 	padding-right: 5px;
 
 	padding-top:3px;
 
}
 
 
 
/* -----------------------------------------------------------
 
	jquery ui
pylons_app/templates/admin/users/user_edit.html
Show inline comments
 
@@ -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>             
pylons_app/templates/admin/users/users.html
Show inline comments
 
@@ -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>
0 comments (0 inline, 0 general)