Changeset - cc8d7d450d15
[Not reviewed]
beta
0 3 0
Marcin Kuzminski - 13 years ago 2012-07-26 22:01:41
marcin@python-works.com
No more raw html inside users controller.
We use cool mako Template features
3 files changed with 41 insertions and 22 deletions:
0 comments (0 inline, 0 general)
rhodecode/controllers/admin/users.py
Show inline comments
 
@@ -40,6 +40,7 @@ from rhodecode.lib.auth import LoginRequ
 
    AuthUser
 
from rhodecode.lib.base import BaseController, render
 

	
 
import rhodecode
 
from rhodecode.model.db import User, Permission, UserEmailMap
 
from rhodecode.model.forms import UserForm
 
from rhodecode.model.user import UserModel
 
@@ -72,34 +73,33 @@ class UsersController(BaseController):
 

	
 
        users_data = []
 
        total_records = len(c.users_list)
 
        grav_tmpl = """<div class="gravatar"><img alt="gravatar" src="%s"/> </div>"""
 
        usr_tmpl = """<a href="%s">%s</a>""" % (h.url('edit_user', id='__ID__'), '%s')
 
        usr_tmpl = usr_tmpl.replace('__ID__', '%s')
 
        edit_tmpl = '''
 
            <form action="/_admin/users/%s" method="post">
 
            <div style="display:none">
 
            <input name="_method" type="hidden" value="%s">
 
            </div>
 
            <input class="delete_icon action_button" id="remove_user_%s" 
 
            name="remove_" onclick="return confirm('%s');" 
 
            type="submit" value="delete">
 
            </form>
 
        '''
 
        _tmpl_lookup = rhodecode.CONFIG['pylons.app_globals'].mako_lookup
 
        template = _tmpl_lookup.get_template('data_table/_dt_elements.html')
 

	
 
        grav_tmpl = lambda user_email, size: (
 
                template.get_def("user_gravatar")
 
                .render(user_email, size, _=_, h=h))
 

	
 
        user_lnk = lambda user_id, username: (
 
                template.get_def("user_name")
 
                .render(user_id, username, _=_, h=h))
 

	
 
        user_actions = lambda user_id, username: (
 
                template.get_def("user_actions")
 
                .render(user_id, username, _=_, h=h))
 

	
 
        for user in c.users_list:
 
            users_data.append({
 
                "gravatar": grav_tmpl % h.gravatar_url(user.email, 24),
 
                "gravatar": grav_tmpl(user. email, 24),
 
                "raw_username": user.username,
 
                "username": usr_tmpl % (user.user_id, user.username),
 
                "username": user_lnk(user.user_id, user.username),
 
                "firstname": user.name,
 
                "lastname": user.lastname,
 
                "last_login": h.fmt_date(user.last_login),
 
                "active": h.bool2icon(user.active),
 
                "admin": h.bool2icon(user.admin),
 
                "ldap": h.bool2icon(bool(user.ldap_dn)),
 
                "action": edit_tmpl % (user.user_id, _('delete'),
 
                    user.user_id,
 
                    _('Confirm to delete this user: %s') % user.username
 
                ),
 
                "action": user_actions(user.user_id, user.username),
 
            })
 

	
 
        c.data = json.dumps({
rhodecode/templates/admin/users/users.html
Show inline comments
 
@@ -140,9 +140,6 @@
 
      clearTimeout(filterTimeout);
 
      filterTimeout = setTimeout(updateFilter,600);
 
  });  
 
  
 
  
 
  
 
</script>
 

	
 
</%def>
rhodecode/templates/data_table/_dt_elements.html
Show inline comments
 
@@ -2,6 +2,12 @@
 
## usage:
 
## <%namespace name="dt" file="/data_table/_dt_elements.html"/>
 

	
 
<%def name="repo_actions(repo_name)">
 
  ${h.form(h.url('repo', repo_name=repo_name),method='delete')}
 
    ${h.submit('remove_%s' % repo_name,_('delete'),class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this repository: %s') % repo_name+"');")}
 
  ${h.end_form()}
 
</%def>
 

	
 
<%def name="quick_menu(repo_name)">
 
  <ul class="menu_items hidden">
 
    <li style="border-top:1px solid #003367;margin-left:18px;padding-left:-99px"></li>
 
@@ -87,3 +93,19 @@
 
  %endif
 
  </div>
 
</%def>
 

	
 
<%def name="user_gravatar(email, size=24)">
 
    <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(email, size)}"/> </div>
 
</%def>
 

	
 
<%def name="user_actions(user_id, username)">
 
  ${h.form(h.url('delete_user', id=user_id),method='delete')}
 
      ${h.submit('remove_',_('delete'),id="remove_user_%s" % user_id,
 
      class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this user: %s') % username+"');")}
 
  ${h.end_form()}
 
</%def>
 

	
 
<%def name="user_name(user_id, username)">
 
    ${h.link_to(username,h.url('edit_user', id=user_id))}
 
</%def>
 

	
0 comments (0 inline, 0 general)