52 lines
1.8 KiB
Python
52 lines
1.8 KiB
Python
from django import forms
|
|
from .models import Enregistrement, EnregistrementRecursif
|
|
|
|
|
|
class EnregistrementForm(forms.ModelForm):
|
|
class Meta:
|
|
model = Enregistrement
|
|
fields = ('montant', 'description', 'date', 'etiquette')
|
|
widgets = {'montant': forms.TextInput(),
|
|
'etiquette': forms.Select(
|
|
attrs={'class':'form-control custom-select'}
|
|
),
|
|
'date': forms.SelectDateWidget(
|
|
attrs={'class':'form-control custom-select mx-1'}
|
|
)
|
|
}
|
|
|
|
|
|
class EnregistrementSpecialForm(forms.ModelForm):
|
|
est_negatif = forms.BooleanField(required=False)
|
|
|
|
class Meta:
|
|
model = Enregistrement
|
|
fields = ('montant', 'description', 'date', 'etiquette')
|
|
widgets = {'montant': forms.TextInput(attrs={'class':'form-control'}),
|
|
'etiquette': forms.Select(
|
|
attrs={'class':'form-control custom-select'}
|
|
),
|
|
'date': forms.SelectDateWidget(
|
|
attrs={'class':'form-control custom-select mx-1'}
|
|
)
|
|
}
|
|
|
|
def clean(self):
|
|
data = super().clean()
|
|
# Force un nombre négatif si 'est_negatif' est coché
|
|
if (data['est_negatif']
|
|
and data['montant'] > 0):
|
|
self.cleaned_data['montant'] = 0 - data['montant']
|
|
return self.cleaned_data
|
|
|
|
|
|
class EnregistrementRecursifForm(forms.ModelForm):
|
|
class Meta:
|
|
model = EnregistrementRecursif
|
|
fields = ('jour', 'description', 'etiquette', 'montant')
|
|
widgets = {'montant': forms.TextInput(),
|
|
'etiquette': forms.Select(
|
|
attrs={'class':'form-control custom-select'}
|
|
),
|
|
}
|