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