From 775a4f36cf9d00101d6bb62c574f788b5ed1d2ab Mon Sep 17 00:00:00 2001 From: Jean-Baptiste <bleme@pm.me> Date: Wed, 20 Feb 2019 14:49:59 +0100 Subject: [PATCH] update: auto set container_path if subclass doesn't define it --- djangoldp/models.py | 2 ++ djangoldp/tests/models.py | 1 - djangoldp/tests/tests_ldp_model.py | 8 ++++---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/djangoldp/models.py b/djangoldp/models.py index f63ffd4b..0bef4dcf 100644 --- a/djangoldp/models.py +++ b/djangoldp/models.py @@ -27,6 +27,8 @@ class Model(models.Model): def container_id(cls, instance): if isinstance(instance, cls): path = instance.container_path + if path is None: + path = "{}s".format(instance._meta.object_name.lower()) else: view_name = '{}-list'.format(instance._meta.object_name.lower()) path = get_resolver().reverse(view_name) diff --git a/djangoldp/tests/models.py b/djangoldp/tests/models.py index 2622673f..a68a803c 100644 --- a/djangoldp/tests/models.py +++ b/djangoldp/tests/models.py @@ -31,5 +31,4 @@ class Dummy(models.Model): class LDPDummy(Model): some = models.CharField(max_length=255, blank=True, null=True) - container_path = "ldp-dummys" diff --git a/djangoldp/tests/tests_ldp_model.py b/djangoldp/tests/tests_ldp_model.py index 56bbe552..6400378c 100644 --- a/djangoldp/tests/tests_ldp_model.py +++ b/djangoldp/tests/tests_ldp_model.py @@ -15,10 +15,10 @@ class LDPModelTest(TestCase): def test_class_inheriting_ldp_model(self): dummy = LDPDummy.objects.create(some="text") - self.assertEquals("/ldp-dummys/", dummy.get_container_id()) - self.assertEquals("/ldp-dummys/{}".format(dummy.pk), dummy.get_absolute_url()) - self.assertEquals("/ldp-dummys/", Model.container_id(dummy)) - self.assertEquals("/ldp-dummys/{}".format(dummy.pk), Model.resource_id(dummy)) + self.assertEquals("/ldpdummys/", dummy.get_container_id()) + self.assertEquals("/ldpdummys/{}".format(dummy.pk), dummy.get_absolute_url()) + self.assertEquals("/ldpdummys/", Model.container_id(dummy)) + self.assertEquals("/ldpdummys/{}".format(dummy.pk), Model.resource_id(dummy)) def test_from_resolve_id(self): saved_instance = Dummy.objects.create(some="text") -- GitLab