Files
django-cresus/core/forms.py

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'}
),
}