X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/a10d536d08f92d270e9ddcb240b7eded89d0e707..0f1b0f543695cc02b2587d22a7da223eeb705022:/models/nodes.py?ds=inline diff --git a/models/nodes.py b/models/nodes.py index 56cbb12..23be42b 100644 --- a/models/nodes.py +++ b/models/nodes.py @@ -10,7 +10,7 @@ from inspect import getargspec from philo.models.base import TreeEntity, Entity, QuerySetMapper, register_value_model from philo.utils import ContentTypeSubclassLimiter from philo.validators import RedirectValidator -from philo.exceptions import ViewDoesNotProvideSubpaths +from philo.exceptions import ViewDoesNotProvideSubpaths, AncestorDoesNotExist _view_content_type_limiter = ContentTypeSubclassLimiter(None) @@ -30,6 +30,13 @@ class Node(TreeEntity): def render_to_response(self, request, path=None, subpath=None, extra_context=None): return self.view.render_to_response(self, request, path, subpath, extra_context) + def get_absolute_url(self): + root = Site.objects.get_current().root_node + try: + return '/%s' % self.get_path(root=root) + except AncestorDoesNotExist: + return None + class Meta: app_label = 'philo'