PageRenderTime 18ms CodeModel.GetById 14ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/shabti/templates/humanoid/+package+/controllers/demo.py_tmpl

https://bitbucket.org/gawel/shabti
Unknown | 48 lines | 36 code | 12 blank | 0 comment | 0 complexity | 12556dc180321f7d049c8b14de1ffe75 MD5 | raw file
 1# -*- coding: utf-8 -*-
 2import logging
 3
 4from pylons import request, tmpl_context as c
 5
 6from {{package}}.lib.base import BaseController, render
 7
 8log = logging.getLogger(__name__)
 9
10from {{package}}.model import *
11from {{package}}.lib import auth
12from {{package}}.lib.decorators import authorize
13from {{package}}.lib.auth.permissions import SignedIn
14
15class DemoController(BaseController):
16
17    # Need to protect an entire controller?
18    # Decorating __before__ protects all actions
19    
20    # @authorize(SignedIn())
21    def __before__(self):
22        pass
23    
24
25    def index(self):
26        c.users = meta.Session.query(User).all()
27        c.groups = meta.Session.query(Group).all()
28        c.permissions = meta.Session.query(Permission).all()
29        # If signed in, get details
30        c.user = auth.get_user()
31        c.title = 'Public'
32        return render('test.mako')
33    
34
35    # Need to protect just a single action?
36    # Do it like this ....
37    @authorize(SignedIn())
38    def privindex(self):
39        c.users = meta.Session.query(User).all()
40        c.groups = meta.Session.query(Group).all()
41        c.permissions = meta.Session.query(Permission).all()
42        # Use this for obviousness
43        # c.user = auth.get_user()
44        # or this for directness
45        c.user = request.environ['AUTH_USER']
46        c.title = 'Private'
47        return render('test.mako')
48