comparison 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
comparison
equal deleted inserted replaced
1039:51b70569c330 1040:8e49b6ceffe1
24 # along with this program; if not, write to the Free Software 24 # along with this program; if not, write to the Free Software
25 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 25 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
26 # MA 02110-1301, USA. 26 # MA 02110-1301, USA.
27 27
28 import logging 28 import logging
29
29 from pylons import request, tmpl_context as c 30 from pylons import request, tmpl_context as c
31 from sqlalchemy.orm import joinedload
32 from webhelpers.paginate import Page
33
34 from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator
30 from rhodecode.lib.base import BaseController, render 35 from rhodecode.lib.base import BaseController, render
31 from rhodecode.model.db import UserLog 36 from rhodecode.model.db import UserLog
32 from webhelpers.paginate import Page
33 from rhodecode.lib.auth import LoginRequired, HasPermissionAllDecorator
34 37
35 log = logging.getLogger(__name__) 38 log = logging.getLogger(__name__)
36 39
37 class AdminController(BaseController): 40 class AdminController(BaseController):
38 41
41 super(AdminController, self).__before__() 44 super(AdminController, self).__before__()
42 45
43 @HasPermissionAllDecorator('hg.admin') 46 @HasPermissionAllDecorator('hg.admin')
44 def index(self): 47 def index(self):
45 48
46 users_log = self.sa.query(UserLog).order_by(UserLog.action_date.desc()) 49 users_log = self.sa.query(UserLog)\
50 .options(joinedload(UserLog.user))\
51 .options(joinedload(UserLog.repository))\
52 .order_by(UserLog.action_date.desc())
53
47 p = int(request.params.get('page', 1)) 54 p = int(request.params.get('page', 1))
48 c.users_log = Page(users_log, page=p, items_per_page=10) 55 c.users_log = Page(users_log, page=p, items_per_page=10)
49 c.log_data = render('admin/admin_log.html') 56 c.log_data = render('admin/admin_log.html')
50 if request.params.get('partial'): 57 if request.params.get('partial'):
51 return c.log_data 58 return c.log_data