Merge branch 'melinath'
[philo.git] / models.py
index 6be9951..c17cd70 100644 (file)
--- a/models.py
+++ b/models.py
@@ -19,7 +19,7 @@ from django.template.loader import get_template
 from django.http import Http404, HttpResponse, HttpResponseServerError, HttpResponseRedirect
 from django.core.servers.basehttp import FileWrapper
 from django.conf import settings
-from philo.validators import URLRedirectValidator
+from philo.validators import RedirectValidator
 
 
 def register_value_model(model):
@@ -220,10 +220,10 @@ class InheritableTreeEntity(TreeEntity):
                        return None
        
        def get_path(self, pathsep='/', field='slug'):
-               path = getattr(self.instance, field, '?')
+               path = getattr(self.instance, field, getattr(self.instance, 'slug', '?'))
                parent = self.parent
                while parent:
-                       path = getattr(parent.instance, field, '?') + pathsep + path
+                       path = getattr(parent.instance, field, getattr(parent.instance, 'slug', '?')) + pathsep + path
                        parent = parent.parent
                return path
        path = property(get_path)
@@ -276,16 +276,13 @@ class Redirect(Node):
                (302, 'Temporary'),
                (301, 'Permanent'),
        )
-       target = models.CharField(max_length=200,validators=[URLRedirectValidator()])
+       target = models.CharField(max_length=200,validators=[RedirectValidator()])
        status_code = models.IntegerField(choices=STATUS_CODES, default=302, verbose_name='redirect type')
        
        def render_to_response(self, request, path=None, subpath=None):
                response = HttpResponseRedirect(self.target)
                response.status_code = self.status_code
                return response
-       
-       def __unicode__(self):
-               return self.slug
 
 
 class File(Node):