# Create your views here. #encoding:utf-8 from django.template.response import TemplateResponse from django.contrib.auth import authenticate, login, logout from django.contrib import messages 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 from asignacion.models import * from asignacion.forms import * from entrega.forms import * from registro.models import * @login_required(login_url='/login/') def EntregarLote(request): if request.method=='POST': form = FormLote(request.POST) if form.is_valid(): Lote = form.cleaned_data['lote'] #ListaEscuelas=Asignacion.objects.all().filter(equipo__lote=Lote) ListaEscuelas=Escuela.objects.all().filter(escolaridad__persona__asignacion__equipo__lote=Lote, escolaridad__persona__asignacion__estatus__nombre='Pendiente de entregar').distinct() estatus = Estatus.objects.get(nombre = 'Entregado') loteEntregado=Asignacion.objects.all().filter(equipo__lote=Lote, estatus=estatus).count() if loteEntregado==Lote.total: Lote.estatus=estatus Lote.save() messages.success(request, 'Todos los equipos de este lote han sido entregados') return render_to_response('EscuelasLote.html',{'form':form,'asignacion_activo':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) return render_to_response('EscuelasEntregar.html',{'ListaEscuelas':ListaEscuelas,'asignacion_activo':'closed','entrega':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) else: form = FormLote() return render_to_response('EscuelasLote.html',{'form':form,'asignacion_activo':'closed','entrega':'active','activo':'closed','registro_revision':'closed','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) @login_required(login_url='/login/') def AlumnosEntregar(request, escuela_id): EscuelaB=Escuela.objects.get(pk=escuela_id) if request.method =='POST': estatus = Estatus.objects.get(nombre = 'Entregado') equipo = request.POST.getlist('equipo') for e in equipo: Entregado=Asignacion.objects.get(pk=e) Entregado.estatus=estatus Entregado.save() alumno=Entregado.persona alumno.estatus=estatus alumno.save() equip=Entregado.equipo equip.estatus=estatus equip.save() messages.success(request, 'Equipos entregados') alum=Persona.objects.all().filter(escolaridad__escuela=EscuelaB).count() entregados=Asignacion.objects.all().filter(persona__escolaridad__escuela=EscuelaB, estatus=estatus).count() if alum==entregados: EscuelaB.estatus=estatus EscuelaB.save() messages.success(request, 'Se ha entregado todos los equipos asignados a esta escuela ') alumnos=Asignacion.objects.all().filter(persona__escolaridad__escuela__nombre=EscuelaB.nombre, estatus__nombre='Pendiente de entregar') return render_to_response('AlumnosEntregar.html',{'EscuelaB':EscuelaB,'ide':escuela_id,'alumnos':alumnos,'asignacion_activo':'active','activo':'closed','registro_revision':'closed'},context_instance=RequestContext(request)) else: alumnos=Asignacion.objects.all().filter(persona__escolaridad__escuela__nombre=EscuelaB.nombre, estatus__nombre='Pendiente de entregar') return render_to_response('AlumnosEntregar.html',{'EscuelaB':EscuelaB,'ide':escuela_id,'alumnos':alumnos,'asignacion_activo':'active','activo':'closed','registro_revision':'closed'},context_instance=RequestContext(request))