cleanup and make rh/dae compliant
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 24 Jul 2012 15:31:12 +0000 (11:31 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 24 Jul 2012 15:31:12 +0000 (11:31 -0400)
project/rh/managers.py

index 5a07d71..a4bc601 100644 (file)
@@ -3,7 +3,7 @@
 from datetime import date
 
 from django.db import models
-from django.db.models import Q, Max
+from django.db.models import Q
 from django.db.models.query import QuerySet
 
 from project import groups
@@ -81,13 +81,11 @@ class ActifsQuerySet(QuerySet):
         if date_min:
             qs = qs.filter(
                 Q(**{fin_field + '__gte': date_min}) |
-                Q(**{fin_field: None})
-            )
+                Q(**{fin_field: None}))
         if date_max:
             qs = qs.filter(
                 Q(**{debut_field + '__lte': date_max}) |
-                Q(**{debut_field: None})
-            )
+                Q(**{debut_field: None}))
         return qs
 
     def actifs(self, *args, **kwargs):
@@ -130,22 +128,24 @@ class DossierManager(SecurityManager):
     def sans_contrats_ou_echus(self, *args, **kwargs):
         app = self.model._meta.app_label
         sql = """
-        SELECT D.id FROM rh_dossier AS D
-        LEFT JOIN rh_contrat AS C ON D.id = C.dossier AND C.date_debut =
-            (SELECT MAX(date_debut) FROM rh_contrat WHERE dossier=D.id)
-        WHERE (D.date_fin > '%(today)s' OR D.date_fin IS NULL) AND (C.id IS NULL OR C.date_fin < '%(today)s')
-        """ % {'today': date.today()}
+        SELECT D.id FROM %(app)s_dossier AS D
+        LEFT JOIN %(app)s_contrat AS C ON D.id = C.dossier AND C.date_debut =
+            (SELECT MAX(date_debut) FROM %(app)s_contrat WHERE dossier=D.id)
+        WHERE (D.date_fin > '%(today)s' OR D.date_fin IS NULL)
+        AND (C.id IS NULL OR C.date_fin < '%(today)s')
+        """ % {'today': date.today(), 'app': app}
         ids = [d.id for d in self.raw(sql)]
         return self.get_query_set().filter(id__in=ids).filter(*args, **kwargs)
 
+
 class RemunerationQuerySet(ActifsQuerySet):
 
     def actifs(self, *args, **kwargs):
         return self \
                 ._actifs('date_debut', 'date_fin', *args, **kwargs) \
                 ._actifs(
-                    'dossier__date_debut', 'dossier__date_fin', *args, **kwargs
-                )
+                    'dossier__date_debut', 'dossier__date_fin',
+                    *args, **kwargs)
 
 
 class RemunerationManager(models.Manager):