Beispiel #1
0
 def has_permission(self, request = None, page = None, obj = None):
     '''Check if view can be displayed.
     '''
     if request and page:
         return has_permission(request.user,get_view_permission(page),page)
     else:
         return True
Beispiel #2
0
    def render(self, djp, plugin = None, wrapper = None):
        '''Render the plugin in the content block
This function call the plugin render function and wrap the resulting HTML
with the wrapper callable.'''
        html = ''
        try:
            plugin  = plugin or self.plugin
            wrapper = wrapper or self.wrapper
            if plugin:
                if has_permission(djp.request.user,get_view_permission(self), self):
                    djp.media += plugin.media
                    html = plugin(djp, self.arguments, wrapper = wrapper)
        except Exception, e:
            if getattr(djp.settings,'TESTING',False):
                raise
            exc_info = sys.exc_info()
            self.logger.error('%s - block %s -- %s' % (plugin,self,e),
                exc_info=exc_info,
                extra={'request':djp.request}
            )
            if djp.request.user.is_superuser:
                html = escape(u'%s' % e)
Beispiel #3
0
 def add_view_permission(self, obj, users = None, groups = None):
     '''Add a view permission to *groups* and/or *users* for object *obj*'''
     code = get_view_permission(obj)
     pe = self._get_permission(obj, code, True)
     self._add_permission(pt,obj,users,groups)
Beispiel #4
0
 def set_view_permission(self, obj, users = None, groups = None):
     code = get_view_permission(obj)
     pe = self._get_permission(obj, code, True)
     self.filter(content_id = obj.pk, permission = pe).delete()
     self._add_permission(pe, obj, users, groups)