Filter menu items
[wolnelektury.git] / apps / libraries / models.py
1 from django.db import models\r
2 from django.utils.translation import ugettext_lazy as _\r
3 \r
4 \r
5 class Catalog(models.Model):\r
6     """Represents a dictionary of libraries"""\r
7 \r
8     name = models.CharField(_('name'), max_length = 120, null = False)\r
9     slug = models.SlugField(_('slug'), max_length = 120, unique = True, db_index = True)\r
10 \r
11     class Meta:\r
12         verbose_name = _('catalog')\r
13         verbose_name_plural = _('catalogs')\r
14     \r
15     def __unicode__(self):\r
16         return self.name\r
17         \r
18     @models.permalink\r
19     def get_absolute_url(self):\r
20         return ('libraries_catalog_view', [self.slug])\r
21         \r
22         \r
23 class Library(models.Model):\r
24     """Represent a single library in the libraries dictionary"""\r
25 \r
26     name = models.CharField(_('name'), max_length = 120, blank = True)
27     slug = models.SlugField(_('slug'), max_length = 120, unique = True, db_index = True, null = True)
28     catalog = models.ForeignKey(Catalog, null = False, related_name = 'libraries', on_delete = models.PROTECT)\r
29     url = models.CharField(_('url'), max_length = 120, blank = True)
30     description = models.TextField(_('description'), blank = True)\r
31 \r
32     class Meta:\r
33         verbose_name = _('library')\r
34         verbose_name_plural = _('libraries')\r
35 \r
36     def __unicode__(self):\r
37         return self.name\r
38 \r
39     @models.permalink\r
40     def get_absolute_url(self):\r
41         return ('libraries_library_view', [self.catalog.slug, self.slug])