123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- from django.contrib.contenttypes.models import ContentType
- from django.core.urlresolvers import reverse
- from django.db import models
- class AdminURLMixin(object):
- def get_admin_url(self):
- content_type = ContentType.objects.get_for_model(self.__class__)
- return reverse("admin:%s_%s_change" % (
- content_type.app_label,
- content_type.model),
- args=(self.id,))
- class Authority(models.Model, AdminURLMixin):
- class Meta:
- ordering = ['name']
- verbose_name = 'Authorité'
- name = models.CharField(max_length=200)
- slug = models.SlugField(unique=True)
- def __str__(self):
- return self.name
- class ReferenceType(models.Model, AdminURLMixin):
- class Meta:
- ordering = ['name']
- verbose_name = 'Type de référence'
- name = models.CharField(max_length=200, verbose_name='Type de référence')
- slug = models.SlugField(unique=True)
- def __str__(self):
- return self.name
- class Reference(models.Model, AdminURLMixin):
- class Meta:
- ordering = ['issued_date']
- verbose_name = 'Référence'
- identifier = models.CharField(max_length=200, blank=True, verbose_name='Identifiant')
- number = models.CharField(max_length=200, blank=True, verbose_name='Numéro')
- authority = models.ForeignKey('Authority', null=True, help_text='L\'instance qui à produit cette référence', blank=True)
- reference_type = models.ForeignKey('ReferenceType', verbose_name='Type')
- title = models.TextField(verbose_name='Titre')
- title_short = models.TextField(verbose_name='Titre court')
- section = models.CharField(max_length=200, blank=True, verbose_name='Section')
- ecli = models.CharField(max_length=200, blank=True, verbose_name='E.C.L.I.')
- url = models.URLField(max_length=200, blank=True)
- comments = models.TextField(blank=True, verbose_name='Commentaires')
- issued_date = models.DateField(null=True, blank=True, verbose_name='Date de publication')
- disabled = models.BooleanField(default=False, verbose_name='Désactivé', help_text='Masque cette entrée lors de recherches')
- def __str__(self):
- return self.identifier + ' > ' + self.title_short
|