# 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 revision.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 from registro.models import * @login_required(login_url='/login/') def RegistroRevision(request, equipo_id):# Registrar la revision y cambiar estatus de equipo equipo = Equipo.objects.get(pk=equipo_id) estatusPendiente=Estatus.objects.get( nombre ='Pendiente') estatusLote=Estatus.objects.get(nombre='Pendiente de devolución') lote=equipo.lote equipos=Equipo.objects.all().filter(lote__numero=lote.numero) LoteE=Lote.objects.get(numero=lote.numero) total=LoteE.total muestraRevision=(total*1.385)/100 muestraMalos=(muestraRevision*5)/100 revision=Revision.objects.all().filter(calificacion=False, equipo__lote=LoteE).count() revisionTotal=Revision.objects.all().filter(equipo__lote=LoteE).count() if revisionTotal>=muestraRevision: equiposRegistro=Equipos.objects.all().filter(estatus__nombre='Registro') for e in equiposRegistro: e.estatus=estatusPendiente e.save() if request.method=='POST': form = RevisionForm(request.POST) if form.is_valid(): if revision >=muestraMalos: LoteE.estatus=estatusLote LoteE.save() EquiposMalos=Equipo.objects.all().filter(revision__calificacion=False, lote=LoteE) for Equiposmalos in EquiposMalos: Equiposmalos.estatus=estatusLote Equiposmalos.save() messages.warning(request, 'El número de equipos defectuosos del lote %s ha sido excedido del permitido' %LoteE) return HttpResponseRedirect('/revision/tablarevision') else: form.save() LoteE.estatus=estatusPendiente equipo.estatus=estatusPendiente# cambia el status del equipo a pendiente equipo.save() messages.success(request, 'Revision registrada') return HttpResponseRedirect('/revision/tablarevision') else: RevisionForm.base_fields['equipo'] = forms.ModelChoiceField(queryset = Equipo.objects.filter(pk=equipo_id) ) form = RevisionForm(initial={'equipo':equipo}) catalogo_form=CatalogoRevision.objects.all()#Envia el catalogo de Revision return render_to_response('RegistroRevision.html',{'form':form,'equipo':equipo.id,'mostrar':equipo,'catalogo_form':catalogo_form,'activo':'closed','no_activo':'closed','asignacion_activo':'closed','registro_revision':'active','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) @login_required(login_url='/login/') def RegistroCatalogoRevision(request):# registrar cada concepto que revisara el tecnico if request.method=='POST': form = CatalogoRevisionForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Catalogo registrada') return HttpResponseRedirect('/revision/CatalogoRevision/') else: form = CatalogoRevisionForm() return render_to_response('RegistroCatalogoRevision.html',{'form':form,'activo':'closed','no_activo':'closed','asignacion_activo':'closed','registro_revision':'active','configuracion':'closed','devolucion':'closed'},context_instance=RequestContext(request)) @login_required(login_url='/login/') def TablaRevision(request):# muestra Todos los equipos que tengas estatus de revision y permite el envio a RegistroRevision cat= CatalogoRevision.objects.all().count() if cat==0: messages.error(request, 'No puede Revisar , si no existe un catalogo de revisión') return HttpResponseRedirect('/index') datos = Equipo.objects.all().filter( estatus__nombre='Revisión').order_by('lote') return render_to_response('TablaRevision.html',{'datos':datos,'activo':'closed','no_activo':'closed','asignacion_activo':'closed','registro_revision':'active', 'configuracion':'closed','devolucion':'closed' },context_instance=RequestContext(request)) @login_required(login_url='/login/') def TablaCatalago(request):# muestra todos los conceptos que ingreso el de soporte datos = CatalogoRevision.objects.all() return render_to_response('TablaCatalogo.html',{'datos':datos,'activo':'closed','no_activo':'closed','asignacion_activo':'closed','registro_revision':'active','configuracion':'closed', 'devolucion':'closed' },context_instance=RequestContext(request)) @login_required(login_url='/login/') def EditarCatalogoRevision(request , catalogo_id): uno = 1 catalogo = CatalogoRevision.objects.get(pk=catalogo_id) cat_id = catalogo.id if request.method=='POST': form = CatalogoRevisionForm(request.POST , instance=catalogo) if form.is_valid(): form.save() messages.success(request, 'Catalogo Editado') return HttpResponseRedirect('/revision/TablaCatalogo') else: form = CatalogoRevisionForm(instance=catalogo) return render_to_response('RegistroCatalogoRevision.html',{'form':form,'id':cat_id,'activo':'closed','uno':uno,'no_activo':'closed','asignacion_activo':'closed','registro_revision':'active'},context_instance=RequestContext(request)) @login_required(login_url='/login/') def BorrarCatalogo(request,catalogo_id): # elimina el concepto que ingreso el de soporte catalogo = CatalogoRevision.objects.get(pk=catalogo_id) catalogo.delete() #datos = Area.objects.all() messages.warning(request, 'Se elimino el Registro') return HttpResponseRedirect('/revision/TablaCatalogo/')