Filter menu items
[wolnelektury.git] / apps / libraries / models.py
index ff2afc0..5f92421 100644 (file)
@@ -1,10 +1,31 @@
 from django.db import models\r
 from django.utils.translation import ugettext_lazy as _\r
 \r
+\r
+class Catalog(models.Model):\r
+    """Represents a dictionary of libraries"""\r
+\r
+    name = models.CharField(_('name'), max_length = 120, null = False)\r
+    slug = models.SlugField(_('slug'), max_length = 120, unique = True, db_index = True)\r
+\r
+    class Meta:\r
+        verbose_name = _('catalog')\r
+        verbose_name_plural = _('catalogs')\r
+    \r
+    def __unicode__(self):\r
+        return self.name\r
+        \r
+    @models.permalink\r
+    def get_absolute_url(self):\r
+        return ('libraries_catalog_view', [self.slug])\r
+        \r
+        \r
 class Library(models.Model):\r
     """Represent a single library in the libraries dictionary"""\r
 \r
     name = models.CharField(_('name'), max_length = 120, blank = True)
+    slug = models.SlugField(_('slug'), max_length = 120, unique = True, db_index = True, null = True)
+    catalog = models.ForeignKey(Catalog, null = False, related_name = 'libraries', on_delete = models.PROTECT)\r
     url = models.CharField(_('url'), max_length = 120, blank = True)
     description = models.TextField(_('description'), blank = True)\r
 \r
@@ -17,4 +38,4 @@ class Library(models.Model):
 \r
     @models.permalink\r
     def get_absolute_url(self):\r
-        return ('infopage', [self.slug])\r
+        return ('libraries_library_view', [self.catalog.slug, self.slug])
\ No newline at end of file