]> git.parisson.com Git - mezzo.git/commitdiff
Add custom displayble url
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 29 Aug 2016 15:36:32 +0000 (17:36 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 29 Aug 2016 15:36:32 +0000 (17:36 +0200)
app/organization/core/models.py
app/organization/core/urls.py
app/organization/core/views.py

index c77628b8d9d567dcc753dfd1f532aeb1ae107e61..9bae0c5c80224fca051d6f9fb6984248048cd524 100644 (file)
@@ -184,6 +184,10 @@ class CustomDisplayable(Displayable):
     class Meta:
         verbose_name = _('custom displayable')
 
+    def get_absolute_url(self):
+        return reverse("organization-displayable", kwargs={"slug": self.slug})
+
+
 
 class DisplayableBlock(Block):
 
index db08f17a41b34c1867bd2dfc2930591d6e05967d..da6317a1f546bd091d6984b67d1362a6f0fddd3c 100644 (file)
@@ -7,5 +7,8 @@ from django.conf.urls.i18n import i18n_patterns
 from mezzanine.core.views import direct_to_template
 from mezzanine.conf import settings
 
+from organization.core.views import *
+
 urlpatterns = [
+    url(r'^displayable/(?P<slug>.*)/$', CustomDisplayableView.as_view(), name="organization-displayable"),
 ]
index a0d7ec1946948f25066f021d7e232608b2af1520..2494d8a9ee74c2c939f4422a1874ce3e73a52bf3 100644 (file)
@@ -3,8 +3,16 @@ from django.http import Http404
 from django.views.generic.base import View
 from django.views.generic import DetailView, ListView, TemplateView
 
+from organization.core.models import *
+
+
 class SlugMixin(object):
 
     def get_object(self):
         objects = self.model.objects.all()
         return get_object_or_404(objects, slug=self.kwargs['slug'])
+
+
+class CustomDisplayableView(SlugMixin, DetailView):
+
+    model = CustomDisplayable