X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/b148ca4096bd2154e3c9b2d9f1cda7ef31c346db..62dd9e5158192a70f6b1ecef5eb9e85524f175c6:/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'