arst
authorNicolas Cadou <ncadou@cadou.ca>
Thu, 19 May 2011 00:11:56 +0000 (20:11 -0400)
committerNicolas Cadou <ncadou@cadou.ca>
Thu, 19 May 2011 00:12:25 +0000 (20:12 -0400)
project/budget/admin.py [new file with mode: 0644]
project/budget/models.py
project/rh/models.py

diff --git a/project/budget/admin.py b/project/budget/admin.py
new file mode 100644 (file)
index 0000000..5cb88d2
--- /dev/null
@@ -0,0 +1,14 @@
+# -*- encoding: utf-8 -*-
+
+from django.contrib import admin
+
+from rh.admin import (DossierAdmin, EvenementAdmin, EvenementRemunerationAdmin,
+                      PosteAdmin, PosteFinancementAdmin, RemunerationAdmin)
+from models import *
+
+admin.site.register(Dossier, DossierAdmin)
+admin.site.register(Evenement, EvenementAdmin)
+admin.site.register(EvenementRemuneration, EvenementRemunerationAdmin)
+admin.site.register(Poste, PosteAdmin)
+admin.site.register(PosteFinancement, PosteFinancementAdmin)
+admin.site.register(Remuneration, RemunerationAdmin)
index 67d8371..ccb121c 100755 (executable)
@@ -42,11 +42,31 @@ class Simulation(models.Model):
             sim_d.save()
             dossiers[rh_d.id] = sim_d
 
+class Dossier(rh.Dossier_):
+    __doc__ = rh.Dossier_.__doc__
+    simulation = models.ForeignKey(Simulation)
+
+
+class Evenement(rh.Evenement_):
+    __doc__ = rh.Evenement_.__doc__
+    simulation = models.ForeignKey(Simulation)
+
+
+class EvenementRemuneration(rh.EvenementRemuneration_):
+    __doc__ = rh.EvenementRemuneration_.__doc__
+    simulation = models.ForeignKey(Simulation)
+
+
 class Poste(rh.Poste_):
     __doc__ = rh.Poste_.__doc__
     simulation = models.ForeignKey(Simulation)
 
 
-class Dossier(rh.Dossier_):
-    __doc__ = rh.Dossier_.__doc__
+class PosteFinancement(rh.PosteFinancement_):
+    __doc__ = rh.PosteFinancement_.__doc__
+    simulation = models.ForeignKey(Simulation)
+
+
+class Remuneration(rh.Remuneration_):
+    __doc__ = rh.Remuneration_.__doc__
     simulation = models.ForeignKey(Simulation)
index 34d2819..3e0a6ae 100644 (file)
@@ -204,12 +204,13 @@ POSTE_FINANCEMENT_CHOICES = (
     ('C', 'C - Autre')
 )
 
-class PosteFinancement(models.Model):
+
+class PosteFinancement_(models.Model):
     """Pour un Poste, structure d'informations décrivant comment on prévoit
     financer ce Poste.
     """
     poste = models.ForeignKey('Poste', db_column='poste', 
-                            related_name='financements')
+                            related_name='%(app_label)s_financements')
     type = models.CharField(max_length=1, choices=POSTE_FINANCEMENT_CHOICES)
     pourcentage = models.DecimalField(max_digits=12, decimal_places=2,
             help_text=u"ex.: 33.33 % (décimale avec point)")
@@ -217,11 +218,17 @@ class PosteFinancement(models.Model):
             help_text=u"Spécifiez la source de financement.")
 
     class Meta:
+        abstract = True
         ordering = ['type']
         
     def __unicode__(self):
         return u'%s : %s %' % (self.type, self.pourcentage)
 
+
+class PosteFinancement(PosteFinancement_):
+    __doc__ = PosteFinancement_.__doc__
+
+
 class PostePiece(models.Model):
     """Documents relatifs au Poste.
     Ex.: Description de poste
@@ -501,7 +508,7 @@ class RemunerationMixin(Metadata):
     def __unicode__(self):
         return u'%s %s (%s)' % (self.montant, self.devise.code, self.type.nom)
     
-class Remuneration(RemunerationMixin):
+class Remuneration_(RemunerationMixin):
     """Structure de rémunération (données budgétaires) en situation normale
     pour un Dossier. Si un Evenement existe, utiliser la structure de 
     rémunération EvenementRemuneration de cet événement.    
@@ -526,6 +533,13 @@ class Remuneration(RemunerationMixin):
             devise = "???"
         return "%s %s" % (self.montant, devise)
 
+    class Meta:
+        abstract = True
+
+
+class Remuneration(Remuneration_):
+    __doc__ = Remuneration_.__doc__
+
 
 ### CONTRATS
         
@@ -553,7 +567,7 @@ class Contrat(Metadata):
 
 ### ÉVÉNEMENTS
 
-class Evenement(Metadata):
+class Evenement_(Metadata):
     """Un Evenement sert à déclarer une situation temporaire (exceptionnelle) 
     d'un Dossier qui vient altérer des informations normales liées à un Dossier 
     (ex.: la Remuneration).
@@ -571,13 +585,20 @@ class Evenement(Metadata):
     date_debut = models.DateField(help_text=HELP_TEXT_DATE)
     date_fin = models.DateField(help_text=HELP_TEXT_DATE, 
                             null=True, blank=True)
+
     class Meta:
+        abstract = True
         ordering = ['nom']
                             
     def __unicode__(self):
         return u'%s' % (self.nom)
+
+
+class Evenement(Evenement_):
+    __doc__ = Evenement_.__doc__
+
     
-class EvenementRemuneration(RemunerationMixin):
+class EvenementRemuneration_(RemunerationMixin):
     """Structure de rémunération liée à un Evenement qui remplace 
     temporairement la Remuneration normale d'un Dossier, pour toute la durée
     de l'Evenement.
@@ -585,6 +606,13 @@ class EvenementRemuneration(RemunerationMixin):
     evenement = models.ForeignKey("Evenement", db_column='evenement',
                             related_name='+')
 
+    class Meta:
+        abstract = True
+
+
+class EvenementRemuneration(EvenementRemuneration_):
+    __doc__ = EvenementRemuneration_.__doc__
+
 
 ### RÉFÉRENCES RH