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
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)
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)
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)