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