# Create your views here. from django.template.response import TemplateResponse from django.contrib.auth import authenticate, login, logout from django.contrib import messages from asignacion.forms import * from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect, HttpResponse from django.template import RequestContext, loader from django.shortcuts import get_object_or_404, render, render_to_response, redirect from django.core.urlresolvers import reverse from django.forms import ModelForm from django.forms.formsets import formset_factory from django.db.models import Count from django.contrib import messages from django.forms import ModelForm from django.contrib import auth from django.contrib.auth.decorators import login_required from django.template.response import TemplateResponse from datetime import datetime from django.core.paginator import Paginator, InvalidPage, EmptyPage import json from django.core import serializers from django.views.decorators.csrf import csrf_exempt from django.shortcuts import * def login_(request): return TemplateResponse(request, 'login.html') def validarView(request): username = request.POST['username'] password = request.POST['password'] user = authenticate(username = username, password = password) if user is not None: if user.is_active: login(request, user) return HttpResponseRedirect('/index') else: messages.error(request, 'cuenta desactivada') else: messages.error(request, 'Usuario no valido, verifique sus credenciales') return TemplateResponse(request, 'login.html') @login_required(login_url='/login/') def logout_user(request): response = logout(request) return HttpResponseRedirect('/login') @login_required(login_url='/login/') def index(request): try: perfil=Persona_perfil.objects.get(user=request.user) x=perfil.perfil.id except Exception, e: x=0 return TemplateResponse(request, 'index.html',{'x':x,'principal':'active','activo':'closed','no_activo':'closed','asignacion_activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'}) def perfil(request, user_id): return TemplateResponse(request, 'perfil.html' ) def RegistroLugar(request): if request.method=='POST': form = LugarForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Lugar registrada') return HttpResponseRedirect('/index') else: form = LugarForm() return render_to_response('RegistroLugar.html',{'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) def RegistroDireccion(request): if request.method=='POST': form = DireccionForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Direccion registrada') return HttpResponseRedirect('/index') else: form = DireccionForm() return render_to_response('RegistroDireccion.html',{'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) def RegistroEscuela(request): if request.method=='POST': form = EscuelaForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Escuela registrada') return HttpResponseRedirect('/index') else: form = EscuelaForm() return render_to_response('RegistroEscuela.html',{'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) def RegistroPersona(request): if request.method=='POST': form = PersonaForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Persona registrada') return HttpResponseRedirect('/index') else: form = PersonaForm() return render_to_response('RegistroPersona.html',{'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) def RegistroEscolaridad(request): if request.method=='POST': form = EscolaridadForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Escolaridad registrada') return HttpResponseRedirect('/index') else: form = EscolaridadForm() return render_to_response('RegistroEscolaridad.html',{'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) @login_required(login_url='/login/') def RegistroAsignacion(request): if request.method=='POST': form = AsignacionForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Asignacion registrada') return HttpResponseRedirect('/index') else: form = AsignacionForm() return render_to_response('RegistroAsignacion.html',{'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) @csrf_exempt def VerificarEscuela(request): results="" if request.is_ajax(): clave=request.POST['q'] #q = request.GET.get( 'q' ) if clave is not None: results = Escuela.objects.filter(clave = clave) return render_to_response('result.html',{'result':results},context_instance = RequestContext( request ) ) @login_required(login_url='/login/') def BuscarEscuelas(request): if request.method=='POST': form = FormularioBusqueda(request.POST, request.FILES) if form.is_valid(): escuela = form.cleaned_data['escuela'] municipio = form.cleaned_data['Municipio'] ListaEscuelas=Escuela.objects.all().filter(direccion__localidad__padre__nombre=municipio,nombre__icontains=escuela) return render_to_response('ResultadoEscuelas.html',{'ListaEscuelas':ListaEscuelas,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) else: form = FormularioBusqueda() return render_to_response('Asignar.html',{'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) def Cancelar(request): form = FormularioCancelar() return render_to_response('Cancelar.html',{'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance = RequestContext( request ) ) @login_required(login_url='/login/') def ListaAlumnos(request, escuela_id): EscuelaB=Escuela.objects.get(pk=escuela_id) ListaAlumnos_asignados = Asignacion.objects.values_list('persona_id') alumnos=Escolaridad.objects.all().filter(escuela__nombre=EscuelaB.nombre).exclude(persona_id__in = (ListaAlumnos_asignados)) print ListaAlumnos_asignados #alumnos=Persona.objects.all().filter(escolaridad__escuela__nombre=EscuelaB.nombre) return render_to_response('ListaAlumnos.html',{'EscuelaB':EscuelaB,'ide':escuela_id,'alumnos':alumnos,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) @login_required(login_url='/login/') def AsignarAlumno(request, alumno_id): try: alumno=Persona.objects.get(pk=alumno_id) Escolaridades=Escolaridad.objects.get(persona=alumno) escuela_id = Escolaridades.escuela.id estatus = Estatus.objects.get(nombre = 'Pendiente de entregar') lote = Lote.objects.all().order_by('-numero')[0] lote2= lote.total numero = lote.numero Total_asignado = Asignacion.objects.filter(equipo__lote__numero =numero).count() disponible = lote2 - Total_asignado if request.method == 'POST': equipo = Equipo.objects.get(numero_serie = request.POST['equipo']) i = Asignacion(persona = alumno, equipo = equipo, estatus = estatus) try: i.save() equipo.estatus=estatus equipo.save() messages.success(request, 'Asignacion registrada con Exito') return HttpResponseRedirect( u'/asignacion/%s/ListaAlumnos/' % (escuela_id) ) except Exception, e: messages.success(request, e.message) else: form = FormularioAsignar() return render_to_response('AsignarAlumno.html',{'alumno':alumno,'id_alumno':alumno_id,'estatus':estatus,'total':lote2,'numero':numero,'disponible':disponible,'Escolaridades':Escolaridades,'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) except Exception, e: messages.warning(request, 'El numero ingresado no existe') return HttpResponseRedirect( u'/asignacion/%s/AsignarAlumno/' % (alumno_id) ) @csrf_exempt def VerificarCurp(request): results="" if request.is_ajax(): curp=request.POST['q'] #q = request.GET.get( 'q' ) if curp is not None: results = Persona.objects.filter(curp = curp) return render_to_response('resultado.html',{'result':results},context_instance = RequestContext( request ) ) @csrf_exempt def Localidades(request): if request.is_ajax(): if request.method=='GET': respuest="este se envio via get" elif request.method=='POST': id_municpio=request.POST['q'] verlocalidad = Lugar.objects.filter(padre_id = id_municpio) localidades=serializers.serialize("json",verlocalidad,fields=('id','nombre')) return HttpResponse(localidades,mimetype="application/javascript")