Ajout de la logique pour la permission 'view_chercheur'
authorPA Parent <paparent@paparent.me>
Fri, 10 Jun 2011 19:34:13 +0000 (15:34 -0400)
committerPA Parent <paparent@paparent.me>
Fri, 10 Jun 2011 19:34:13 +0000 (15:34 -0400)
auf_savoirs_en_partage/chercheurs/admin.py

index 60d16db..bd341a1 100644 (file)
@@ -19,6 +19,19 @@ class ChercheurAdmin(admin.ModelAdmin):
     actions = ('remove_from_group', 'export_as_ods', 'export_as_csv')
     search_fields = ('nom', 'prenom')
 
+    def has_change_permission(self, request, obj=None):
+        if not obj and request.user.has_perm('chercheurs.view_chercheur'):
+            return True
+
+        return super(ChercheurAdmin, self).has_change_permission(request, obj)
+
+    def change_view(self, request, obj=None):
+        if request.user.has_perm('chercheurs.view_chercheur') and \
+            not super(ChercheurAdmin, self).has_change_permission(request, obj):
+            return HttpResponseRedirect(url('admin:chercheurs_chercheur_changelist'))
+
+        return super(ChercheurAdmin, self).change_view(request, obj)
+
     def lookup_allowed(self, lookup, value):
         return lookup in ['genre', 'statut', 'membre_reseau_institutionnel', 
                           'membre_instance_auf', 'discipline', 'region', 'pays',