Mise en place des alias
authorWilly MANGA <willy.manga@auf.org>
Sat, 31 May 2014 18:39:30 +0000 (19:39 +0100)
committerWilly MANGA <willy.manga@auf.org>
Sat, 31 May 2014 18:39:30 +0000 (19:39 +0100)
projets_django/bacgl_django/messagerie/admin.py
projets_django/bacgl_django/messagerie/migrations/0006_auto__add_alias.py [new file with mode: 0644]
projets_django/bacgl_django/messagerie/migrations/0007_recuperationAlias.py [new file with mode: 0644]
projets_django/bacgl_django/messagerie/models.py

index d3c7322..3c21695 100644 (file)
@@ -1,5 +1,5 @@
 from django.contrib import admin
-from messagerie.models import Auth,Mailbox
+from messagerie.models import Auth,Mailbox,Alias
 
 class AuthAdmin(admin.ModelAdmin):
     search_fields = ['user']
@@ -8,5 +8,10 @@ class MailboxAdmin(admin.ModelAdmin):
     search_fields = ['homedir']
     list_display = ['proprietaire','homedir']
 
+class AliasAdmin(admin.ModelAdmin):
+    search_fields = ['nom']
+    list_display = ['nom','observations','date_creation']
+
 admin.site.register(Auth,AuthAdmin)
 admin.site.register(Mailbox,MailboxAdmin)
+admin.site.register(Alias,AliasAdmin)
diff --git a/projets_django/bacgl_django/messagerie/migrations/0006_auto__add_alias.py b/projets_django/bacgl_django/messagerie/migrations/0006_auto__add_alias.py
new file mode 100644 (file)
index 0000000..50dd500
--- /dev/null
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        # Adding model 'Alias'
+        db.create_table('messagerie_alias', (
+            ('nom', self.gf('django.db.models.fields.EmailField')(max_length=75, primary_key=True)),
+            ('date_creation', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+            ('responsable', self.gf('django.db.models.fields.CharField')(default='Support technique', max_length=256)),
+            ('observations', self.gf('django.db.models.fields.TextField')(default='', max_length=256, blank=True)),
+        ))
+        db.send_create_signal('messagerie', ['Alias'])
+
+
+    def backwards(self, orm):
+        # Deleting model 'Alias'
+        db.delete_table('messagerie_alias')
+
+
+    models = {
+        'messagerie.alias': {
+            'Meta': {'object_name': 'Alias'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'primary_key': 'True'}),
+            'observations': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
+            'responsable': ('django.db.models.fields.CharField', [], {'default': "'Support technique'", 'max_length': '256'})
+        },
+        'messagerie.auth': {
+            'Meta': {'ordering': "['user']", 'object_name': 'Auth'},
+            'actif': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'expire': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '384'}),
+            'source': ('django.db.models.fields.CharField', [], {'default': "'LOCAL'", 'max_length': '192'}),
+            'user': ('django.db.models.fields.CharField', [], {'max_length': '384'})
+        },
+        'messagerie.mailbox': {
+            'Meta': {'ordering': "['proprietaire']", 'object_name': 'Mailbox'},
+            'domain': ('django.db.models.fields.CharField', [], {'default': "'cm.auf.org'", 'max_length': '384'}),
+            'homedir': ('django.db.models.fields.CharField', [], {'default': "'/var/mail/vhosts/,'", 'max_length': '768'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'proprietaire': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['messagerie.Auth']"})
+        }
+    }
+
+    complete_apps = ['messagerie']
\ No newline at end of file
diff --git a/projets_django/bacgl_django/messagerie/migrations/0007_recuperationAlias.py b/projets_django/bacgl_django/messagerie/migrations/0007_recuperationAlias.py
new file mode 100644 (file)
index 0000000..bd58d14
--- /dev/null
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import DataMigration
+from django.db import models
+
+class Migration(DataMigration):
+
+    def forwards(self, orm):
+        "Write your forwards methods here."
+        # Note: Remember to use orm['appname.ModelName'] rather than "from appname.models..."
+        for curseur in orm['ancien_messagerie.Virtual'].objects.all():
+            orm['messagerie.Alias']().objects.get_or_create(
+                    nom=curseur.user +'@'+ curseur.domain,
+                   # date_creation = datetime.datetime.now(),
+                    )
+
+    def backwards(self, orm):
+        "Write your backwards methods here."
+
+    models = {
+        'ancien_messagerie.auth': {
+            'Meta': {'object_name': 'Auth', 'db_table': "u'auth'"},
+            'actif': ('django.db.models.fields.IntegerField', [], {}),
+            'expire': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '384'}),
+            'source': ('django.db.models.fields.CharField', [], {'max_length': '192'}),
+            'user': ('django.db.models.fields.CharField', [], {'max_length': '384'})
+        },
+        'ancien_messagerie.mailbox': {
+            'Meta': {'object_name': 'Mailbox', 'db_table': "u'mailbox'"},
+            'actif': ('django.db.models.fields.IntegerField', [], {}),
+            'domain': ('django.db.models.fields.CharField', [], {'max_length': '384'}),
+            'expire': ('django.db.models.fields.IntegerField', [], {}),
+            'homedir': ('django.db.models.fields.CharField', [], {'max_length': '768'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'source': ('django.db.models.fields.CharField', [], {'max_length': '192'}),
+            'user': ('django.db.models.fields.CharField', [], {'max_length': '384'})
+        },
+        'ancien_messagerie.virtual': {
+            'Meta': {'object_name': 'Virtual', 'db_table': "u'virtual'"},
+            'actif': ('django.db.models.fields.IntegerField', [], {}),
+            'destination': ('django.db.models.fields.CharField', [], {'max_length': '768'}),
+            'domain': ('django.db.models.fields.CharField', [], {'max_length': '384'}),
+            'expire': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'source': ('django.db.models.fields.CharField', [], {'max_length': '192'}),
+            'user': ('django.db.models.fields.CharField', [], {'max_length': '384'})
+        },
+        'messagerie.alias': {
+            'Meta': {'object_name': 'Alias'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'primary_key': 'True'}),
+            'observations': ('django.db.models.fields.TextField', [], {'default': "''", 'max_length': '256', 'blank': 'True'}),
+            'responsable': ('django.db.models.fields.CharField', [], {'default': "'Support technique'", 'max_length': '256'})
+        },
+        'messagerie.auth': {
+            'Meta': {'ordering': "['user']", 'object_name': 'Auth'},
+            'actif': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'expire': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '384'}),
+            'source': ('django.db.models.fields.CharField', [], {'default': "'LOCAL'", 'max_length': '192'}),
+            'user': ('django.db.models.fields.CharField', [], {'max_length': '384'})
+        },
+        'messagerie.mailbox': {
+            'Meta': {'ordering': "['proprietaire']", 'object_name': 'Mailbox'},
+            'domain': ('django.db.models.fields.CharField', [], {'default': "'cm.auf.org'", 'max_length': '384'}),
+            'homedir': ('django.db.models.fields.CharField', [], {'default': "'/var/mail/vhosts/,'", 'max_length': '768'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'proprietaire': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['messagerie.Auth']"})
+        }
+    }
+
+    complete_apps = ['ancien_messagerie', 'messagerie']
+    symmetrical = True
index 9c207cc..9ea76f2 100644 (file)
@@ -54,3 +54,22 @@ class Mailbox(models.Model):
 
     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