new file: news/__init__.py
[univ_ap.git] / news / models.py
1 #-*- coding: utf-8 -*-
2 from django.db import models
3 from tinymce.models import HTMLField
4 from basemodel.models import Pays
5 import time
6
7
8
9 # Create your models here.
10
11
12 class Categorie(models.Model):
13 titre = models.CharField(max_length=100)
14 description = models.CharField(max_length=255)
15 def __unicode__(self):
16 return self.titre
17
18
19
20 class Tags(models.Model):
21 tag = models.CharField(max_length=150)
22 frequence = models.IntegerField()
23 def __unicode__(self):
24 return self.tag
25 class Meta:
26 ordering = ["tag"]
27 verbose_name_plural = "Tags"
28
29 class CategorieDossier(models.Model):
30 titre = models.CharField(max_length=250)
31 description = models.CharField(max_length=250)
32 def __unicode__(self):
33 return self.titre
34
35 class News(models.Model):
36 def renommage(instance, nom):
37 #return 'pdf/pdf_'+str(int(round(time.time() * 1000))) +'.'+nom.split('.')[-1]
38 return 'pdf/pdf_'+str(int(round(time.time() * 1000))) +'.'+nom
39 PUBLICATION = (
40 (u'Publié', 'Publié'),
41 ('Brouillon', 'Brouillon'),
42 ('A valider', 'A valider'),
43 )
44 titre = models.CharField(max_length=255)
45 source = models.CharField(max_length=255, null = True, blank=True)
46 auteur = models.CharField(max_length=100)
47 extrait_contenu = models.TextField()
48 slug = models.SlugField(max_length=100)
49 alaune = models.BooleanField(verbose_name="A la une")
50 contenu = models.TextField(null=True, blank=True)
51 lien_vers_site = models.CharField(max_length=500,verbose_name = "Lien URL",null = True, blank=True)
52 images = models.ImageField(upload_to="images_upload/", null = True, blank=True)
53 date_creation = models.DateTimeField(auto_now_add=True, auto_now=False, verbose_name="Date publication")
54 date_modification = models.DateTimeField(auto_now_add=True, auto_now=True, verbose_name="Date de modification")
55 categorie_dossier = models.ForeignKey('CategorieDossier',null = True, blank=True)
56 categorie = models.ForeignKey('Categorie')
57 statut = models.CharField(max_length="20", choices = PUBLICATION)
58 pays = models.ForeignKey('basemodel.Pays',null = True, blank=True)
59 date_debut = models.DateField(verbose_name="Date de début de l'évenement")
60 date_fin = models.DateField(verbose_name="Date de fin de l'évenement", null = True, blank=True)
61 #date_evenement = models.DateTimeField(verbose_name="Date de l'évenement", null = True, blank=True)
62 tags = models.ManyToManyField(Tags, null = True, blank=True)
63 type_news = models.BooleanField(verbose_name="Interne")
64 user = models.CharField(max_length=100)
65 titre_fichier1 = models.CharField(max_length=250,null = True, blank=True)
66 fichier1 = models.FileField(upload_to=renommage, null = True, blank=True)
67 titre_fichier2 = models.CharField(max_length=250,null = True, blank=True)
68 fichier2 = models.FileField(upload_to=renommage, null = True, blank=True)
69 titre_fichier3 = models.CharField(max_length=250,null = True, blank=True)
70 fichier3 = models.FileField(upload_to=renommage, null = True, blank=True)
71 titre_fichier4 = models.CharField(max_length=250, null = True, blank=True)
72 fichier4 = models.FileField(upload_to=renommage, null = True, blank=True)
73 titre_fichier5 = models.CharField(max_length=250, null = True, blank=True)
74 fichier5 = models.FileField(upload_to=renommage, null = True, blank=True)
75 titre_fichier6 = models.CharField(max_length=250,null = True, blank=True)
76 fichier6 = models.FileField(upload_to=renommage, null = True, blank=True)
77 titre_fichier7 = models.CharField(max_length=250,null = True, blank=True)
78 fichier7 = models.FileField(upload_to=renommage, null = True, blank=True)
79 titre_fichier8 = models.CharField(max_length=250,null = True, blank=True)
80 fichier8 = models.FileField(upload_to=renommage, null = True, blank=True)
81 titre_fichier9 = models.CharField(max_length=250, null = True, blank=True)
82 fichier9 = models.FileField(upload_to=renommage, null = True, blank=True)
83 titre_fichier10 = models.CharField(max_length=250, null = True, blank=True)
84 fichier10 = models.FileField(upload_to=renommage, null = True, blank=True)
85
86 class Meta:
87 ordering = ["-date_modification"]
88 verbose_name_plural = "News"
89
90 def __unicode__(self):
91 return self.titre
92
93
94
95
96
97
98 class Tagsnews(models.Model):
99 tag = models.ForeignKey(Tags)
100 news = models.ForeignKey(News)
101 class Meta:
102 verbose_name_plural = "Tagsnews"
103