diff --git a/rhodecode/controllers/admin/admin.py b/rhodecode/controllers/admin/admin.py --- a/rhodecode/controllers/admin/admin.py +++ b/rhodecode/controllers/admin/admin.py @@ -4,10 +4,10 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Controller for Admin panel of Rhodecode - + :created_on: Apr 7, 2010 :author: marcink - :copyright: (C) 2009-2010 Marcin Kuzminski + :copyright: (C) 2009-2011 Marcin Kuzminski :license: GPLv3, see COPYING for more details. """ # This program is free software: you can redistribute it and/or modify @@ -24,14 +24,18 @@ # along with this program. If not, see . import logging + from pylons import request, tmpl_context as c +from sqlalchemy.orm import joinedload +from webhelpers.paginate import Page + +from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator from rhodecode.lib.base import BaseController, render from rhodecode.model.db import UserLog -from webhelpers.paginate import Page -from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator log = logging.getLogger(__name__) + class AdminController(BaseController): @LoginRequired() @@ -41,11 +45,15 @@ class AdminController(BaseController): @HasPermissionAllDecorator('hg.admin') def index(self): - users_log = self.sa.query(UserLog).order_by(UserLog.action_date.desc()) + users_log = self.sa.query(UserLog)\ + .options(joinedload(UserLog.user))\ + .options(joinedload(UserLog.repository))\ + .order_by(UserLog.action_date.desc()) + p = int(request.params.get('page', 1)) c.users_log = Page(users_log, page=p, items_per_page=10) c.log_data = render('admin/admin_log.html') - if request.params.get('partial'): + + if request.environ.get('HTTP_X_PARTIAL_XHR'): return c.log_data return render('admin/admin.html') -