Mercurial > kallithea
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 |