Refactoring des graphs et organigrammes par service
[auf_rh_dae.git] / project / rh / admin.py
index 3762051..336e05a 100644 (file)
@@ -18,8 +18,16 @@ from groups import grp_drh
 import models as rh
 
 
-class EmployeProxy(rh.Employe):
+class ServiceProxy(rh.Service):
+    """ Proxy utilisé pour les organigrammes opar service """
+    class Meta:
+        proxy = True
+        verbose_name = u"Organigramme par services"
+        verbose_name_plural = u"Organigramme par services"
+
 
+class EmployeProxy(rh.Employe):
+    """ Proxy utilisé pour les organigrammes des employés """
     class Meta:
         proxy = True
         verbose_name = u"Organigramme des employés"
@@ -911,6 +919,18 @@ class ServiceAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
     _date_modification.admin_order_field = 'date_modification'
 
 
+class ServiceProxyAdmin(ServiceAdmin):
+    list_display = ('nom', '_organigramme')
+    list_display_links = ('nom',)
+
+    def has_add_permission(self, obj):
+        return False
+
+    def _organigramme(self, obj):
+        return """<a href="%s">Organigramme</a>""" % (reverse('rho_service', args=(obj.id,)))
+    _organigramme.allow_tags = True
+    _organigramme.short_description = "Organigramme"
+
 class StatutAdmin(AUFMetadataAdminMixin, admin.ModelAdmin):
     list_display = ('code', 'nom', '_date_modification', 'user_modification', )
     fieldsets = AUFMetadataAdminMixin.fieldsets + (
@@ -1059,6 +1079,7 @@ admin.site.register(rh.Classement, ClassementAdmin)
 admin.site.register(rh.Devise, DeviseAdmin)
 admin.site.register(rh.Dossier, DossierAdmin)
 admin.site.register(EmployeProxy, EmployeProxyAdmin)
+admin.site.register(ServiceProxy, ServiceProxyAdmin)
 admin.site.register(rh.Employe, EmployeAdmin)
 admin.site.register(rh.FamilleEmploi, FamilleEmploiAdmin)
 admin.site.register(rh.OrganismeBstg, OrganismeBstgAdmin)