diff --git a/.travis.yml b/.travis.yml index 651a613..e268fc7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: python +sudo: false python: - "2.7" @@ -15,8 +16,6 @@ matrix: - python: "3.5" env: "DJANGO_VERSION=1.7.11" -sudo: false - install: - pip install pyflakes pep8 coverage python-coveralls moto - pip install django-celery diff --git a/bakery/tests/__init__.py b/bakery/tests/__init__.py index 8b3ea10..9504264 100644 --- a/bakery/tests/__init__.py +++ b/bakery/tests/__init__.py @@ -37,6 +37,7 @@ def get_absolute_url(self): class MockDetailView(views.BuildableDetailView): model = MockObject + slug_field = "the_slug" template_name = 'detailview.html' @@ -148,6 +149,7 @@ def test_detail_view(self): ) self.assertTrue(os.path.exists(build_path)) v.unbuild_object(o) + self.assertTrue(v.kwargs['slug'] == v.kwargs['the_slug']) def test_redirect_view(self): v = views.BuildableRedirectView( diff --git a/bakery/views.py b/bakery/views.py index a014bf9..093195c 100644 --- a/bakery/views.py +++ b/bakery/views.py @@ -186,9 +186,13 @@ def get_build_path(self, obj): return os.path.join(path, 'index.html') def set_kwargs(self, obj): + slug_field = self.get_slug_field() self.kwargs = { 'pk': getattr(obj, 'pk', None), - 'slug': getattr(obj, self.get_slug_field(), None), + slug_field: getattr(obj, slug_field, None), + # Also alias the slug_field to the key `slug` + # so it can work for people who just toss that in + 'slug': getattr(obj, slug_field, None), } def build_object(self, obj):