comparison pylons_app/controllers/admin.py @ 305:61be6dcd49a0

protected admin controllers
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 28 Jun 2010 23:28:31 +0200
parents 3782a6d698af
children
comparison
equal deleted inserted replaced
304:14478d989870 305:61be6dcd49a0
26 from pylons import request, response, session, tmpl_context as c 26 from pylons import request, response, session, tmpl_context as c
27 from pylons_app.lib.base import BaseController, render 27 from pylons_app.lib.base import BaseController, render
28 from pylons_app.model import meta 28 from pylons_app.model import meta
29 from pylons_app.model.db import UserLog 29 from pylons_app.model.db import UserLog
30 from webhelpers.paginate import Page 30 from webhelpers.paginate import Page
31 from pylons_app.lib.auth import LoginRequired 31 from pylons_app.lib.auth import LoginRequired, HasPermissionAllDecorator
32 32
33 log = logging.getLogger(__name__) 33 log = logging.getLogger(__name__)
34 34
35 class AdminController(BaseController): 35 class AdminController(BaseController):
36 36
37 @LoginRequired() 37 @LoginRequired()
38 def __before__(self): 38 def __before__(self):
39 user = session['hg_app_user']
40 c.admin_user = user.is_admin
41 c.admin_username = user.username
42 super(AdminController, self).__before__() 39 super(AdminController, self).__before__()
43 40
41 @HasPermissionAllDecorator('hg.admin')
44 def index(self): 42 def index(self):
45 sa = meta.Session 43 sa = meta.Session
46 44
47 users_log = sa.query(UserLog).order_by(UserLog.action_date.desc()) 45 users_log = sa.query(UserLog).order_by(UserLog.action_date.desc())
48 p = int(request.params.get('page', 1)) 46 p = int(request.params.get('page', 1))