Example #1
0
 def get_absolute_url(self):
     """
     Django permalink
     """
     if getters.use_slugs_for_url():
         return ("sodes_single", [str(self.slug)])
     else:
         return ("sodes_single", [str(self.category.slug), str(self.chronology)])
Example #2
0
    def test_urls_404(self):
        """
        Test correct 404s based on settings
        """
        base_url = reverse("sodes.views.index")
        cat_url = "%s%s/%s/" % (base_url, self.sode.category.slug, self.sode.chronology)
        slug_url = "%s%s/" % (base_url, self.sode.slug)

        if getters.use_slugs_for_url():
            response = self.client.get(slug_url)
            self.assertEquals(response.status_code, 200)
            response = self.client.get(cat_url)
            self.assertEquals(response.status_code, 404)
        else:
            response = self.client.get(slug_url)
            self.assertEquals(response.status_code, 404)
            response = self.client.get(cat_url)
            self.assertEquals(response.status_code, 200)
Example #3
0
 def test_urls_no_reverse(self):
     """
     URL conf for single sode should change based on settings
     """
     if getters.use_slugs_for_url():
         with self.assertRaises(NoReverseMatch):
             reverse(
                 "sodes.views.single_by_category",
                 kwargs={"category": self.sode.category.slug, "chronology": self.sode.chronology},
             )
         reverse("sodes.views.single_by_slug", kwargs={"slug": self.sode.slug})
     else:
         with self.assertRaises(NoReverseMatch):
             reverse("sodes.views.single_by_slug", kwargs={"slug": self.sode.slug})
         reverse(
             "sodes.views.single_by_category",
             kwargs={"category": self.sode.category.slug, "chronology": self.sode.chronology},
         )
Example #4
0
"""
url confs for sodes
"""

from django.conf.urls.defaults import *

from sodes.util.getters import use_slugs_for_url

urlpatterns = patterns('sodes.views',
    url(r'^$', 'index', {"template_name": "sodes/index.html"}, name="sodes_index"),
    url(r'^archives/(?P<year>\d+)/(?P<month>\d+)/$', 'archive', {"template_name": "sodes/archive.html"}, name="sodes_archive"),
)

if use_slugs_for_url():
    urlpatterns += patterns('sodes.views',
        url(r'^(?P<slug>[\w\-]+)/$', 'single_by_slug', {"template_name": "sodes/single.html"}, name="sodes_single"),
    )
else:
    urlpatterns += patterns('sodes.views',
        url(r'^(?P<category>[\w\-]+)/(?P<chronology>[\w\-]+)/$', 'single_by_category', {"template_name": "sodes/single.html"}, name="sodes_single"),
    )