fix conflict
[auf_rh_dae.git] / project / rh / models.py
index 501cf03..1a390ac 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
@@ -382,6 +389,7 @@ COMPTE_COMPTA_CHOICES = (
     ('aucun', 'Aucun'),
 )
 
+
 class Dossier_(Metadata):
     """Le Dossier regroupe les informations relatives à l'occupation
     d'un Poste par un Employe. Un seul Dossier existe par Poste occupé
@@ -476,7 +484,8 @@ class DossierCommentaire(Commentaire):
     
 class RemunerationMixin(Metadata):
     # Identification
-    dossier = models.ForeignKey('Dossier', db_column='dossier')
+    dossier = models.ForeignKey('Dossier', db_column='dossier',
+                        related_name='%(app_label)s_%(class)s_remunerations')
     type = models.ForeignKey('TypeRemuneration', db_column='type', 
                             related_name='+')
     type_revalorisation = models.ForeignKey('TypeRevalorisation', 
@@ -504,7 +513,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.    
@@ -529,6 +538,13 @@ class Remuneration(RemunerationMixin):
             devise = "???"
         return "%s %s" % (self.montant, devise)
 
+    class Meta:
+        abstract = True
+
+
+class Remuneration(Remuneration_):
+    __doc__ = Remuneration_.__doc__
+
 
 ### CONTRATS
         
@@ -556,7 +572,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).
@@ -574,13 +590,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.
@@ -588,6 +611,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 
 
@@ -713,7 +743,8 @@ TYPE_CLASSEMENT_CHOICES = (
     ('HG', 'HG - Hors grille [direction]'),
 )
 
-class Classement(Metadata):
+
+class Classement_(Metadata):
     """Éléments de classement de la 
     "Grille générique de classement hiérarchique".
     
@@ -732,13 +763,18 @@ class Classement(Metadata):
     commentaire = models.TextField(null=True, blank=True)
     
     class Meta:
+        abstract = True
         ordering = ['type','echelon','degre','coefficient']
 
     def __unicode__(self):
         return u'%s.%s.%s (%s)' % (self.type, self.echelon, self.degre,
                                    self.coefficient)
 
-class TauxChange(Metadata):
+class Classement(Classement_):
+    __doc__ = Classement_.__doc__
+
+
+class TauxChange_(Metadata):
     """Taux de change de la devise vers l'euro (EUR) 
     pour chaque année budgétaire.
     """
@@ -747,14 +783,20 @@ class TauxChange(Metadata):
                             related_name='+')
     annee = models.IntegerField()
     taux = models.FloatField()
-    
+
     class Meta:
+        abstract = True
         ordering = ['annee', 'devise__code']
     
     def __unicode__(self):
         return u'%s : %s €' % (self.devise.code, self.taux)
 
-class ValeurPoint(Metadata):
+
+class TauxChange(TauxChange_):
+    __doc__ = TauxChange_.__doc__
+
+
+class ValeurPoint_(Metadata):
     """Utile pour connaître, pour un Dossier, le salaire de base théorique lié 
     au classement dans la grille. La ValeurPoint s'obtient par l'implantation 
     du POste de ce Dossier : dossier.poste.implantation (pseudo code).
@@ -765,8 +807,8 @@ class ValeurPoint(Metadata):
     devise = models.ForeignKey('Devise', db_column='devise', 
                             related_name='+', default=5)
     implantation = models.ForeignKey(ref.Implantation, 
-                            db_column='implantation', 
-                            related_name='valeur_point')
+                            db_column='implantation',
+                            related_name='%(app_label)s_valeur_point')
     # Méta
     annee = models.IntegerField()
 
@@ -777,7 +819,8 @@ class ValeurPoint(Metadata):
                             .filter(annee=annee_courante)
 
     class Meta:
-        ordering = ['annee', 'implantation__nom']
+        abstract = True
+        ordering = ['valeur']
 
     def get_tauxchange_courant(self):
         """
@@ -799,9 +842,11 @@ class ValeurPoint(Metadata):
             devise_code = "??"
         return u'%s %s (%s-%s)' % (self.valeur, devise_code, 
                             self.implantation_id, self.annee)
-        
-    class Meta:
-        ordering = ['valeur']
+
+
+class ValeurPoint(ValeurPoint_):
+    __doc__ = ValeurPoint_.__doc__
+
 
 class Devise(Metadata):
     """Devise monétaire.