|
@@ -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:
|