diff --git a/sapl/norma/models.py b/sapl/norma/models.py index b6c63b9dc..ee8522746 100644 --- a/sapl/norma/models.py +++ b/sapl/norma/models.py @@ -74,6 +74,21 @@ class NormaJuridicaManager(models.Manager): use_for_related_fields = True + def normas_sem_textos_articulados(self): + qs = self.get_queryset() + qs = qs.filter(texto_articulado__isnull=True) + return qs + + def normas_com_textos_articulados_publicados(self): + qs = self.get_queryset() + qs = qs.filter( + texto_articulado__editable_only_by_owners=False, + texto_articulado__privacidade=0, + texto_articulado__isnull=False + ) + + return qs + def normas_com_textos_articulados_pendentes(self): qs = self.get_queryset() qs = qs.filter( diff --git a/sapl/norma/views.py b/sapl/norma/views.py index c53ac63a9..dfb670f74 100644 --- a/sapl/norma/views.py +++ b/sapl/norma/views.py @@ -250,6 +250,7 @@ class NormaCrud(Crud): def get(self, request, *args, **kwargs): if AppConfig.attr('texto_articulado_norma'): + self.status = self.request.GET.get('status', '') return Crud.ListView.get(self, request, *args, **kwargs) else: url = self.get_redirect_url(*args, **kwargs) @@ -269,14 +270,25 @@ class NormaCrud(Crud): return reverse('%s:%s' % (namespace, 'norma_pesquisa')) def get_queryset(self): - qs = NormaJuridica.objects.normas_com_textos_articulados_pendentes() + if self.status == 'pendente': + qs = NormaJuridica.objects.normas_com_textos_articulados_pendentes() + elif self.status == 'publico': + qs = NormaJuridica.objects.normas_com_textos_articulados_publicados() + else: + qs = NormaJuridica.objects.normas_sem_textos_articulados() return qs.order_by('-texto_articulado__privacidade', '-ano', '-numero') def get_context_data(self, **kwargs): context = Crud.ListView.get_context_data(self, **kwargs) - context['title'] = 'Normas Jurídicas com Textos Articulados não publicados' + if self.status == 'pendente': + context['title'] = 'Normas Jurídicas com Textos Articulados não publicados' + elif self.status == 'publico': + context['title'] = 'Normas Jurídicas com Textos Articulados publicados' + else: + context['title'] = 'Normas Jurídicas sem Textos Articulados' + return context @classmethod diff --git a/sapl/templates/navbar.yaml b/sapl/templates/navbar.yaml index aee41fe93..3d323c2de 100644 --- a/sapl/templates/navbar.yaml +++ b/sapl/templates/navbar.yaml @@ -75,6 +75,16 @@ url: 'sapl.norma:normajuridica_create' check_permission: norma.add_normajuridica + - title: {% trans 'Textos Articulados Publicados' %} + url: {% url 'sapl.norma:normajuridica_list'%}?status=publico + check_permission: compilacao.change_dispositivo_edicao_dinamica + - title: {% trans 'Textos Articulados Pendentes' %} + url: {% url 'sapl.norma:normajuridica_list' %}?status=pendente + check_permission: compilacao.change_dispositivo_edicao_dinamica + - title: {% trans 'Textos Articulados não cadastrados' %} + url: {% url 'sapl.norma:normajuridica_list' %}?status=sem_texto + check_permission: compilacao.change_dispositivo_edicao_dinamica + - title: {% trans 'Sistema' %} check_permission: base.menu_sistemas children: @@ -86,7 +96,7 @@ check_permission: user.is_superuser - title: {% trans 'Inconsistências de Dados' %} url: {% url 'sapl.base:lista_inconsistencias' %} - check_permission: user.is_superuser + check_permission: user.is_superuser {% comment %} diff --git a/sapl/templates/norma/normajuridica_filter.html b/sapl/templates/norma/normajuridica_filter.html index 2adba9610..2aca9125c 100644 --- a/sapl/templates/norma/normajuridica_filter.html +++ b/sapl/templates/norma/normajuridica_filter.html @@ -3,13 +3,6 @@ {% load crispy_forms_tags common_tags %} {% block actions %} -
- {% if perms.compilacao.lock_unlock_textoarticulado and 'texto_articulado_norma'|get_config_attr %} - - {% blocktrans with verbose_name=view.verbose_name %}Pendências nos Textos Articulados{% endblocktrans %} - - {% endif %} -
{% if USE_SOLR %} diff --git a/sapl/templates/norma/normajuridica_list.html b/sapl/templates/norma/normajuridica_list.html index 34e0e8e0a..79d143e1d 100644 --- a/sapl/templates/norma/normajuridica_list.html +++ b/sapl/templates/norma/normajuridica_list.html @@ -4,6 +4,6 @@ {% block extra_actions %}
- {% trans 'Voltar para pesquisa' %} + {% trans 'Fazer Nova Pesquisa' %}
{% endblock %} \ No newline at end of file