You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Registros/tasks/forms.py

45 lines
2.1 KiB

from django import forms
from .models import Cuenta, Movimientos, TipoMovimiento
from django.core.exceptions import ValidationError
from datetime import datetime
class RegistroCuentaForm(forms.ModelForm):
class Meta:
model = Cuenta
fields = ['cuenta', 'observacion']
widgets = {
'cuenta': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Nombre de la cuenta'}),
'observacion': forms.Textarea(attrs={'class': 'form-control', 'rows': 3, 'placeholder': 'Observaciones'}),
}
class RegistroMovimientosForm(forms.ModelForm):
tipo_movimiento = forms.ModelChoiceField(
queryset=TipoMovimiento.objects.all(),
empty_label="Seleccione un tipo de movimiento",
widget=forms.Select(attrs={'class': 'form-control'}),
label="Tipo de movimiento"
)
fecha_factura = forms.DateField(
widget=forms.DateInput(
attrs={'type': 'date', 'class': 'form-control',
'max': datetime.now().strftime('%Y-%m-%dT%H:%M')}
),
label="Fecha de factura",
)
class Meta:
model = Movimientos
fields = ['tipo_movimiento','fecha_factura', 'saldo','n_factura', 'observacion','proveedor','responsable_cuenta']
widgets = {
'saldo': forms.NumberInput(attrs={'class': 'form-control', 'placeholder': 'Monto'}),
'observacion': forms.Textarea(attrs={'class': 'form-control', 'rows': 3, 'placeholder': 'Observaciones'}),
'n_factura': forms.NumberInput(attrs={'class': 'form-control', 'placeholder': 'Ingrese numero de factura'}),
'proveedor': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Nombre del proveedor'}),
'responsable_cuenta': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Nombre del responsable'}),
}
def clean_fecha_factura(self):
fecha_factura = self.cleaned_data.get('fecha_factura')
if fecha_factura > datetime.now().date():
raise ValidationError("La fecha no puede ser en el futuro.")
return fecha_factura