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 })
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 })
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 })
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 })
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 })
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 })
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 })