categories as taxinomy

This commit is contained in:
Qwann 2018-08-08 16:02:23 +02:00
parent 4c1a1da64f
commit c8f4ab1a80
4 changed files with 65 additions and 25 deletions

View file

@ -1,11 +1,12 @@
from django.contrib import admin
from django import forms
from .models import Equipment, EquipmentDefault, EquipmentRevision, EquipmentPole, EquipmentCategory, EquipmentLost
from .models import Equipment, EquipmentDefault, EquipmentRevision, EquipmentCategory, EquipmentLost
from .fields import IdField, IdWidget
from shared.admin import admin_site
class IdForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
if 'min_value' in kwargs:
@ -23,6 +24,7 @@ class IdForm(forms.ModelForm):
self.fields[field.name].choices = choices
self.fields[field.name].widget = IdWidget(choices=self.fields[field.name].choices)
class IdFormset(forms.models.BaseInlineFormSet):
def get_form_kwargs(self, index):
kwargs = super().get_form_kwargs(index)
@ -55,20 +57,19 @@ class EquipmentLostExtraInline(admin.TabularInline):
classes = ['collapse']
class CharFieldModelAdmin(admin.ModelAdmin):
list_display = ['name']
ordering = ['name']
class CategoryAdmin(admin.ModelAdmin):
list_display = ['name', 'parent']
ordering = ['name', 'parent']
class EquipmentAdmin(admin.ModelAdmin):
list_display = ['name', 'stock', 'owner', 'pole', 'category']
ordering = ['name', 'owner', 'pole', 'category']
list_display = ['name', 'stock', 'owner', 'category']
ordering = ['name', 'owner', 'category']
inlines = [EquipmentDefaultExtraInline,
EquipmentLostExtraInline,
EquipmentRevisionExtraInline]
admin_site.register(Equipment, EquipmentAdmin)
admin_site.register(EquipmentPole, CharFieldModelAdmin)
admin_site.register(EquipmentCategory, CharFieldModelAdmin)
admin_site.register(EquipmentCategory, CategoryAdmin)
admin.site.register(Equipment, EquipmentAdmin)