# encoding:utf-8 from django import forms from django.contrib.auth.models import User from oficios.models import * from django.forms.widgets import * import datetime def get_nombre_usuario(usuario): nombre = None if hasattr(usuario, 'funcionario'): funcionario = r'%s (%s)' % (str(usuario.funcionario), usuario.funcionario.adscripcion) return (usuario.username, funcionario) if hasattr(usuario, 'adscripcion'): return (usuario.username, str(usuario.adscripcion)) if hasattr(usuario, 'personafisica'): persona = None if usuario.personafisica.empresa: persona = r'%s (%s)' % (str(usuario.personafisica), usuario.personafisica.empresa) else: persona = r'%s' % str(usuario.personafisica) return (usuario.username, persona) if hasattr(usuario, 'empresa'): return (usuario.username, str(usuario.empresa)) if usuario.get_full_name(): return (usuario.username, usuario.get_full_name()) else: return (usuario.username, usuario.username) def get_usuarios(): users = User.objects.filter(is_active=True).exclude(username='dgtic') usuarios = [] for usuario in users: usuarios.append(get_nombre_usuario(usuario)) return usuarios PLACEHOLDER = ( (""), (""), ) class OficioForm(forms.ModelForm): class Meta: model = Oficio exclude = [ 'folio', 'propietario', 'es_respuesta', 'oficio_responde', 'observaciones', 'requiere_atencion', 'persona_registro' ] class EnvioForm(forms.ModelForm): para = forms.CharField(widget=forms.TextInput(attrs={'class': 'span12'})) ccp = forms.CharField(required=False, widget=forms.TextInput(attrs={'class': 'span12'})) hoficio = forms.IntegerField(widget=forms.HiddenInput) class Meta: model = Envio exclude = [ 'usuario_envia', 'usuarios_reciben', 'oficio', 'usuarios_copia' ] class RecepcionForm(forms.ModelForm): """docstring for RecepcionForm""" # def __init__(self, *args, **kwargs): # super(RecepcionForm, self).__init__(*args, **kwargs) # self.fields['de'] = forms.ChoiceField(choices=get_usuarios()) de = forms.CharField() hde = forms.CharField(widget=forms.HiddenInput) fecha_recepcion = forms.DateField(initial=datetime.datetime.now()) # hoficio = forms.IntegerField(widget=forms.HiddenInput, required=False) class Meta: model = Envio exclude = [ 'usuario_envia', 'usuarios_reciben', 'oficio', 'usuarios_copia' ] class RecepcionForm2(forms.ModelForm): """docstring for RecepcionForm""" de = forms.ChoiceField() fecha_recepcion = forms.DateTimeField() class Meta: model = Envio fields = [ 'de', 'fecha_recepcion' ] class RespuestaOficio(forms.ModelForm): oficioAResponder = forms.IntegerField(widget=forms.HiddenInput) usuario_recibe = forms.IntegerField(widget=forms.HiddenInput) class Meta: model = Oficio exclude = [ 'folio', 'propietario', 'es_respuesta', 'oficio_responde', 'observaciones', 'requiere_atencion', 'persona_registro' ] class AsignacionForm(forms.ModelForm): """docstring for AsignacionForm""" asignar_a = forms.CharField(widget=forms.TextInput(attrs={'class': 'span12'})) ccp = forms.CharField(required=False, widget=forms.TextInput(attrs={'class': 'span12'})) recepcion = forms.IntegerField(widget=forms.HiddenInput, required=False) asignacion = forms.IntegerField(widget=forms.HiddenInput, required=False) hoficio = forms.IntegerField(widget=forms.HiddenInput) class Meta: model = Asignacion widgets = { 'observaciones': forms.Textarea(attrs={'class': 'span12'}) } exclude = [ 'usuario_asigna', 'usuarios_asignados', 'oficio', 'usuarios_copia', 'observaciones' ] class ReasignacionForm(forms.ModelForm): """docstring for AsignacionForm""" asignar_a = forms.CharField(widget=forms.TextInput(attrs={'class': 'span12'})) ccp = forms.CharField(required=False, widget=forms.TextInput(attrs={'class': 'span12'})) recepcion = forms.IntegerField(widget=forms.HiddenInput, required=False) asignacion = forms.IntegerField(widget=forms.HiddenInput, required=False) hoficio = forms.IntegerField(widget=forms.HiddenInput) class Meta: model = Asignacion widgets = { 'observaciones': forms.Textarea(attrs={'class': 'span12'}) } exclude = [ 'usuario_asigna', 'usuarios_asignados', 'oficio', 'usuarios_copia', ] class MesaAyudaForm(forms.ModelForm): class Meta: model = MesaAyuda exclude = [ 'es_respuesta', 'oficio_responde', ]