~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/base/views.py

  • Committer: William Grant
  • Date: 2010-02-25 03:18:21 UTC
  • Revision ID: grantw@unimelb.edu.au-20100225031821-mi9a2tm5679fht4d
Shuffle things around so that req.user and req.store only construct when actually retrieved, and ensure they're not retrieved for media files. Saves 50ms of DB connection time per request.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
    """
22
22
    Abstract base class for all view objects.
23
23
    """
 
24
 
 
25
    subpath_allowed = False
 
26
    offsite_posts_allowed = False
 
27
 
 
28
    def __init__(self, req, context, subpath=None):
 
29
        self.req = req
 
30
        self.context = context
 
31
        if self.subpath_allowed:
 
32
            self.subpath = subpath
 
33
 
24
34
    def render(self, req):
25
35
        raise NotImplementedError()
26
36
 
27
 
    def get_permissions(self, user):
28
 
        return self.context.get_permissions(user)
 
37
    def get_permissions(self, user, config):
 
38
        return self.context.get_permissions(user, config)
29
39
 
30
40
    def authorize(self, req):
31
 
        perms = self.get_permissions(req.user)
 
41
        self.perms = self.get_permissions(req.user, req.config)
32
42
 
33
 
        return self.permission is None or self.permission in perms
 
43
        return self.permission is None or self.permission in self.perms