Пример #1
0
    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)
Пример #2
0
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
Пример #3
0
    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)
Пример #4
0
    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)