[#2664] Séparation des modèles CODA en deux apps: managed et non-managed
authorEric Mc Sween <eric.mcsween@auf.org>
Mon, 20 Feb 2012 17:18:52 +0000 (12:18 -0500)
committerEric Mc Sween <eric.mcsween@auf.org>
Mon, 20 Feb 2012 17:18:52 +0000 (12:18 -0500)
auf/django/coda/managedcoda/__init__.py [new file with mode: 0644]
auf/django/coda/managedcoda/models.py [new file with mode: 0644]
auf/django/coda/models.py [changed mode: 0755->0644]
setup.py

diff --git a/auf/django/coda/managedcoda/__init__.py b/auf/django/coda/managedcoda/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/auf/django/coda/managedcoda/models.py b/auf/django/coda/managedcoda/models.py
new file mode 100644 (file)
index 0000000..e1b2578
--- /dev/null
@@ -0,0 +1,84 @@
+# encoding: utf-8
+
+from django.db import models
+
+
+class ElementManager(models.Manager):
+
+    def __init__(self, niveau):
+        super(ElementManager, self).__init__()
+        self.niveau = niveau
+
+    def get_query_set(self):
+        qs = super(ElementManager, self).get_query_set()
+        return qs.filter(niveau=self.niveau)
+
+
+class Element(models.Model):
+    id = models.CharField(max_length=74, primary_key=True)
+    niveau = models.IntegerField()
+    code = models.CharField(max_length=72, db_index=True)
+    timestamp = models.BigIntegerField()
+    nom = models.CharField(max_length=36)
+
+    # Managers
+    objects = models.Manager()
+    comptes_comptables = ElementManager(1)
+    tiers_operations = ElementManager(2)
+    projets_postes = ElementManager(3)
+
+    class Meta:
+        db_table = 'coda_element'
+        ordering = ['id']
+
+    def __unicode__(self):
+        return self.code
+
+
+class Ecriture(models.Model):
+    id = models.CharField(max_length=25, primary_key=True)
+    code = models.CharField(max_length=12)
+    numero = models.CharField(max_length=12)
+    timestamp = models.BigIntegerField()
+    periode = models.IntegerField()
+    annee = models.IntegerField()
+    date = models.DateField()
+
+    class Meta:
+        db_table = 'coda_ecriture'
+        ordering = ['id']
+
+
+class LigneEcriture(models.Model):
+    DEBIT_CREDIT_CHOICES = (
+        ('D', 'Débit'),
+        ('C', 'Crédit'),
+    )
+    ETAT_PAIEMENT_CHOICES = (
+        ('D', 'D-Disponible'),
+        ('A', 'A-Attente'),
+        ('X', 'X-Fermé (non-lettrable)'),
+        ('P', 'P-Payé'),
+        ('O', 'O-Proposé'),
+    )
+
+    id = models.CharField(max_length=36, primary_key=True)
+    ecriture = models.ForeignKey(Ecriture, related_name='doclines')
+    numero = models.IntegerField()
+    timestamp = models.BigIntegerField()
+    compte_comptable = models.ForeignKey(Element, related_name='+')
+    tiers_operation = models.ForeignKey(Element, related_name='+')
+    projet_poste = models.ForeignKey(Element, related_name='+')
+    description = models.CharField(max_length=36)
+    montant_eur = models.DecimalField(max_digits=17, decimal_places=2)
+    debit_credit = models.CharField(max_length=1, choices=DEBIT_CREDIT_CHOICES)
+    numero_facture = models.CharField(max_length=32)
+    numero_avoir = models.CharField(max_length=32)
+    implantation = models.CharField(max_length=32)
+    salarie = models.CharField(max_length=32)
+    numero_cheque = models.CharField(max_length=32)
+    etat_paiement = models.CharField(max_length=1, choices=ETAT_PAIEMENT_CHOICES)
+
+    class Meta:
+        db_table = 'coda_ligneecriture'
+        ordering = ['id']
old mode 100755 (executable)
new mode 100644 (file)
index a74daa4..65d71e0
@@ -1,86 +1,24 @@
 # encoding: utf-8
 
-from django.conf import settings
-from django.db import models
+from auf.django.coda.managedcoda import models as managedcoda
 
-class ElementManager(models.Manager):
 
-    def __init__(self, niveau):
-        super(ElementManager, self).__init__()
-        self.niveau = niveau
-
-    def get_query_set(self):
-        qs = super(ElementManager, self).get_query_set()
-        return qs.filter(niveau=self.niveau)
-
-
-class Element(models.Model):
-    id = models.CharField(max_length=74, primary_key=True)
-    niveau = models.IntegerField()
-    code = models.CharField(max_length=72, db_index=True)
-    date_modification = models.DateField()
-    nom = models.CharField(max_length=36)
-
-    # Managers
-    objects = models.Manager()
-    comptes_comptables = ElementManager(1)
-    tiers_operations = ElementManager(2)
-    projets_postes = ElementManager(3)
+class Element(managedcoda.Element):
 
     class Meta:
+        proxy = True
         managed = False
-        db_table = 'coda_element'
-        ordering = ['id']
 
-    def __unicode__(self):
-        return self.code
 
-class Ecriture(models.Model):
-    id = models.CharField(max_length=25, primary_key=True)
-    code = models.CharField(max_length=12)
-    numero = models.CharField(max_length=12)
-    date_modification = models.DateField()
-    periode = models.IntegerField()
-    annee = models.IntegerField()
-    date = models.DateField()
+class Ecriture(managedcoda.Ecriture):
 
     class Meta:
+        proxy = True
         managed = False
-        db_table = 'coda_ecriture'
-        ordering = ['id']
-
 
-class LigneEcriture(models.Model):
-    DEBIT_CREDIT_CHOICES = (
-        ('D', 'Débit'),
-        ('C', 'Crédit'),
-    )
-    ETAT_PAIEMENT_CHOICES = (
-        ('D', 'D-Disponible'),
-        ('A', 'A-Attente'),
-        ('X', 'X-Fermé (non-lettrable)'),
-        ('P', 'P-Payé'),
-        ('O', 'O-Proposé'),
-    )
 
-    id = models.CharField(max_length=36, primary_key=True)
-    ecriture = models.ForeignKey(Ecriture, related_name='doclines')
-    numero = models.IntegerField()
-    date_modification = models.DateField()
-    compte_comptable = models.ForeignKey(Element, related_name='+')
-    tiers_operation = models.ForeignKey(Element, related_name='+')
-    projet_poste = models.ForeignKey(Element, related_name='+')
-    description = models.CharField(max_length=36)
-    montant_eur = models.DecimalField(max_digits=17, decimal_places=2)
-    debit_credit = models.CharField(max_length=1, choices=DEBIT_CREDIT_CHOICES)
-    numero_facture = models.CharField(max_length=32)
-    numero_avoir = models.CharField(max_length=32)
-    implantation = models.CharField(max_length=32)
-    salarie = models.CharField(max_length=32)
-    numero_cheque = models.CharField(max_length=32)
-    etat_paiement = models.CharField(max_length=1, choices=ETAT_PAIEMENT_CHOICES)
+class LigneEcriture(managedcoda.LigneEcriture):
 
     class Meta:
+        proxy = True
         managed = False
-        db_table = 'coda_ligne_ecriture'
-        ordering = ['id']
index 3098cb1..94333ea 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ import sys
 from setuptools import setup, find_packages
 
 name = 'auf.django.coda'
-version = '0.5'
+version = '0.6'
 
 setup(name=name,
       version=version,