]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/modules/ui_objects.py
Adds logging statement to when there's an error converting auth_user to forum_user...
[osqa.git] / forum / modules / ui_objects.py
index caa221fcd7c0d9c555d80c98341e1ddd621cc036..b88ea50029c5b6c12e40bd0e37ae8a9a3a0ce877 100644 (file)
@@ -89,6 +89,8 @@ class Include(ObjectBase):
         self.template = template.loader.get_template(tpl)
 
     def render(self, context):
+        if not isinstance(context, template.Context):
+            context = template.Context(context)
         return self.template.render(context)
         
 
@@ -117,17 +119,19 @@ class PageTab(LoopBase):
 
 
 class ProfileTab(LoopBase):
-    def __init__(self, name, title, description, url_getter, private=False, weight=500):
+    def __init__(self, name, title, description, url_getter, private=False, render_to=None, weight=500):
         super(ProfileTab, self).__init__(weight=weight)
         self.name = name
         self.title = title
         self.description = description
         self.url_getter = url_getter
         self.private = private
+        self.render_to = render_to
 
     def can_render(self, context):
-        return not self.private or (
-            context['view_user'] == context['request'].user or context['request'].user.is_superuser)
+        return (not self.render_to or (self.render_to(context['view_user']))) and (
+            not self.private or (
+            context['view_user'] == context['request'].user or context['request'].user.is_superuser))
 
     def update_context(self, context):        
         context.update(dict(