Portail captif
[ongolaboy.git] / projets_django / bacgl_django / messagerie / models.py
1 # -*- coding: utf-8 -*-
2
3 from django.db import models
4
5 CHOIX_BINAIRE = (
6 (1, "Actif"),
7 (0, "Inactif"),
8 )
9
10 DOMAINE = (
11 ("cm.auf.org","Cameroun"),
12 ("td.auf.org","Tchad"),
13 ("cf.auf.org","Centrafrique"),
14 ("ga.auf.org","Gabon"),
15 ("cg.auf.org","Congo"),
16 ("cd.auf.org","République Démocratique du Congo"),
17 ("bi.auf.org","Burundi"),
18 )
19
20 class Auth(models.Model):
21 """
22 Informations sur l'authentification des utilisateurs
23 """
24
25 user = models.CharField(max_length=384)
26 password = models.CharField(max_length=384)
27 actif = models.IntegerField(choices=CHOIX_BINAIRE,default=1)
28 expire = models.IntegerField(choices=CHOIX_BINAIRE,default=0)
29 source = models.CharField(max_length=192,default='LOCAL')
30
31 class Meta:
32 ordering = ['user']
33 verbose_name = 'compte'
34
35 def __unicode__(self):
36 return self.user
37
38 class Mailbox(models.Model):
39 """
40 Informations sur l'emplacement des boîtes aux lettres
41 """
42
43 proprietaire = models.ForeignKey(Auth)
44 domain = models.CharField(max_length=384,
45 default=DOMAINE[0][0],
46 choices=DOMAINE)
47 homedir = models.CharField(max_length=768,
48 default="/var/mail/vhosts/,"
49 )
50
51 class Meta:
52 ordering = ['proprietaire']
53 verbose_name = 'boîte'
54
55 def __unicode__(self):
56 return self.proprietaire.user
57
58 class Alias(models.Model):
59 """
60 Nous faisons usages d'adresses «génériques» ou alias pour envoyer des courriels
61 à une ou plusieurs personnes.
62 """
63
64 nom = models.EmailField("Nom de l'alias", primary_key=True,
65 help_text="Veuillez insérer une adresse électronique")
66 date_creation = models.DateTimeField("date de création",
67 auto_now_add=True)
68 responsable = models.CharField("Nom du responsable",max_length=256,
69 default="Support technique")
70 observations = models.TextField("Observations",max_length=256,
71 blank=True,
72 default='')
73
74 def __unicode__(self):
75 return self.nom