def post(self, request, *args, **kwargs): alumno = request.POST["alumno"] anio = request.POST["anio"] mes = request.POST["mes"] estado = request.POST["estado"] logger.info(alumno) colegio = get_current_colegio() # Proceso de filtrado según el colegio cuentas_cobrar_colegio = self.model.objetos.filter( matricula__colegio__id_colegio=colegio, activo=True) # Proceso de filtrado según el alumno if alumno == "": por_cobrar1 = cuentas_cobrar_colegio else: por_cobrar1 = cuentas_cobrar_colegio.filter( Q(matricula__alumno__nombre=alumno) | Q(matricula__alumno__apellido_pa=alumno) | Q(matricula__alumno__apellido_ma=alumno)) # Proceso de filtrado según el año if anio == "Todos": por_cobrar2 = por_cobrar1 else: anio = int(anio) por_cobrar2 = por_cobrar1.filter(fecha_ven__year=anio) # Proceso de filtrado según el mes if mes == "Todos": por_cobrar3 = por_cobrar2 else: num_mes = obtener_mes(mes) por_cobrar3 = por_cobrar2.filter(fecha_ven__month=num_mes) # Proceso de filtrado según el estado o tipo if estado == "Todos": por_cobrar = por_cobrar3 elif estado == "Pagado": por_cobrar = por_cobrar3.filter(estado=False) elif estado == "No_pagado": por_cobrar = por_cobrar3.filter(estado=True) contexto = self.cargarformPromotordetalle(request) if len(por_cobrar) != 0: contexto['object_list'] = por_cobrar contexto['form'] = CuentasCobrarPromotorDetalleForm return render(request, template_name=self.template_name, context=contexto) else: contexto['object_list'] = [] contexto['form'] = CuentasCobrarPromotorDetalleForm return render(request, template_name=self.template_name, context=contexto)
def calculo_pagos_total(id_colegio, anio, tipo_pago, mes): # Proceso de filtrado según colegio pago_0 = Pago.objects.filter(caja_chica__colegio__id_colegio=id_colegio) # Proceso de filtrado según el año anio = int(anio) pago_1 = pago_0.filter(fecha__year=anio) # Proceso de filtrado según el tipo de pago if tipo_pago == "Todos": pago_2 = pago_1 else: pago_2 = pago_1.filter(tipo_pago=tipo_pago) # Proceso de filtrado según el numero comprobante de pago if mes == "Todos": pago_3 = pago_2 else: num_mes = obtener_mes(mes) pago_3 = pago_2.filter(fecha__month=num_mes) return pago_3
def post(self, request, *args, **kwargs): alumno = request.POST["alumno"] anio = request.POST["anio"] mes = request.POST["mes"] estado = request.POST["estado"] logger.info(alumno) colegio = get_current_colegio() # Proceso de filtrado según el colegio cuentas_cobrar_colegio = self.model.objetos.filter( matricula__colegio__id_colegio=colegio) # Proceso de filtrado según el alumno if alumno == "": por_cobrar1 = cuentas_cobrar_colegio else: por_cobrar1 = cuentas_cobrar_colegio.filter( Q(matricula__alumno__nombre=alumno) | Q(matricula__alumno__apellido_pa=alumno) | Q(matricula__alumno__apellido_ma=alumno)) # Proceso de filtrado según el año if anio == "Todos": por_cobrar2 = por_cobrar1 else: anio = int(anio) por_cobrar2 = por_cobrar1.filter(fecha_ven__year=anio) # Proceso de filtrado según el mes if mes == "Todos": por_cobrar3 = por_cobrar2 else: num_mes = obtener_mes(mes) por_cobrar3 = por_cobrar2.filter(fecha_ven__month=num_mes) # Proceso de filtrado según el estado o tipo if estado == "Todos": por_cobrar = por_cobrar3 elif estado == "Pagado": por_cobrar = por_cobrar3.filter(estado=False) elif estado == "No_pagado": por_cobrar = por_cobrar3.filter(estado=True) contexto = self.cargarformPromotordetalle(request) paginator = Paginator(por_cobrar.order_by('fecha_ven'), 4) page = request.GET.get('page', 1) try: buscados = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. buscados = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. buscados = paginator.page(paginator.num_pages) contexto['object_list'] = buscados #contexto['form'] = CuentasCobrarPromotorDetalleForm return render(request, self.template_name, contexto)
def post(self, request, *args, **kwargs): mes = request.POST["mes"] aula = request.POST["aula"] num_mes = obtener_mes(mes) logger.info("Estoy en el Post, datos de llegada son {0}".format( request.POST)) meses_dias = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] num_dias = meses_dias[num_mes - 1] #id_curso = asistencias_curso = self.model.objects.filter() # Proceso de filtrado según el año anio = datetime.date.today().year asistencias_curso_anio = asistencias_curso.filter(fecha__year=anio) # Proceso de filtrado según el mes asistencias_curso_mes = asistencias_curso_anio.filter( fecha__month=num_mes) logger.info("La lista de asistencias de mes son {0}".format( asistencias_curso_mes)) matriculados_aula = AulaMatricula.objects.filter( aula=aula).order_by('matricula__alumno__apellido_pa') alumnos = [] for matriculado in matriculados_aula: alumnos.append(matriculado.matricula.alumno) num_alumnos = len(alumnos) logger.info( "El número de alumnos matriculados en esta aula es {0}".format( num_alumnos)) fechas = [] lista_asistencias_dia = [] for dia in range(0, num_dias): asistencias_curso_dia = asistencias_curso_mes.filter( fecha__day=dia + 1) logger.info( "La lista de asistencias del día {0} mes son {1}".format( dia + 1, asistencias_curso_dia)) n = 0 for asistencias_dias in asistencias_curso_dia: lista_asistencias_dia.append( asistencias_dias.estado_asistencia) if n == 0: fechas.append(asistencias_dias.fecha) n = n + 1 num_horizontal = len(fechas) num_vertical = len(alumnos) aula_selected = Aula.objects.get(id_aula=aula) logger.info("La lista de asistencias de mes son {0}".format( lista_asistencias_dia)) logger.info("La lista de fechas de mes son {0}".format(fechas)) contexto = self.VisualizarAsistenciaform(request) contexto['asistencias'] = asistencias_curso_mes contexto['num_hor'] = num_horizontal contexto['num_ver'] = num_vertical contexto['fechas'] = fechas contexto['alumnos'] = alumnos contexto['mes_selected'] = mes contexto['aula_selected'] = aula_selected return render(request, template_name=self.template_name, context=contexto)