Files
AS_timbres/IMMEX/forms.py
fjrodriguez 98a58d5eea Liberacion
2024-02-01 11:41:05 -06:00

85 lines
2.6 KiB
Python

from django import forms
from django.forms import inlineformset_factory
from .models import ClientesA24, Suspension_Modulos_Permisos_Cliente,SuspensionModulo,SuspensionPermiso,Modulo
from datetime import datetime
from django.utils.html import format_html
class ClienteForm_IMMEX(forms.ModelForm):
fecha_baja = forms.DateField(
required=False,
initial=datetime.now(),
input_formats=["%Y-%m-%d"],
widget=forms.DateInput(attrs={'type':'date'},format="%Y-%m-%d")
)
class Meta:
model = ClientesA24
fields = ('RFC','Nombre','Activo','fecha_baja', )
def clean(self):
super(ClienteForm_IMMEX,self).clean()
Activo = self.cleaned_data.get("Activo")
fecha_baja = self.cleaned_data.get("fecha_baja")
if Activo and fecha_baja:
self.errors['fecha_baja'] = self.error_class(["El parametro activo no puede estar seleccionado si hay fecha de baja"])
return self.cleaned_data
class SuspensionModulosPermisosClienteForm(forms.ModelForm):
button_field = forms.CharField(
widget=forms.TextInput(attrs={'id':'add-sistema-cliente','type': 'button', 'value': 'Agregar Sistema-Cliente', "class":"btn btn-info"}),
required=False,
label=''
)
class Meta:
model = Suspension_Modulos_Permisos_Cliente
fields = '__all__'
class SuspensionPermisoForm(forms.ModelForm):
modulo_extra = forms.ModelChoiceField(queryset=SuspensionModulo.objects.all(), required=False, label='Reasignar Modulo')
class Meta:
model = SuspensionPermiso
fields = '__all__'
class SuspensionModuloForm(forms.ModelForm):
class Meta:
model = SuspensionModulo
fields = '__all__'
SuspensionModuloFormSet = inlineformset_factory(
Suspension_Modulos_Permisos_Cliente,
SuspensionModulo,
form=SuspensionModuloForm,
extra=5,
can_delete=True,
)
#se usa "SuspensionModuloFormSet2" en el UpdateView para pasar el Extra igual a cero
SuspensionModuloFormSet2 = inlineformset_factory(
Suspension_Modulos_Permisos_Cliente,
SuspensionModulo,
form=SuspensionModuloForm,
extra=1,
can_delete=True,
)
SuspensionPermisoFormSetCreate = inlineformset_factory(
Suspension_Modulos_Permisos_Cliente, # Modelo padre
SuspensionPermiso, # Modelo hijo
form=SuspensionPermisoForm,
extra=3,
can_delete=True,
)
SuspensionPermisoFormSet = inlineformset_factory(
Suspension_Modulos_Permisos_Cliente, # Modelo padre
SuspensionPermiso, # Modelo hijo
form=SuspensionPermisoForm,
extra=0,
can_delete=True,
)