from django import forms from .models import proveedor, bodega, tipo_articulo, articulo,inventario,tipo_inv_movimiento class formulario_proveedor(forms.ModelForm): class Meta: model = proveedor fields = '__all__' widgets={ 'nombre_proveedor': forms.TextInput(attrs={'class': 'form-control' , 'placeholder': 'Escribe el nombre del proveedor'}), 'email': forms.EmailInput(attrs={'class':'form-control','placeholder':'email del proveedor'}), 'direccion': forms.Textarea(attrs={'class':'form-control','placeholder':'direccion del proveedor','rows':'5'}), 'telefono': forms.TextInput(attrs={'type':'tel','class':'form-control','placeholder':'0000-0000','maxlength':'9' ,'oninput':'formatearInput(this)'}), } class formulario_bodega(forms.ModelForm): class Meta: model = bodega fields = '__all__' widgets={ 'nombre_bodega': forms.TextInput(attrs={'class': 'form-control' , 'placeholder': 'Escribe el nombre de la bodega'}), 'estado': forms.CheckboxInput(attrs={'class':'form-check-input'}), 'direccion_bodega': forms.Textarea(attrs={'class':'form-control','placeholder':'direccion de la bodega','rows':'5'}), 'codigo_bodega': forms.TextInput(attrs={'class': 'form-control' , 'placeholder': 'Escribe el codigo de la bodega','oninput':'permitirSoloNumeros(this)'}), } class formulario_tipo(forms.ModelForm): class Meta: model = tipo_articulo fields = '__all__' widgets={ 'tipo_articulo': forms.TextInput(attrs={'class': 'form-control' , 'placeholder': 'escriba el tipo de articulo'}), 'descripcion': forms.Textarea(attrs={'class':'form-control','placeholder':'escriba una descripcion de este tipo de articulo','rows':'5'}), } class formulario_articulo(forms.ModelForm): tipo_articulo=forms.ModelChoiceField(queryset=tipo_articulo.objects.all(), empty_label="Selecciona un tipo de articulo", widget=forms.Select(attrs={'class': 'btn btn-secondary dropdown-toggle', 'data-bs-toggle': 'dropdown', 'aria-expanded': 'false'}), label="tipo_articulo") proveedor=forms.ModelChoiceField(queryset=proveedor.objects.all(), empty_label="Selecciona un proveedor", widget=forms.Select(attrs={'class': 'btn btn-secondary dropdown-toggle ', 'data-bs-toggle': 'dropdown', 'aria-expanded': 'false'}), label="proveedor") class Meta: model = articulo fields = '__all__' widgets={ 'nombre_articulo': forms.TextInput(attrs={'class': 'form-control' , 'placeholder': 'escriba el nombre del articulo'}), 'medida': forms.TextInput(attrs={'class':'form-control','placeholder':'medida del producto lts, cm, etc'}), 'descripcion': forms.Textarea(attrs={'class':'form-control','placeholder':'describa el producto','rows':'5'}), } class formilario_inventarios(forms.ModelForm): articulo=forms.ModelChoiceField(queryset=articulo.objects.all(), empty_label="selecciones un articulo", widget=forms.Select(attrs={'class': 'btn btn-secondary dropdown-toggle', 'data-bs-toggle': 'dropdown', 'aria-expanded': 'false'}), label="articulo") bodega=forms.ModelChoiceField(queryset=bodega.objects.all(), empty_label="Selecciona una bodega", widget=forms.Select(attrs={'class': 'btn btn-secondary dropdown-toggle ', 'data-bs-toggle': 'dropdown', 'aria-expanded': 'false'}), label="bodega") class Meta: model = inventario fields = '__all__' widgets={ 'cantidad': forms.TextInput(attrs={'class': 'form-control' , 'placeholder': 'Cantidad de productos','oninput':'permitirSoloNumeros(this)',}), 'precio': forms.NumberInput(attrs={'class':'form-control','placeholder':'Ej: 99.99','step': '0.01','min':'0','max':'10000',}), } class formilario_inventario(forms.ModelForm): tipo_inventario=forms.ModelChoiceField(queryset=tipo_inv_movimiento.objects.all(), empty_label="selecciones un articulo", widget=forms.Select(attrs={'class': 'btn btn-secondary dropdown-toggle', 'data-bs-toggle': 'dropdown', 'aria-expanded': 'false'}), label="tipo de inventario") bodega=forms.ModelChoiceField(queryset=bodega.objects.all(), empty_label="Selecciona una bodega", widget=forms.Select(attrs={'class': 'btn btn-secondary dropdown-toggle ', 'data-bs-toggle': 'dropdown', 'aria-expanded': 'false'}), label="bodega") articulo=forms.ModelChoiceField(queryset=articulo.objects.all(), empty_label="Selecciona una bodega", widget=forms.Select(attrs={'class': 'btn btn-secondary dropdown-toggle ', 'data-bs-toggle': 'dropdown', 'aria-expanded': 'false'}), label="articulo") def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # Personaliza cómo se muestran las opciones en el dropdown self.fields['articulo'].label_from_instance = lambda obj: f"{obj.nombre_articulo} ({obj.medida})" if obj.medida else obj.nombre_articulo self.fields['bodega'].label_from_instance = lambda obj: f"{obj.nombre_bodega} ({obj.codigo_bodega})" if obj.codigo_bodega else obj.nombre_bodega class Meta: model = inventario fields = '__all__' widgets={ 'fecha': forms.DateInput(attrs={'type': 'date','class': 'form-control','placeholder': 'Seleccione una fecha'}), 'precio': forms.NumberInput(attrs={'class':'form-control','placeholder':'Ej: 99.99','step': '0.01','min':'0','max':'10000',}), 'cantidad': forms.TextInput(attrs={'class': 'form-control' , 'placeholder': 'Cantidad de productos','oninput':'permitirSoloNumeros(this)',}), 'observacion': forms.Textarea(attrs={'class':'form-control','placeholder':'observacion','rows':'5'}), }