diff rhodecode/controllers/admin/admin.py @ 1040:8e49b6ceffe1 beta

fixes fixes fixes ! optimized queries on journal added some logging, fixed found bugs due to previous refactorings
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 13 Feb 2011 02:48:02 +0100
parents 07a6e8c65526
children 6832ef664673
line wrap: on
line diff
--- a/rhodecode/controllers/admin/admin.py	Sun Feb 13 01:38:39 2011 +0100
+++ b/rhodecode/controllers/admin/admin.py	Sun Feb 13 02:48:02 2011 +0100
@@ -26,11 +26,14 @@
 # MA  02110-1301, USA.
 
 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__)
 
@@ -43,7 +46,11 @@
     @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')