Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Create your views here.
- from django.shortcuts import render_to_response, get_object_or_404
- from django.template import RequestContext
- from django.http import HttpResponseRedirect,HttpResponse
- from django.contrib.auth import login, authenticate, logout
- from django.contrib.auth.decorators import login_required
- from django.contrib.auth.forms import UserCreationForm
- from django.utils import simplejson
- from django.views.decorators.csrf import csrf_exempt
- from django.forms.models import inlineformset_factory
- from ficha.models import formingreso
- from ficha.models import Idioma, IdiomaForm
- from ficha.models import Estcivil, EstcivilForm
- from ficha.models import Documento, DocumentoForm
- from ficha.models import Modoingreso, ModoingresoForm
- from ficha.models import Ocurrencias, OcurrenciasForm
- from ficha.models import Acteconomica,ActeconomicaForm
- from ficha.models import Ingresoeconomico,IngresoeconomicoForm
- from ficha.models import Vivienda, ViviendaForm
- from ficha.models import Tipvivienda, TipviviendaForm
- from ficha.models import Materialv, MaterialvForm
- from ficha.models import Serviciosv, ServiciosvForm
- from ficha.models import Bienesv, BienesvForm
- from ficha.models import Enfermedad, EnfermedadForm
- from ficha.models import Integrante, IntegranteForm
- from ficha.models import Familiarvive, FamiliarviveForm
- from ficha.models import Datofamilia, DatofamiliaForm
- from ficha.models import Hogar, HogarForm
- from ficha.models import Cuarto, CuartoForm
- from ficha.models import Alimentacion, AlimentacionForm
- from ficha.models import Salud, SaludForm
- from ficha.models import Categoria, CategoriaForm
- from ficha.models import Evaluador, EvaluadorForm
- from ficha.models import Colegio, ColegioForm
- from ficha.models import Avenida, AvenidaForm
- from ficha.models import Estudiante, EstudianteForm
- from ficha.models import Academia, AcademiaForm
- from ficha.models import Carrera, CarreraForm
- from ficha.models import Postulante, PostulanteForm
- from ficha.models import Facultad, FacultadForm
- from ficha.models import Semestre, SemestreForm
- from ficha.models import Condicionacad, CondicionacadForm
- from ficha.models import Ayudanos, AyudanosForm
- from ficha.models import ActivarFacultades
- import datetime
- import json
- @login_required(login_url='/ingreso/')
- def salida(request):
- logout(request)
- return render_to_response('salir.html')
- def index(request):
- diccio={}
- return render_to_response('index.html',{'datos':diccio})
- def ingreso(request):
- if request.method == 'POST':
- formu = formingreso(request.POST)
- usuariologin = request.POST['usuarioform']
- passlogin = request.POST['passform']
- acceso = authenticate(username=usuariologin,password=passlogin)
- if acceso is not None:
- if acceso.is_active:
- login(request,acceso)
- return HttpResponseRedirect('/facultades/')
- else:
- return render_to_response('noactivo.html')
- else:
- return render_to_response('nousuario.html')
- else:
- formu = formingreso()
- return render_to_response('ingreso.html',{'formu':formu},context_instance=RequestContext(request))
- def ficha(request,num_tab):
- #todos los formularios
- formularios=[EstudianteForm,PostulanteForm,DatofamiliaForm,HogarForm,SaludForm,AyudanosForm]
- #formularios_datos=[EstudianteForm(),PostulanteForm(),DatofamiliaForm(),HogarForm(),LugarForm(),SaludForm(),EvaluadorForm()]
- num_tab=int(num_tab)
- afirmacion_bool=''
- grabar2=False
- #comprobar si ya rrelleno la ficha 1, caso contrario redirigirahi
- if num_tab!=1:
- try:
- cod_matri=request.session['codmatricula']
- except:
- return HttpResponseRedirect('/ficha/1')
- #comprobar si la ficha solicitada ya fue rellenada
- try:
- if num_tab>=1 and num_tab<=6:
- if request.session[str(num_tab)]=='1':
- rellenados=[]
- for x in range(1,7):
- try:
- if request.session[str(x)]=='1':
- rellenados.append('1')
- except:
- rellenados.append('0')
- for x in range(0,6):
- if rellenados[x]=='0':
- nuevo_tab=x
- break
- return HttpResponseRedirect('/ficha/'+str(nuevo_tab))
- except:
- pass
- if request.method == 'POST':
- if num_tab in [2,3,4,5,6]:
- estudiante=Estudiante.objects.get(pk=request.session['codmatricula'])
- formulario = formularios[num_tab-1](request.POST,request.FILES)
- if num_tab==4: formulario=HogarForm(request.POST,request.FILES)
- print formulario.data
- new_form = formulario.save(commit=False)
- new_form.estudiante=estudiante
- new_form.save()
- grabar2=True
- else:
- formulario= formularios[num_tab-1](request.POST,request.FILES)
- if num_tab==3:
- afirmacion_bool=request.POST['vive'];
- if afirmacion_bool=='S':
- formulario2=FamiliarviveForm(request.POST)
- elif num_tab==4:
- afirmacion_bool=request.POST['cuarto'];
- if afirmacion_bool=='S':
- formulario2=CuartoForm(request.POST,request.FILES)
- if formulario.is_valid():
- sw=True
- if afirmacion_bool=='S':
- if formulario2.is_valid(): sw=True
- else: sw=False
- if sw:
- #if grabar2: grabado=formulario.save_m2m()
- grabado=formulario.save()
- if num_tab==1:
- request.session['codmatricula']=request.POST['codmatricula']
- if afirmacion_bool=='S':
- familiar=grabado
- new_form2 = formulario2.save(commit=False)
- if num_tab==3:
- new_form2.familiar=familiar
- elif num_tab==4:
- new_form2.estudiante=estudiante
- new_form2.save()
- formulario2.save()
- if num_tab==3:
- request.session[str(num_tab)]='0'
- else:
- request.session[str(num_tab)]='1'
- if num_tab==6:
- return HttpResponseRedirect('/finalizado/')
- if num_tab==3:
- return HttpResponseRedirect('/ficha/3')
- return HttpResponseRedirect('/ficha/'+str(num_tab+1))
- else:
- #Si hay algun error en el formulario2
- return HttpResponseRedirect('/ficha/'+str(num_tab))
- else:
- #Si hay algun error en el formulario
- print "ERROR!!!! WTF"
- #return HttpResponseRedirect('/ficha/'+str(num_tab))
- titulos=['Datos personales del Estudiante','Datos del Postulante','Datos de familia','Datos del hogar',
- 'Datos de su Salud','Ayudanos']
- titulo=titulos[num_tab]
- if afirmacion_bool=='S':
- formulario_fam=formulario2
- else:
- formulario_fam=''
- rellenados=[]
- for x in range(1,7):
- try:
- rellenados.append({'num_tab':x,'rellenado':request.session[str(x)]})
- except:
- rellenados.append({'num_tab':x,'rellenado':'0'})
- hoy=datetime.date.today()
- facultades = ActivarFacultades.objects.filter(fecha=hoy)[0]
- return render_to_response('ficha.html',{'formulario':formulario,'num_tab':num_tab,'titulo':titulo,'formulario_fam':formulario_fam,'rellenados':rellenados,'facultades':facultades},context_instance=RequestContext(request))
- else:
- #formulario = formulario_datos[num_tab-1]
- hoy=datetime.date.today()
- facultades = ActivarFacultades.objects.filter(fecha=hoy)[0]
- formulario_fam = ''
- if num_tab == 1:
- formulario = EstudianteForm()
- titulo='Datos personales del Estudiante'
- elif num_tab == 2:
- formulario = PostulanteForm()
- titulo='Datos del Postulante'
- elif num_tab == 3:
- formulario = DatofamiliaForm()
- titulo='Datos de familia'
- formulario_fam = FamiliarviveForm()
- elif num_tab == 4:
- formulario = HogarForm()
- titulo='Datos del hogar'
- formulario_fam = CuartoForm()
- elif num_tab == 5:
- formulario = SaludForm()
- titulo='Datos de su Salud'
- elif num_tab == 6:
- formulario = AyudanosForm()
- titulo='Ayudanos'
- if num_tab<6 :
- siguiente=num_tab+1
- else:
- siguiente=1
- try:
- cod_matricula=request.session['codmatricula']
- except:
- cod_matricula=''
- rellenados=[]
- for x in range(1,7):
- try:
- rellenados.append({'num_tab':x,'rellenado':request.session[str(x)]})
- except:
- rellenados.append({'num_tab':x,'rellenado':'0'})
- return render_to_response('ficha.html',{'formulario':formulario,'num_tab':num_tab,'siguiente':siguiente,'titulo':titulo,'formulario_fam':formulario_fam,'cod_matricula':cod_matricula,'rellenados':rellenados,'facultades':facultades},context_instance=RequestContext(request))
- ########
- @login_required(login_url='/login/')
- def evaluacion(request,id_estudiante):
- if request.method == 'POST':
- formo= EvaluadorForm(request.POST)
- categoria=Categoria.objects.get(pk=request.POST['categoria'])
- evaluador=request.user
- apreciacion=request.POST['apreciacion']
- visita=request.POST['visita']
- estudiante=Estudiante.objects.get(pk=request.POST['estudiante_id'])
- formu=Evaluador(visita=visita,apreciacion=apreciacion,categoria=categoria,evaluador=evaluador,estudiante=estudiante)
- formu.save()
- return HttpResponseRedirect('/facultades/')
- #if formo.is_valid():
- # formo.save()
- # return HttpResponseRedirect('/ocurrencias/')
- else:
- formo = EvaluadorForm()
- return render_to_response('evaluacion.html',{'formo':formo,'id_estudiante':id_estudiante},context_instance=RequestContext(request))
- @login_required(login_url='/login/')
- def reporte(request,id_estudiante):
- print "a"
- datos_familiares=[]
- estu=Estudiante.objects.get(pk=id_estudiante)
- datos_dato_familia=Datofamilia.objects.filter(estudiante=estu)
- datos_postulante=Postulante.objects.filter(estudiante=estu)[0]
- datos_hogar=Hogar.objects.filter(estudiante=estu)[0]
- datos_cuarto=Cuarto.objects.filter(estudiante=estu)
- if len(datos_cuarto)>0: datos_cuarto=datos_cuarto[0]
- datos_salud=Salud.objects.filter(estudiante=estu)[0]
- evaluacion=Evaluador.objects.filter(estudiante=estu)[0]
- print datos_dato_familia
- for familiar_a in datos_dato_familia:
- if familiar_a.vive=='S':
- print "vive"
- print familiar_a
- print Familiarvive.objects.all()
- print len(Familiarvive.objects.filter(familiar=familiar_a))
- familiar_datos=Familiarvive.objects.filter(familiar=familiar_a)[0]
- datos_familiares.append(familiar_datos)
- return render_to_response('reporte.html',{'estudiante':estu,'datos_dato_familia':datos_familiares,'datos_postulante':datos_postulante,'datos_hogar':datos_hogar,'datos_cuarto':datos_cuarto,'datos_salud':datos_salud,'datos_familiares':datos_familiares,'evaluacion':evaluacion})
- #return render_to_response('reporte.html',{'estudiante':'juan'})
- ###############################################
- @login_required(login_url='/login/')
- def facultades(request):
- contenido = Facultad.objects.all().order_by("nombre")
- return render_to_response('facultades.html',{'contenido':contenido})
- @login_required(login_url='/login/')
- def estuxfacu(request,id_facultad):
- #try:
- datos = Estudiante.objects.filter(facultad=Facultad.objects.get(pk=id_facultad))
- evaluados=[]
- sin_evaluar=[]
- for estu in datos:
- evaluado=Evaluador.objects.filter(estudiante=estu)
- if len(evaluado)==0:
- sin_evaluar.append(estu)
- else:
- evaluados.append(estu)
- cont_evaluado=len(evaluados)
- cont_sin_evaluar=len(sin_evaluar)
- return render_to_response('estuxfacu.html',{'estudiantes':datos,'evaluados':evaluados,'sin_evaluar':sin_evaluar,'cont_evaluado':cont_evaluado,'cont_sin_evaluar':cont_sin_evaluar})
- #except:
- # return render_to_response('noexiste.html')
- #--------------------------
- def estudiantes(request):
- contenido = Estudiante.objects.all().order_by("facultad")
- return render_to_response('estudiantes.html',{'contenido':contenido})
- def detalleestudiante(request,id_estudiante):
- #dato = Libro.objects.get(pk=id_libro)
- dato = get_object_or_404(Estudiante, pk=id_estudiante)
- #comentarios = Comentario.objects.filter(libro=dato)
- return render_to_response('detalle.html',{'dato':dato})
- #--------------------------
- def solicitud(request,id_estudiante):
- #dato = Libro.objects.get(pk=id_libro)
- dato = get_object_or_404(Estudiante, pk=id_estudiante)
- return render_to_response('solicitud.html',{'dato':dato})
- def finalizado(request):
- estudiante=Estudiante.objects.get(pk=request.session['codmatricula'])
- #estudiante={}
- try: del request.session['codmatricula']
- except: pass
- try: del request.session['1']
- except: pass
- try: del request.session['2']
- except: pass
- try: del request.session['3']
- except: pass
- try: del request.session['4']
- except: pass
- try: del request.session['5']
- except: pass
- try: del request.session['6']
- except: pass
- return render_to_response('finalizado.html',{'estudiante':estudiante})
- def facultades_habilitadas(request,inicio,fin):
- """solo facultades requeridas"""
- facultades=Facultad.objects.filter(pk__lte=int(fin)).filter(pk__gte=int(inicio))
- resultado = []
- for facultad in facultades:
- datos = {}
- datos['id'] = facultad.id
- datos['nombre'] = facultad.nombre
- resultado.append(datos)
- return HttpResponse( json.dumps(resultado) )
Add Comment
Please, Sign In to add comment