# Create your views here. #encoding:utf-8 from expediente.models import * from expediente.forms import * from django.http import * from django.template.response import * from django.contrib.auth import * from django.contrib.auth.decorators import * from expediente.models import * from django.shortcuts import * from django.contrib.auth.models import User from expediente.forms import * import json from django.core import serializers from datetime import * from django.contrib import messages from django.db.models import * from django.template.response import TemplateResponse from django.utils.html import format_html, format_html_join from django.db.models import Q from django.utils import formats from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from django.shortcuts import * #Atender canalizacion de Psicologia def principal_tecnico(request): menores=MovimientoMenor.objects.filter(expediente__estatus__id=4,expediente__foto='') form = BusquedaForm() return render_to_response('principal_tecnico.html',{'datos':menores,'form':form, 'principal':'active','Revision':'closed', 'activo':'closed','no_activo':'closed','Medico':'closed', 'Psicologia':'closed','configuraciones':'closed','Social':'closed', 'Pedagogia':'closed','Nutricion':'closed','Medico':'closed', 'Preregistro':'closed','Registro':'closed','Juridico':'closed', 'parentesco':'closed','Canaliza':'closed','Egreso':'closed', 'Foto':'closed' },context_instance=RequestContext(request)) def principal_coordinacion(request): menores=MovimientoMenor.objects.filter(expediente__estatus__id=4,expediente__foto='') documento = Documento.objects.all().order_by("-id") p = Parentesco.objects.all().order_by("-id") medicoAtrasados=Medico.objects.filter(estatus__id__in=(3,5)) return render_to_response('principal_coordinacion.html',{'documento':documento,'p':p,'medicos':medicoAtrasados, 'principal':'active','Revision':'closed', 'activo':'closed','no_activo':'closed','Medico':'closed', 'Psicologia':'closed','configuraciones':'closed','Social':'closed', 'Pedagogia':'closed','Nutricion':'closed','Medico':'closed', 'Preregistro':'closed','Registro':'closed','Juridico':'closed', 'parentesco':'closed','Canaliza':'closed','Egreso':'closed', 'Foto':'closed' },context_instance=RequestContext(request)) from pure_pagination import Paginator, EmptyPage, PageNotAnInteger @login_required(login_url="/login") def busqueda_expediente(request): if request.method=='POST': form = BusquedaForm(request.POST) if form.is_valid(): numero = request.POST['expediente'] nombre = request.POST['expediente'] apellido_paterno = request.POST['expediente'] apellido_materno = request.POST['expediente'] nombre1 = numero.split(" ") try: #expediente=Canaliza.objects.get(expediente__numero=numero,expediente__estatus__id=4) canaliza=Expediente.objects.filter(Q(numero = numero) | Q(menor__nombre__icontains = nombre) | Q(menor__apellido_paterno__icontains = apellido_paterno) | Q(menor__apellido_materno__icontains = apellido_materno), estatus__id__in = (4,1)) valor = canaliza.count() if valor == 0: canaliza=Expediente.objects.filter( Q(menor__nombre__icontains = nombre1[0]),Q(menor__apellido_paterno__icontains = nombre1[1]),Q( estatus__id__in= (4,1))) valor2 = canaliza.count() if valor2== 0: canaliza=Expediente.objects.filter( Q(menor__nombre__icontains = nombre1[0]),Q(menor__apellido_materno__icontains = nombre1[1]),Q( estatus__id__in = (4,1))) return TemplateResponse(request,'consulta_revision.html',{'encontrados':canaliza}) except Exception, e: messages.error(request, 'No existe el expediente') return HttpResponseRedirect('/revisa/busqueda/') else: form = BusquedaForm() menores=Expediente.objects.filter(estatus__id__in=(4,1)) bscr = request.GET.get('bscr') if request.GET.get('bscr') else '' if bscr != '': menores = menores.filter(Q(menor__nombre__icontains = bscr) | Q(numero__icontains = bscr) | Q(menor__apellido_paterno__icontains = bscr)| Q(menor__apellido_materno__icontains = bscr)) rpp = int(request.GET.get('rpp')) if request.GET.get('rpp') else 10 paginator = Paginator(menores,rpp) page = request.GET.get('page') if request.GET.get('page') else 1 try: contacts = paginator.page(page) except PageNotAnInteger: contacts = paginator.page(1) except EmptyPage: contacts = paginator.page(paginator.num_pages) return render_to_response('busqueda_revision_form.html',{'contacts':contacts,'rpp':rpp,'bscr':bscr, 'page':page,'datos':contacts,'form':form,'rev':'rev', 'area':'Buscar Expediente','uno':'uno','Revision':'active', 'activo':'closed','no_activo':'closed','Medico':'closed', 'Psicologia':'closed','configuraciones':'closed','Social':'closed', 'Pedagogia':'closed','Nutricion':'closed','Medico':'closed', 'Preregistro':'closed','Registro':'closed','Juridico':'closed', 'parentesco':'closed','Canaliza':'closed','Egreso':'closed', 'Foto':'closed'},context_instance=RequestContext(request)) @login_required(login_url="/login") def busqueda_egreso(request): if request.method=='POST': form = BusquedaForm(request.POST,request.FILES) if form.is_valid(): numero = request.POST['expediente'] nombre = request.POST['expediente'] apellido_paterno = request.POST['expediente'] apellido_materno = request.POST['expediente'] nombre1 = numero.split(" ") try: canaliza=Expediente.objects.filter(Q(numero = numero) | Q(menor__nombre__icontains = nombre) | Q(menor__apellido_paterno__icontains = apellido_paterno) | Q(menor__apellido_materno__icontains = apellido_materno), estatus__id = 4) valor = canaliza.count() if valor == 0: canaliza=Expediente.objects.filter( Q(menor__nombre__icontains = nombre1[0]),Q(menor__apellido_paterno__icontains = nombre1[1]),Q( estatus__id = 4)) valor2 = canaliza.count() if valor2== 0: canaliza=Expediente.objects.filter( Q(menor__nombre__icontains = nombre1[0]),Q(menor__apellido_materno__icontains = nombre1[1]),Q( estatus__id = 4)) return TemplateResponse(request,'consultarExpediente.html',{'encontrados':canaliza}) except Exception, e: messages.error(request, 'No existe el expediente') return HttpResponseRedirect('/revisa/busca_egreso/') else: form = BusquedaForm() return render_to_response('nutricion_form.html',{'form':form,'regreso':'regreso','area':'Buscar Expediente','uno':'uno','Revision':'closed', 'activo':'closed','no_activo':'closed','Medico':'closed', 'Psicologia':'closed','configuraciones':'closed','Social':'closed', 'Pedagogia':'closed','Nutricion':'closed','Medico':'closed', 'Preregistro':'closed','Registro':'closed','Juridico':'closed', 'parentesco':'closed','Canaliza':'closed','Egreso':'active', 'Foto':'closed'},context_instance=RequestContext(request)) @login_required(login_url="/login") def add_observaciones(request,canaliza_id): canaliza=Canaliza.objects.get(id=canaliza_id) if request.method=='POST': form = ObservacionesForm(request.POST,) if form.is_valid(): canalizaID=request.POST['menor_id'] canaliza=Canaliza.objects.get(id=canalizaID) observacion=form.save(commit=False) observacion.canaliza=canaliza observacion.save() messages.success(request, 'La observacion ha sido agregada') return HttpResponseRedirect('/expediente/consultarMenor/%s/'%(canaliza.expediente.id)) else: canaliza_id=canaliza_id form = ObservacionesForm() return render_to_response('nutricion_form.html',{'form':form,'expediente':canaliza_id,'menor':canaliza.expediente.id,'obs':'obs', 'area':'Agregar Observaciones','Revision':'active', 'activo':'closed','no_activo':'closed','Medico':'closed', 'Psicologia':'closed','configuraciones':'closed','Social':'closed', 'Pedagogia':'closed','Nutricion':'closed','Medico':'closed', 'Preregistro':'closed','Registro':'closed','Juridico':'closed', 'parentesco':'closed','Canaliza':'closed','Egreso':'closed', 'Foto':'closed'},context_instance=RequestContext(request)) @login_required(login_url="/login") def movimiento_egresar(request,expediente_id): expediente=Expediente.objects.get(id=expediente_id) menor=Menor.objects.get(id=expediente.menor.id) if request.method=='POST': form = MovimientoMenorForm2(request.POST) formDomicilio=DomicilioForm2(request.POST) print(form) if form.is_valid() and formDomicilio.is_valid(): tipo=int(request.POST['tipo_movimiento']) tipo_movimiento=CatalogoTipoMovimiento.objects.get(id=tipo) domicilio=formDomicilio.save() movimiento=form.save(commit=False) usuario=request.user.id empleado=Empleado.objects.get(user=usuario) movimiento.expediente=expediente movimiento.menor=menor movimiento.tipo_movimiento=tipo_movimiento movimiento.empleado=empleado movimiento.domicilio=domicilio movimiento.save() expedienteActivo=Expediente.objects.get(id=expediente.id) estatus=Estatus.objects.get(id=3) expedienteActivo.estatus=estatus expedienteActivo.save() messages.success(request, 'Se ha registrado el Egreso del menor') return HttpResponseRedirect('/revisa/busca_egreso/') else: form = MovimientoMenorForm2() formDomicilio = DomicilioForm2(initial={'estado':'27'}) formDomicilio.fields["municipio"].queryset = Municipio.objects.filter(estado__id=27) formDomicilio.fields["localidad"].queryset = Localidad.objects.filter(municipio__estado__id=27) #MovimientoMenorForm2.base_fields['tipo_movimiento'] = forms.ModelChoiceField(queryset =CatalogoTipoMovimiento.objects.filter(tipo="Egreso")) return render_to_response('movimiento_form.html',{'form':form,'area':'Egreso del Menor','Revision':'closed', 'formDomicilio':formDomicilio,'activo':'closed','no_activo':'closed','Medico':'closed', 'Psicologia':'closed','configuraciones':'closed','Social':'closed', 'Pedagogia':'closed','Nutricion':'closed','Medico':'closed', 'Preregistro':'closed','Registro':'closed','Juridico':'closed', 'parentesco':'closed','Canaliza':'closed','Egreso':'active', 'Foto':'closed','egreso':'egreso'},context_instance=RequestContext(request)) @login_required(login_url="/login") def busqueda_expediente_presidencia(request): if request.method=='POST': form = BusquedaForm(request.POST,request.FILES) if form.is_valid(): numero = request.POST['expediente'] nombre = request.POST['expediente'] apellido_paterno = request.POST['expediente'] apellido_materno = request.POST['expediente'] nombre1 = numero.split(" ") try: canaliza=Expediente.objects.filter(Q(numero = numero) | Q(menor__nombre__icontains = nombre) | Q(menor__apellido_paterno__icontains = apellido_paterno) | Q(menor__apellido_materno__icontains = apellido_materno), estatus__id = 4) valor = canaliza.count() if valor == 0: canaliza=Expediente.objects.filter( Q(menor__nombre__icontains = nombre1[0]),Q(menor__apellido_paterno__icontains = nombre1[1]),Q( estatus__id = 4)) valor2 = canaliza.count() if valor2== 0: canaliza=Expediente.objects.filter( Q(menor__nombre__icontains = nombre1[0]),Q(menor__apellido_materno__icontains = nombre1[1]),Q( estatus__id = 4)) return TemplateResponse(request,'consulta_presidencia.html',{'encontrados':canaliza}) except Exception, e: messages.error(request, 'No existe el expediente') return HttpResponseRedirect('/revisa/busquedapresidencia/') else: form = BusquedaForm() menores=Expediente.objects.filter(estatus__id=4) bscr = request.GET.get('bscr') if request.GET.get('bscr') else '' if bscr != '': menores = menores.filter(Q(menor__nombre__icontains = bscr) | Q(numero__icontains = bscr) | Q(menor__apellido_paterno__icontains = bscr)| Q(menor__apellido_materno__icontains = bscr)) rpp = int(request.GET.get('rpp')) if request.GET.get('rpp') else 10 paginator = Paginator(menores,rpp) page = request.GET.get('page') if request.GET.get('page') else 1 try: contacts = paginator.page(page) except PageNotAnInteger: contacts = paginator.page(1) except EmptyPage: contacts = paginator.page(paginator.num_pages) return render_to_response('presidencia_busca.html',{'contacts':contacts,'rpp':rpp,'bscr':bscr, 'page':page,'datos':contacts,'form':form,'area':'Buscar Expediente','uno':'uno','Revision':'active', 'activo':'closed','no_activo':'closed','Medico':'closed', 'Psicologia':'closed','configuraciones':'closed','Social':'closed', 'Pedagogia':'closed','Nutricion':'closed','Medico':'closed', 'Preregistro':'closed','Registro':'closed','Juridico':'closed', 'parentesco':'closed','Canaliza':'closed','Egreso':'closed', 'Foto':'closed'},context_instance=RequestContext(request)) @login_required(login_url="/login") def menor_encontrado(request,canaliza_id): try: canaliza=Canaliza.objects.get(expediente__id=canaliza_id) if canaliza: movimiento=MovimientoMenor.objects.get(expediente=canaliza_id) psicologia=Psicologia.objects.filter(canaliza=canaliza) pedagogia=Pedagogia.objects.filter(canaliza=canaliza) medico=Medico.objects.filter(canaliza=canaliza) social=Social.objects.filter(canaliza=canaliza) juridico=Juridico.objects.filter(canaliza=canaliza) nutricion=Nutricion.objects.filter(canaliza=canaliza) historial=MovimientoMenor.objects.filter(menor=canaliza.expediente.menor) return render_to_response('datos_consulta_presidencia.html',{'datos':movimiento,'psicologia':psicologia, 'pedagogia':pedagogia,'medico':medico, 'social':social,'juridico':juridico, 'nutricion':nutricion,'historial':historial},context_instance=RequestContext(request)) except Exception, e: messages.error(request,'El menor no ha sido canalizado') historial=MovimientoMenor.objects.filter(expediente__id=canaliza_id) return render_to_response('datos_consulta_presidencia.html',{'historial':historial},context_instance=RequestContext(request)) from django.views.decorators.csrf import csrf_exempt @csrf_exempt def consultarArea(request): if request.is_ajax(): if request.method=='GET': respuest="este se envio via get" elif request.method=='POST': id_organismo=request.POST['id_organismo'] id_organismo=int(id_organismo) partidas=serializers.serialize("json",Area.objects.all().filter(organismo__id=id_organismo),fields=('id','nombre')) return HttpResponse(partidas,mimetype="application/javascript") def mostrar_usuarios(request): usuarios = User.objects.filter(is_active=True).exclude(username='dgtic') context = {'usuarios' : usuarios} return render (request, 'control_usuarios.html', context)