Portail captif
[ongolaboy.git] / projets_django / bacgl_django / messagerie / models.py
index ac94e4b..9ea76f2 100644 (file)
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+
 from django.db import models
 
 CHOIX_BINAIRE = (
@@ -5,12 +7,69 @@ CHOIX_BINAIRE = (
                 (0, "Inactif"),
                 )
 
+DOMAINE = (
+        ("cm.auf.org","Cameroun"),
+        ("td.auf.org","Tchad"),
+        ("cf.auf.org","Centrafrique"),
+        ("ga.auf.org","Gabon"),
+        ("cg.auf.org","Congo"),
+        ("cd.auf.org","République Démocratique du Congo"),
+        ("bi.auf.org","Burundi"),
+        )
+
 class Auth(models.Model):
-        user = models.CharField(max_length=384)
-        password = models.CharField(max_length=384)
-        actif = models.IntegerField(choices=CHOIX_BINAIRE)
-        expire = models.IntegerField(choices=CHOIX_BINAIRE)
-        source = models.CharField(max_length=192)
-
-        def __unicode__():
-                return self.user
+    """
+    Informations sur l'authentification des utilisateurs
+    """
+
+    user = models.CharField(max_length=384)
+    password = models.CharField(max_length=384)
+    actif = models.IntegerField(choices=CHOIX_BINAIRE,default=1)
+    expire = models.IntegerField(choices=CHOIX_BINAIRE,default=0)
+    source = models.CharField(max_length=192,default='LOCAL')
+
+    class Meta:
+        ordering = ['user']
+        verbose_name = 'compte'
+
+    def __unicode__(self):
+         return self.user
+
+class Mailbox(models.Model):
+    """
+    Informations sur l'emplacement des boîtes aux lettres
+    """
+
+    proprietaire = models.ForeignKey(Auth)
+    domain = models.CharField(max_length=384,
+            default=DOMAINE[0][0],
+            choices=DOMAINE)
+    homedir = models.CharField(max_length=768,
+            default="/var/mail/vhosts/,"
+            )
+
+    class Meta:
+        ordering = ['proprietaire']
+        verbose_name = 'boîte'
+
+    def __unicode__(self):
+            return self.proprietaire.user
+
+class Alias(models.Model):
+    """
+    Nous faisons usages d'adresses «génériques» ou alias pour envoyer des courriels
+    à une ou plusieurs personnes.
+    """
+
+    nom = models.EmailField("Nom de l'alias", primary_key=True,
+            help_text="Veuillez insérer une adresse électronique")
+    date_creation = models.DateTimeField("date de création",
+            auto_now_add=True)
+    responsable = models.CharField("Nom du responsable",max_length=256,
+            default="Support technique")
+    observations = models.TextField("Observations",max_length=256,
+            blank=True,
+            default='')
+
+    def __unicode__(self):
+        return self.nom