X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/7318a269ab72366670f45804328c3cb2bd23acd5..9b40768160da75802636fc2b45c1f68bd36fd7bd:/models/nodes.py?ds=sidebyside 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'