moins caca

This commit is contained in:
Qwann 2018-08-04 05:38:03 +02:00
parent 0be9e5eb3a
commit 0483610e69
99 changed files with 1000 additions and 8900 deletions

View file

@ -1,35 +1,55 @@
from django.contrib import admin
from django import forms
from .models import Equipment, EquipmentRemark
from .models import Equipment, EquipmentRemark, EquipmentRevision
from .fields import IdField, IdWidget
from shared.admin import admin_site
class IdForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
print("looooooooooooooooooooool")
if 'min_value' in kwargs:
kwargs.pop('min_value')
if 'num_choices' in kwargs:
num_choices = kwargs.pop('num_choices')
super(IdForm, self).__init__(*args, **kwargs)
for field in self.instance._meta.fields:
if isinstance(field, IdField):
self.fields[field.name].choices = list(range(1, 12))
self.fields[field.name].widget = IdWidget()
print(self.fields[field.name].choices)
print(self.fields.values())
if num_choices is None:
choices = []
else:
choices = [(k, str(k)) for k in range(1, num_choices+1)]
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)
if self.instance:
kwargs["num_choices"] = self.instance.stock
return kwargs
class EquipmentRevisionExtraInline(admin.TabularInline):
model = EquipmentRevision
extra = 0
form = IdForm
formset = IdFormset
class EquipmentRemarkExtraInline(admin.TabularInline):
model = EquipmentRemark
extra = 0
form = IdForm
formset = IdFormset
class EquipmentAdmin(admin.ModelAdmin):
list_display = ['name', 'stock']
ordering = ['name']
inlines = [EquipmentRemarkExtraInline]
inlines = [EquipmentRemarkExtraInline, EquipmentRevisionExtraInline]
admin_site.register(Equipment, EquipmentAdmin)
admin.site.register(Equipment, EquipmentAdmin)