def get_context_data(self, **kwargs): context = super(NormaPesquisaView, self).get_context_data(**kwargs) context['title'] = _('Pesquisar Norma Jurídica') self.filterset.form.fields['o'].label = _('Ordenação') qs = self.object_list if 'o' in self.request.GET and not self.request.GET['o']: qs = qs.order_by('-ano', 'tipo', '-numero') qr = self.request.GET.copy() if 'page' in qr: del qr['page'] paginator = context['paginator'] page_obj = context['page_obj'] context['page_range'] = make_pagination(page_obj.number, paginator.num_pages) context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) context['USE_SOLR'] = settings.USE_SOLR if hasattr( settings, 'USE_SOLR') else False return context
def get_context_data(self, **kwargs): context = super(RelatorioMateriasPorAnoAutorTipoView, self).get_context_data(**kwargs) context['title'] = _('Matérias por Ano, Autor e Tipo') qtdes = {} for tipo in TipoMateriaLegislativa.objects.all(): qs = kwargs['object_list'] qtde = len(qs.filter(tipo_id=tipo.id)) if qtde > 0: qtdes[tipo] = qtde context['qtdes'] = qtdes qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) if 'ano' in self.request.GET and self.request.GET['ano']: ano = int(self.request.GET['ano']) context['relatorio'] = self.get_materias_autor_ano(ano, True) context['corelatorio'] = self.get_materias_autor_ano(ano, False) else: context['relatorio'] = [] return context
def get(self, request, *args, **kwargs): super(PesquisarDocumentoAdministrativoView, self).get(request) # Se a pesquisa estiver quebrando com a paginação # Olhe esta função abaixo # Provavelmente você criou um novo campo no Form/FilterSet # Então a ordem da URL está diferente data = self.filterset.data if data and data.get('tipo') is not None: url = "&" + str(self.request.environ['QUERY_STRING']) if url.startswith("&page"): ponto_comeco = url.find('tipo=') - 1 url = url[ponto_comeco:] else: url = '' self.filterset.form.fields['o'].label = _('Ordenação') context = self.get_context_data(filter=self.filterset, object_list=self.object_list, filter_url=url, numero_res=len(self.object_list)) context['show_results'] = show_results_filter_set( self.request.GET.copy()) return self.render_to_response(context)
def get_context_data(self, **kwargs): context = super(RelatorioMateriasPorAutorView, self).get_context_data(**kwargs) context['title'] = _('Matérias por Autor') if not self.filterset.form.is_valid(): return context qtdes = {} for tipo in TipoMateriaLegislativa.objects.all(): qs = kwargs['object_list'] qtde = len(qs.filter(tipo_id=tipo.id)) if qtde > 0: qtdes[tipo] = qtde context['qtdes'] = qtdes qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) if self.request.GET['tipo']: tipo = int(self.request.GET['tipo']) context['tipo'] = (str( TipoMateriaLegislativa.objects.get(id=tipo))) else: context['tipo'] = '' if self.request.GET['autoria__autor']: autor = int(self.request.GET['autoria__autor']) context['autor'] = (str(Autor.objects.get(id=autor))) else: context['autor'] = '' context['periodo'] = (self.request.GET['data_apresentacao_0'] + ' - ' + self.request.GET['data_apresentacao_1']) return context
def get_context_data(self, **kwargs): context = super(RelatorioDataFimPrazoTramitacaoView, self).get_context_data(**kwargs) context['title'] = _('Fim de Prazo de Tramitações') if not self.filterset.form.is_valid(): return context qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) context['data_tramitacao'] = ( self.request.GET['tramitacao__data_fim_prazo_0'] + ' - ' + self.request.GET['tramitacao__data_fim_prazo_1']) if self.request.GET['tipo']: tipo = self.request.GET['tipo'] context['tipo'] = (str( TipoMateriaLegislativa.objects.get(id=tipo))) else: context['tipo'] = '' if self.request.GET['tramitacao__status']: tramitacao_status = self.request.GET['tramitacao__status'] context['tramitacao__status'] = (str( StatusTramitacao.objects.get(id=tramitacao_status))) else: context['tramitacao__status'] = '' if self.request.GET['tramitacao__unidade_tramitacao_local']: context['tramitacao__unidade_tramitacao_local'] = \ (str(UnidadeTramitacao.objects.get( id=self.request.GET['tramitacao__unidade_tramitacao_local']))) else: context['tramitacao__unidade_tramitacao_destino'] = '' return context
def get(self, request, *args, **kwargs): super(PesquisarDocumentoAdministrativoView, self).get(request) # Se a pesquisa estiver quebrando com a paginação # Olhe esta função abaixo # Provavelmente você criou um novo campo no Form/FilterSet # Então a ordem da URL está diferente data = self.filterset.data if data and data.get('tipo') is not None: url = "&" + str(self.request.environ['QUERY_STRING']) if url.startswith("&page"): ponto_comeco = url.find('tipo=') - 1 url = url[ponto_comeco:] else: url = '' self.filterset.form.fields['o'].label = _('Ordenação') # é usada essa verificação anônima para quando os documentos administrativos # estão no modo ostensivo, mas podem existir documentos administrativos # restritos if request.user.is_anonymous(): length = self.object_list.filter(restrito=False).count() else: length = self.object_list.count() context = self.get_context_data(filter=self.filterset, filter_url=url, numero_res=length ) context['show_results'] = show_results_filter_set( self.request.GET.copy()) return self.render_to_response(context)
def get_context_data(self, **kwargs): context = super(RelatorioDataFimPrazoTramitacaoView, self).get_context_data(**kwargs) context['title'] = _('Fim de Prazo de Tramitações') qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) return context
def get_context_data(self, **kwargs): context = super(RelatorioMateriasTramitacaoView, self).get_context_data(**kwargs) context['title'] = _('Matérias em Tramitação') if not self.filterset.form.is_valid(): return context qr = self.request.GET.copy() qs = context['object_list'] qs = qs.filter(em_tramitacao=True) if qr.get('tramitacao__unidade_tramitacao_destino'): qs = filtra_url_materias_em_tramitacao( qr, qs, 'tramitacao__unidade_tramitacao_destino', 'local') if qr.get('tramitacao__status'): qs = filtra_url_materias_em_tramitacao(qr, qs, 'tramitacao__status', 'status') context['object_list'] = qs qtdes = {} for tipo in TipoMateriaLegislativa.objects.all(): qs = context['object_list'] qtde = len(qs.filter(tipo_id=tipo.id)) if qtde > 0: qtdes[tipo] = qtde context['qtdes'] = qtdes context['ano'] = (self.request.GET['ano']) if self.request.GET['tipo']: tipo = self.request.GET['tipo'] context['tipo'] = (str( TipoMateriaLegislativa.objects.get(id=tipo))) else: context['tipo'] = '' if self.request.GET['tramitacao__status']: tramitacao_status = self.request.GET['tramitacao__status'] context['tramitacao__status'] = (str( StatusTramitacao.objects.get(id=tramitacao_status))) else: context['tramitacao__status'] = '' if self.request.GET['tramitacao__unidade_tramitacao_destino']: context['tramitacao__unidade_tramitacao_destino'] = (str( UnidadeTramitacao.objects.get( id=self.request. GET['tramitacao__unidade_tramitacao_destino']))) else: context['tramitacao__unidade_tramitacao_destino'] = '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) return context
def get_context_data(self, **kwargs): context = super(RelatorioAtasView, self).get_context_data(**kwargs) context['title'] = _('Atas das Sessões Plenárias') # Verifica se os campos foram preenchidos if not self.filterset.form.is_valid(): return context qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) return context
def get_context_data(self, **kwargs): context = super(RelatorioReuniaoView, self).get_context_data(**kwargs) context['title'] = _('Reunião de Comissão') if not self.filterset.form.is_valid(): return context qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) if self.request.GET['comissao']: comissao = self.request.GET['comissao'] context['comissao'] = (str(Comissao.objects.get(id=comissao))) else: context['comissao'] = '' return context
def get_context_data(self, **kwargs): context = super(RelatorioAudienciaView, self).get_context_data(**kwargs) context['title'] = _('Audiência Pública') if not self.filterset.form.is_valid(): return context qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) if self.request.GET['tipo']: tipo = self.request.GET['tipo'] context['tipo'] = (str(TipoAudienciaPublica.objects.get(id=tipo))) else: context['tipo'] = '' return context
def get_context_data(self, **kwargs): context = super(RelatorioMateriasPorAutorView, self).get_context_data(**kwargs) context['title'] = _('Matérias por Autor') qtdes = {} for tipo in TipoMateriaLegislativa.objects.all(): qs = kwargs['object_list'] qtde = len(qs.filter(tipo_id=tipo.id)) if qtde > 0: qtdes[tipo] = qtde context['qtdes'] = qtdes qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) return context
def get(self, request, *args, **kwargs): super(PesquisarParlamentarView, self).get(request) data = self.filterset.data url = '' if data: url = "&" + str(self.request.META['QUERY_STRING']) if url.startswith("&page"): ponto_comeco = url.find('nome_parlamentar=') - 1 url = url[ponto_comeco:] context = self.get_context_data(filter=self.filterset, object_list=self.object_list, filter_url=url, numero_res=len(self.object_list)) context['show_results'] = show_results_filter_set( self.request.GET.copy()) return self.render_to_response(context)
def get_context_data(self, **kwargs): context = super(NormaPesquisaView, self).get_context_data(**kwargs) context['title'] = _('Pesquisar Norma Jurídica') qr = self.request.GET.copy() if 'page' in qr: del qr['page'] paginator = context['paginator'] page_obj = context['page_obj'] context['page_range'] = make_pagination(page_obj.number, paginator.num_pages) context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) return context
def get_context_data(self, **kwargs): context = super(AdicionaPautaView, self).get_context_data(**kwargs) # Adiciona = 1; Remove = 0 context['opcao'] = 1 context['object'] = Reuniao.objects.get(pk=self.kwargs['pk']) context['root_pk'] = context['object'].comissao.pk qr = self.request.GET.copy() materias_pauta = PautaReuniao.objects.filter(reuniao=context['object']) nao_listar = [mp.materia.pk for mp in materias_pauta] context['object_list'] = context['object_list'].filter( tramitacao__unidade_tramitacao_destino__comissao=context['root_pk'] ).exclude(materia__pk__in=nao_listar).order_by("materia__tipo", "-materia__ano", "materia__numero") context['numero_resultados'] = len(context['object_list']) context['show_results'] = show_results_filter_set(qr) return context
def get_context_data(self, **kwargs): context = super(RelatorioPresencaSessaoView, self).get_context_data(**kwargs) context['title'] = _('Presença dos parlamentares nas sessões') # Verifica se os campos foram preenchidos if not self.filterset.form.is_valid(): return context # ===================================================================== # if 'salvar' not in self.request.GET: where = context['object_list'].query.where _range = where.children[0].rhs sufixo = 'sessao_plenaria__data_inicio__range' param0 = {'%s' % sufixo: _range} # Parlamentares com Mandato no intervalo de tempo (Ativos) parlamentares_qs = parlamentares_ativos( _range[0], _range[1]).order_by('nome_parlamentar') parlamentares_id = parlamentares_qs.values_list('id', flat=True) # Presenças de cada Parlamentar em Sessões presenca_sessao = SessaoPlenariaPresenca.objects.filter( parlamentar_id__in=parlamentares_id, sessao_plenaria__data_inicio__range=_range).values_list( 'parlamentar_id').annotate(sessao_count=Count('id')) # Presenças de cada Ordem do Dia presenca_ordem = PresencaOrdemDia.objects.filter( parlamentar_id__in=parlamentares_id, sessao_plenaria__data_inicio__range=_range).values_list( 'parlamentar_id').annotate(sessao_count=Count('id')) total_ordemdia = PresencaOrdemDia.objects.filter(**param0).distinct( 'sessao_plenaria__id').order_by('sessao_plenaria__id').count() total_sessao = context['object_list'].count() # Completa o dicionario as informacoes parlamentar/sessao/ordem parlamentares_presencas = [] for i, p in enumerate(parlamentares_qs): parlamentares_presencas.append({ 'parlamentar': p, 'sessao_porc': 0, 'ordemdia_porc': 0 }) try: sessao_count = presenca_sessao.get(parlamentar_id=p.id)[1] except ObjectDoesNotExist: sessao_count = 0 try: ordemdia_count = presenca_ordem.get(parlamentar_id=p.id)[1] except ObjectDoesNotExist: ordemdia_count = 0 parlamentares_presencas[i].update({ 'sessao_count': sessao_count, 'ordemdia_count': ordemdia_count }) if total_sessao != 0: parlamentares_presencas[i].update({ 'sessao_porc': round(sessao_count * 100 / total_sessao, 2) }) if total_ordemdia != 0: parlamentares_presencas[i].update({ 'ordemdia_porc': round(ordemdia_count * 100 / total_ordemdia, 2) }) context['date_range'] = _range context['total_ordemdia'] = total_ordemdia context['total_sessao'] = context['object_list'].count() context['parlamentares'] = parlamentares_presencas context['periodo'] = (self.request.GET['data_inicio_0'] + ' - ' + self.request.GET['data_inicio_1']) # ===================================================================== qr = self.request.GET.copy() context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['show_results'] = show_results_filter_set(qr) return context