+
+
+class ProfileTab(LoopBase):
+ 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.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(
+ tab_name=self.name,
+ tab_title=self.title,
+ tab_description = self.description,
+ tab_url=self.url_getter(context['view_user'])
+ ))
\ No newline at end of file