Permission pour l'ajout de disciplines et régions pour les resources
authorPA Parent <paparent@paparent.me>
Tue, 6 Sep 2011 18:41:31 +0000 (14:41 -0400)
committerPA Parent <paparent@paparent.me>
Tue, 6 Sep 2011 18:41:31 +0000 (14:41 -0400)
auf_savoirs_en_partage/savoirs/admin.py
auf_savoirs_en_partage/savoirs/models.py

index 2da7e58..a0efa2d 100644 (file)
@@ -16,7 +16,7 @@ from django.utils.encoding import smart_unicode, iri_to_uri
 from django.http import HttpResponseRedirect
 
 from models import SourceActualite, Actualite, ActualiteVoir, Discipline, \
-                   Evenement, EvenementVoir, Record, RecordCategorie, \
+                   Evenement, EvenementVoir, Record, RecordEdit, RecordCategorie, \
                    ListSet, HarvestLog, Profile, PageStatique
 
 from savoirs.globals import META
@@ -205,6 +205,41 @@ class RecordAdmin(ReadOnlyAdminFields, admin.ModelAdmin):
 
 admin.site.register(Record, RecordAdmin)
 
+class RecordEditAdmin(RecordAdmin):
+
+    list_editable = []
+
+
+    def __init__(self, model, admin_site):
+        super(RecordEditAdmin, self).__init__(model, admin_site)
+
+        self.readonly_fields = self.fields
+
+    def get_actions(self, request):
+        actions = super(RecordEditAdmin, self).get_actions(request)
+
+        del actions['assigner_pays']
+        del actions['assigner_thematiques']
+        del actions[ 'assigner_categorie']
+
+        return actions
+
+    def assigner_disciplines(self, request, queryset):
+        selected = queryset.values_list('id', flat=True)
+        selected = ",".join("%s" % val for val in selected)
+        return HttpResponseRedirect(url('assigner_disciplines', kwargs=dict(app_name='savoirs', model_name='recordedit')) + '?ids=' + selected)
+    assigner_disciplines.short_description = u'Assigner des disciplines'
+
+    def assigner_regions(self, request, queryset):
+        selected = queryset.values_list('id', flat=True)
+        selected = ",".join("%s" % val for val in selected)
+        return HttpResponseRedirect(url('assigner_regions', kwargs=dict(app_name='savoirs', model_name='recordedit')) + '?ids=' + selected)
+    assigner_regions.short_description = u'Assigner des régions'
+
+admin.site.register(RecordEdit, RecordEditAdmin)
+
+
+
 class ListSetAdmin(ReadOnlyAdminFields, admin.ModelAdmin):
     fields = ['spec', 'name', 'server', 'validated' ]
     list_display = fields
index b8e35e7..3702884 100644 (file)
@@ -652,6 +652,13 @@ class Record(models.Model):
     def assigner_disciplines(self, disciplines):
         self.disciplines.add(*disciplines)
     
+class RecordEdit(Record):
+
+    class Meta:
+        proxy = True
+        verbose_name = 'ressource (édition)'
+        verbose_name_plural = 'ressources (édition)'
+
 class Serveur(models.Model):
     """Identification d'un serveur d'ou proviennent les références"""
     nom = models.CharField(primary_key = True, max_length = 255)