Browse Source

amélioration de l’inventaire

Élie Bouttier 7 years ago
parent
commit
9c2093be90
1 changed files with 19 additions and 0 deletions
  1. 19 0
      stocking/admin.py

+ 19 - 0
stocking/admin.py

@@ -1,4 +1,6 @@
 from django.contrib import admin
+from django.utils.html import format_html
+from django.urls import reverse
 
 from mptt.admin import MPTTModelAdmin
 
@@ -24,6 +26,15 @@ class CategoryFilter(admin.SimpleListFilter):
 
 
 class CategoryAdmin(MPTTModelAdmin):
+    search_fields = ['name']
+    list_display = ('__str__', 'equipement_list_link',)
+
+    def equipement_list_link(self, category):
+        url = reverse('admin:%s_%s_changelist' % (Equipment._meta.app_label, Equipment._meta.model_name))
+        url += '?category=%d' % category.pk
+        return format_html(u'<a href="{}">{}</a>', url, 'voir la liste des équipements')
+    equipement_list_link.short_description = 'Équipements'
+
     def get_actions(self, request):
         actions = super().get_actions(request)
         if 'delete_selected' in actions:
@@ -36,6 +47,14 @@ class CategoryAdmin(MPTTModelAdmin):
 
 
 class LocationAdmin(admin.ModelAdmin):
+    list_display = ('__str__', 'equipement_list_link',)
+
+    def equipement_list_link(self, location):
+        url = reverse('admin:%s_%s_changelist' % (Equipment._meta.app_label, Equipment._meta.model_name))
+        url += '?location__id__exact=%d' % location.pk
+        return format_html(u'<a href="{}">{}</a>', url, 'voir la liste des équipements')
+    equipement_list_link.short_description = 'Équipements'
+
     def get_actions(self, request):
         actions = super().get_actions(request)
         if 'delete_selected' in actions: