Ejemplo n.º 1
0
def lista_horarios(request):
    """
    Função para a listagem das previsões de horário
    """

    # Retirada a restrição do semestre subsequente
    #    proximoPeriodo = proximo_periodo(1)
    professor = Perfil.objects.get(user=request.user.id).idusuario
    # Paginação
    linhas = linhas_por_pagina(professor)
    membro = Membro.objects.filter(professor=professor).exclude(
        ativo=0).values_list('comissao')
    comissoes = Comissao.objects.filter(id__in=membro).values_list('curso')
    # Idem explicação acima
    #    horarios_list = Horario.objects.filter(
    #                        curso__in=comissoes, ano=proximoPeriodo[0], \
    #                        periodo=proximoPeriodo[1])
    horarios_list = Horario.objects.filter(curso__in=comissoes).order_by(
        'ano', 'periodo')
    paginator = Paginator(horarios_list, linhas)
    page = request.GET.get('page')
    horarios = paginator.get_page(page)

    return render(
        request, 'cadd/lista_horarios.html', {
            'horarios': horarios,
            'ativoHorarios': True,
            'copiabotoes': horarios_list.count() >= 10 and linhas >= 10
        })
Ejemplo n.º 2
0
def lista_membros(request, id_comissao):
    """
    Função para a listagem dos membros cadastrados de uma comissões de apoio
    """
    try:
        comissao = Comissao.objects.get(id__exact=id_comissao)
    except ObjectDoesNotExist:
        messages.error(request, 'A comissão informada não existe!')
    else:
        usuario = Perfil.objects.get(user=request.user.id)
        linhas = linhas_por_pagina(usuario.idusuario)
        membros_list = Membro.objects.all().filter(comissao=id_comissao)
        paginator = Paginator(membros_list, linhas)  # Paginação
        page = request.GET.get('page')
        membros = paginator.get_page(page)

        # NÃO ESQUECER DE CORRIGIR ERRO AO RECEBER COMISSÃO INEXISTENTE
        return render(
            request, 'cadd/lista_membros.html', {
                'membros': membros,
                'id_comissao': id_comissao,
                'comissao': comissao,
                'ativoComissoes': True,
                'copiabotoes': membros_list.count() >= 10 and linhas >= 10
            })
Ejemplo n.º 3
0
def lista_documentos(request):
    """
    Função para a listagem dos documentos cadastrados
    """

    usuario = Perfil.objects.get(user=request.user.id)
    # Paginação
    linhas = linhas_por_pagina(usuario.idusuario)
    documentos_list = Documento.objects.all()
    paginator = Paginator(documentos_list, linhas)
    page = request.GET.get('page')
    documentos = paginator.get_page(page)

    return render(request, 'cadd/lista_documentos.html', {
        'documentos': documentos,
        'ativoDocumentos': True,
        'copiabotoes': documentos_list.count() >= 10 and linhas >= 10
    })
Ejemplo n.º 4
0
def lista_comissoes(request):
    """
    Função para a listagem das comissões de apoio cadastradas
    """

    usuario = Perfil.objects.get(user=request.user.id)
    # Paginação
    linhas = linhas_por_pagina(usuario.idusuario)
    # Verifica se há membros em uma Comissão, desabilitando o botão de exclusão
    comissoes_list = list(Comissao.comissoes_membros_sql())
    paginator = Paginator(comissoes_list, linhas)
    page = request.GET.get('page')
    comissoes = paginator.get_page(page)

    return render(request, 'cadd/lista_comissoes.html', {
        'comissoes': comissoes,
        'ativoComissoes': True,
        'copiabotoes': len(comissoes_list) >= 10 and linhas >= 10
    })
Ejemplo n.º 5
0
def lista_reunioes(request):
    """
    Função para a listagem das reuniões agendadas
    """

    professor = Perfil.objects.get(user=request.user.id).idusuario
    linhas = linhas_por_pagina(professor)
    membro = Membro.objects.filter(professor=professor).exclude(
        ativo=0).values_list('comissao')
    comissao = Comissao.objects.filter(id__in=membro)
    reunioes_list = Reuniao.objects.filter(comissao__in=comissao)
    paginator = Paginator(reunioes_list, linhas)  # Paginação
    page = request.GET.get('page')
    reunioes = paginator.get_page(page)

    return render(
        request, 'cadd/lista_reunioes.html', {
            'reunioes': reunioes,
            'ativoReunioes': True,
            'copiabotoes': reunioes_list.count() >= 10 and linhas >= 10
        })
Ejemplo n.º 6
0
def lista_convocados(request, id_reuniao):
    """
    Função para a listagem dos convidados para uma reunião específica
    """

    usuario = Perfil.objects.get(user=request.user.id)
    # Paginação
    linhas = linhas_por_pagina(usuario.idusuario)
    convocados_list = Convocacao.objects.filter(reuniao=id_reuniao)
    paginator = Paginator(convocados_list, linhas)
    page = request.GET.get('page')
    convocados = paginator.get_page(page)
    # objeto reunião anteriormente requisitado
    reuniao = Reuniao.objects.get(id__exact=id_reuniao)

    return render(request, 'cadd/lista_convocados.html', {
        'convocados': convocados,
        'id_reuniao': id_reuniao,
        'reuniao': reuniao,
        'ativoReunioes': True,
        'copiabotoes': convocados_list.count() >= 10 and linhas >= 10
    })
Ejemplo n.º 7
0
def lista_itenshorario(request, id_horario):
    """
    Função para a listagem dos itens cadastrados em uma previsão de horário
    """

    usuario = Perfil.objects.get(user=request.user.id)
    # Paginação
    linhas = linhas_por_pagina(usuario.idusuario)
    itenshorario_list = ItemHorario.objects.filter(
        horario=id_horario).order_by('periodo', 'id')
    paginator = Paginator(itenshorario_list, linhas)
    page = request.GET.get('page')
    itenshorario = paginator.get_page(page)
    # objeto horário anteriormente requisitado
    horario = Horario.objects.get(id__exact=id_horario)

    return render(
        request, 'cadd/lista_itenshorario.html', {
            'itenshorario': itenshorario,
            'id_horario': id_horario,
            'horario': horario,
            'ativoHorarios': True,
            'copiabotoes': itenshorario_list.count() >= 10 and linhas >= 10
        })