Browse Source

Separate loan history from current loan in Item admin detail view

Clearer, follows the same logic as maillists
Jocelyn Delalande 6 years ago
parent
commit
c91a2f7e50
1 changed files with 25 additions and 1 deletions
  1. 25 1
      hardware_provisioning/admin.py

+ 25 - 1
hardware_provisioning/admin.py

@@ -56,6 +56,25 @@ class AvailabilityFilter(admin.SimpleListFilter):
             return queryset
             return queryset
 
 
 
 
+class CurrentLoanInline(admin.TabularInline):
+    model = Loan
+    extra = 0
+    fields = ('user', 'item', 'short_date', 'notes')
+    readonly_fields = ('user', 'item', 'short_date', 'notes')
+    verbose_name_plural = "Emprunt en cours"
+    show_change_link = True
+
+    def get_queryset(self, request):
+        qs = super(CurrentLoanInline, self).get_queryset(request)
+        return qs.running()
+
+    def has_add_permission(self, request, obj=None):
+        return False
+
+    def has_delete_permission(self, request, obj=None):
+        return False
+
+
 class LoanHistoryInline(admin.TabularInline):
 class LoanHistoryInline(admin.TabularInline):
     model = Loan
     model = Loan
     extra = 0
     extra = 0
@@ -64,6 +83,11 @@ class LoanHistoryInline(admin.TabularInline):
     ordering = ['-loan_date_end']
     ordering = ['-loan_date_end']
     verbose_name_plural = "Historique de prêt de cet objet"
     verbose_name_plural = "Historique de prêt de cet objet"
     show_change_link = True
     show_change_link = True
+    classes = ['collapse']  # Django >= 1.10-ready
+
+    def get_queryset(self, request):
+        qs = super(LoanHistoryInline, self).get_queryset(request)
+        return qs.finished()
 
 
     def has_add_permission(self, request, obj=None):
     def has_add_permission(self, request, obj=None):
         return False
         return False
@@ -111,7 +135,7 @@ class ItemAdmin(admin.ModelAdmin):
 
 
     form = autocomplete_light.modelform_factory(Loan, fields='__all__')
     form = autocomplete_light.modelform_factory(Loan, fields='__all__')
 
 
-    inlines = [AddLoanInline, LoanHistoryInline]
+    inlines = [AddLoanInline, CurrentLoanInline, LoanHistoryInline]
 
 
     def give_back(self, request, queryset):
     def give_back(self, request, queryset):
         for item in queryset.filter(loans__loan_date_end=None):
         for item in queryset.filter(loans__loan_date_end=None):