#encoding:utf-8 from django import * from django.forms import * from seguimiento_oficios.models import * from django.forms.fields import DateField, ChoiceField, MultipleChoiceField from django.forms.widgets import * class PersonaForm( ModelForm ): class Meta: model = Personas # fields = ('observaciones','direccion',) #fields = ['nombre'] required = ('nombre') required_css_class = 'required' widgets = { 'nombre': TextInput(attrs={'placeholder': 'Escriba su nombre', 'class':'required'}), } def clean(self): return self.cleaned_data class DireccionForm( ModelForm ): class Meta: model = Direccion # fields = ('observaciones','direccion',) widgets = { 'dependencia': Select(attrs={'class':'mini'}), } def clean(self): return self.cleaned_data class PuestoForm( ModelForm ): class Meta: model = Puestos # fields = ('observaciones','direccion',) def clean(self): return self.cleaned_data class TituloForm( ModelForm ): class Meta: model = Titulos # fields = ('observaciones','direccion',) def clean(self): return self.cleaned_data class DependenciaForm( ModelForm ): class Meta: model = Dependencia def clean(self): return self.cleaned_data class EmpresaForm( ModelForm ): class Meta: model = NoDependencias def clean(self): return self.cleaned_data def tipo_documento_recibido(): # 2 Oficio recibido return TipoDocumento.objects.get(nombre = 'Oficio recibido').id def tipo_documento_elaborado(): # 1 Oficio elaborado return TipoDocumento.objects.get(nombre = 'Oficio elaborado').id class ClassName(object): """docstring for ClassName""" def __init__(self, arg): super(ClassName, self).__init__() self.arg = arg class recepcion_oficioForm(ModelForm): no_oficio_respuesta_contestacion = CharField(max_length=50, label='Recibimos respuesta al oficio número', required=False) class Meta: model = recepcion_oficio exclude = ('dependencia', 'captura', 'activo') def clean_no_oficio_respuesta_contestacion(self): no_oficio_respuesta_contestacion = self.cleaned_data['no_oficio_respuesta_contestacion'] try: if no_oficio_respuesta_contestacion != '': oficio = elaboracion_oficio.objects.get(no_oficio=no_oficio_respuesta_contestacion) else: oficio = None except elaboracion_oficio.DoesNotExist, e: raise forms.ValidationError('El numero de oficio proporcionado no se encuentra') except recepcion_oficio.MultipleObjectsReturned,e: raise forms.ValidationError('El oficio que desea relacionar está duplicado. Verifiquelo y conserve uno solamente.') return oficio def clean(self): return self.cleaned_data def __init__(self, *args, **kwargs): super(recepcion_oficioForm, self).__init__(*args, **kwargs) self.fields['estatus'].queryset = Estatus.objects.filter( tipo_documento = tipo_documento_recibido).order_by('nombre') class asignacion_oficioForm(ModelForm): class Meta: model = asignacion_oficio exclude = ('direccion', 'asigna', 'activo') def clean(self): return self.cleaned_data class elaboracion_oficioForm(ModelForm): no_oficio_respuesta= CharField(max_length=50, label='Número de folio que responde', required=False) class Meta: model = elaboracion_oficio exclude = ('dependencia', 'usuario', 'fecha_captura', 'activo') widgets = { 'otro_estatus': TextInput(attrs={'placeholder': '', 'disabled':'disabled'}), # 'no_oficio_respuesta': Select(attrs={'disabled':'disabled'}), } def clean_no_oficio_respuesta(self): no_oficio_respuesta = self.cleaned_data['no_oficio_respuesta'] try: if no_oficio_respuesta != '': oficio = recepcion_oficio.objects.get(folio_interno =no_oficio_respuesta) else: oficio = None except recepcion_oficio.DoesNotExist, e: raise forms.ValidationError('El numero de oficio proporcionado no se encuentra.') except recepcion_oficio.MultipleObjectsReturned,e: raise forms.ValidationError('El oficio que desea relacionar está duplicado. Verifiquelo y conserve uno solamente.') return oficio def clean(self): return self.cleaned_data def __init__(self, *args, **kwargs): super(elaboracion_oficioForm, self).__init__(*args, **kwargs) self.fields['estatus'].queryset = Estatus.objects.filter( tipo_documento = tipo_documento_elaborado).order_by('nombre') from django.contrib.auth.forms import UserChangeForm class UsuarioForm(UserChangeForm): """docstring for UsuarioForm""" class Meta(UserChangeForm.Meta): fields = ( 'username', 'password', 'first_name', 'last_name', 'email', 'is_active', 'is_superuser', 'groups', 'user_permissions', )