[#3160] Ne pas proposer d'organigramme pour les services sans poste
authorEric Mc Sween <eric.mcsween@auf.org>
Fri, 1 Jun 2012 18:13:27 +0000 (14:13 -0400)
committerEric Mc Sween <eric.mcsween@auf.org>
Fri, 1 Jun 2012 18:13:27 +0000 (14:13 -0400)
project/rh/admin.py
project/rh/models.py

index 88f0f4f..3226db6 100644 (file)
@@ -9,7 +9,7 @@ from auf.django.metadata.admin import \
 from django.core.urlresolvers import reverse
 from django.contrib import admin
 from django.conf import settings
-from django.db.models import Q
+from django.db.models import Q, Count
 from django.template.defaultfilters import date
 
 import auf.django.references.models as ref
@@ -58,6 +58,7 @@ class ImplantationProxy(ref.Implantation):
 
 class ServiceProxy(rh.Service):
     """ Proxy utilisé pour les organigrammes opar service """
+
     class Meta:
         proxy = True
         verbose_name = u"Organigramme par services"
@@ -1022,6 +1023,11 @@ class ServiceProxyAdmin(ServiceAdmin):
         super(ServiceProxyAdmin, self).__init__(*args, **kwargs)
         self.list_display_links = (None, )
 
+    def queryset(self, request):
+        return super(ServiceProxyAdmin, self).queryset(request) \
+                .annotate(num_postes=Count('rh_postes')) \
+                .filter(num_postes__gt=0)
+
     def has_add_permission(self, obj):
         return False
 
index 53f41fe..9befcb5 100644 (file)
@@ -166,7 +166,7 @@ class Poste_(AUFMetadata):
         null=True, verbose_name=u"type de poste"
     )
     service = models.ForeignKey(
-        'Service', db_column='service', related_name='+',
+        'Service', db_column='service', related_name='%(app_label)s_postes',
         verbose_name=u"direction/service/pôle support", null=True
     )
     responsable = models.ForeignKey(