restore ordering on classement
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 22 Feb 2012 15:41:57 +0000 (10:41 -0500)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 22 Feb 2012 15:41:57 +0000 (10:41 -0500)
project/rh/models.py

index 243b4bf..96ae6d1 100644 (file)
@@ -1053,6 +1053,16 @@ TYPE_CLASSEMENT_CHOICES = (
     ('HG', 'HG - Hors grille [direction]'),
 )
 
+class ClassementManager(models.Manager):
+    """
+    Ordonner les spcéfiquement les classements.
+    """
+    def get_query_set(self):
+        qs = super(self.__class__, self).get_query_set()
+        qs = qs.extra(select={'ponderation': 'FIND_IN_SET(type,"SO,HG,S,T,P,C,D")'})
+        qs = qs.extra(order_by=('ponderation', ))
+        return qs.all()
+
 
 class Classement_(AUFMetadata):
     """Éléments de classement de la
@@ -1063,6 +1073,8 @@ class Classement_(AUFMetadata):
 
     salaire de base = coefficient * valeur du point de l'Implantation du Poste
     """
+    objects = ClassementManager()
+
     # Identification
     type = models.CharField(max_length=10, choices=TYPE_CLASSEMENT_CHOICES)
     echelon = models.IntegerField(verbose_name=u"Échelon", blank=True, default=0)