avoid type='number' in input fields causing validation errors
This commit is contained in:
@@ -1,13 +1,29 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
from .models import Enregistrement
|
from .models import Enregistrement, EnregistrementRecursif
|
||||||
|
|
||||||
|
|
||||||
class EnregistrementForm(forms.ModelForm):
|
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)
|
est_negatif = forms.BooleanField(required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Enregistrement
|
model = Enregistrement
|
||||||
fields = ('montant', 'description', 'date', 'etiquette')
|
fields = ('montant', 'description', 'date', 'etiquette')
|
||||||
widgets = {'etiquette': forms.Select(
|
widgets = {'montant': forms.TextInput(attrs={'class':'form-control'}),
|
||||||
|
'etiquette': forms.Select(
|
||||||
attrs={'class':'form-control custom-select'}
|
attrs={'class':'form-control custom-select'}
|
||||||
),
|
),
|
||||||
'date': forms.SelectDateWidget(
|
'date': forms.SelectDateWidget(
|
||||||
@@ -17,9 +33,19 @@ class EnregistrementForm(forms.ModelForm):
|
|||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
data = super().clean()
|
data = super().clean()
|
||||||
print(data)
|
|
||||||
# Force un nombre négatif si 'est_negatif' est coché
|
# Force un nombre négatif si 'est_negatif' est coché
|
||||||
if (data['est_negatif']
|
if (data['est_negatif']
|
||||||
and data['montant'] > 0):
|
and data['montant'] > 0):
|
||||||
self.cleaned_data['montant'] = 0 - data['montant']
|
self.cleaned_data['montant'] = 0 - data['montant']
|
||||||
return self.cleaned_data
|
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'}
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|||||||
@@ -13,9 +13,9 @@
|
|||||||
<label class="control-label" for="id_montant">Montant</label>
|
<label class="control-label" for="id_montant">Montant</label>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon">
|
<span class="input-group-addon">
|
||||||
<img src="{% static "img/minus-square.svg"%}" />{{ form.est_negatif}}
|
{{ form.est_negatif}}<img src="{% static "img/minus-square.svg"%}" />
|
||||||
</span>
|
</span>
|
||||||
<input class="form-control" type="number" id="id_montant" name="montant" required />
|
{{ form.montant }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% bootstrap_field form.description form_group_class="form-group col-8" %}
|
{% bootstrap_field form.description form_group_class="form-group col-8" %}
|
||||||
|
|||||||
@@ -8,7 +8,9 @@ from django import views
|
|||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
|
|
||||||
from .models import (Enregistrement, Etiquette, EnregistrementRecursif,)
|
from .models import (Enregistrement, Etiquette, EnregistrementRecursif,)
|
||||||
from .forms import EnregistrementForm
|
from .forms import (EnregistrementForm, EnregistrementSpecialForm,
|
||||||
|
EnregistrementRecursifForm,
|
||||||
|
)
|
||||||
|
|
||||||
# Utils
|
# Utils
|
||||||
|
|
||||||
@@ -90,7 +92,7 @@ class MonthView(views.generic.ListView):
|
|||||||
class EnregistrementAddView(views.generic.edit.CreateView):
|
class EnregistrementAddView(views.generic.edit.CreateView):
|
||||||
model = Enregistrement
|
model = Enregistrement
|
||||||
template_name_suffix = "_add"
|
template_name_suffix = "_add"
|
||||||
form_class = EnregistrementForm
|
form_class = EnregistrementSpecialForm
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
# Build the initial date
|
# Build the initial date
|
||||||
@@ -114,7 +116,7 @@ class EnregistrementAddView(views.generic.edit.CreateView):
|
|||||||
class EnregistrementUpdateView(views.generic.edit.UpdateView):
|
class EnregistrementUpdateView(views.generic.edit.UpdateView):
|
||||||
model = Enregistrement
|
model = Enregistrement
|
||||||
template_name_suffix = "_update_form"
|
template_name_suffix = "_update_form"
|
||||||
fields = "__all__"
|
form_class = EnregistrementForm
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
return reverse("month-view",
|
return reverse("month-view",
|
||||||
@@ -164,14 +166,14 @@ class RecursifListView(views.generic.ListView):
|
|||||||
|
|
||||||
class RecursifAddView(views.generic.edit.CreateView):
|
class RecursifAddView(views.generic.edit.CreateView):
|
||||||
model = EnregistrementRecursif
|
model = EnregistrementRecursif
|
||||||
fields = ('jour', 'description', 'etiquette', 'montant')
|
form_class = EnregistrementRecursifForm
|
||||||
template_name_suffix = "_add_form"
|
template_name_suffix = "_add_form"
|
||||||
success_url = reverse_lazy('recursif-list')
|
success_url = reverse_lazy('recursif-list')
|
||||||
|
|
||||||
|
|
||||||
class RecursifUpdateView(views.generic.edit.UpdateView):
|
class RecursifUpdateView(views.generic.edit.UpdateView):
|
||||||
model = EnregistrementRecursif
|
model = EnregistrementRecursif
|
||||||
fields = ('jour', 'description', 'etiquette', 'montant')
|
form_class = EnregistrementRecursifForm
|
||||||
template_name_suffix = "_update_form"
|
template_name_suffix = "_update_form"
|
||||||
success_url = reverse_lazy('recursif-list')
|
success_url = reverse_lazy('recursif-list')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user