diff --git a/sapl/base/forms.py b/sapl/base/forms.py index d7982352f..1181650ee 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -645,7 +645,8 @@ class ConfiguracoesAppForm(ModelForm): 'cronometro_discurso', 'cronometro_aparte', 'cronometro_ordem', - 'mostrar_brasao_painel'] + 'mostrar_brasao_painel', + 'receber_recibo_proposicao'] def __init__(self, *args, **kwargs): super(ConfiguracoesAppForm, self).__init__(*args, **kwargs) diff --git a/sapl/base/migrations/0015_appconfig_receber_recibo_proposicao.py b/sapl/base/migrations/0015_appconfig_receber_recibo_proposicao.py new file mode 100644 index 000000000..e60a7a0c1 --- /dev/null +++ b/sapl/base/migrations/0015_appconfig_receber_recibo_proposicao.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.13 on 2018-02-23 16:16 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0014_auto_20180219_1402'), + ] + + operations = [ + migrations.AddField( + model_name='appconfig', + name='receber_recibo_proposicao', + field=models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=True, verbose_name='Protocolar proposição somente com recibo?'), + ), + ] diff --git a/sapl/base/models.py b/sapl/base/models.py index d5097ac6a..3a80e4d7b 100644 --- a/sapl/base/models.py +++ b/sapl/base/models.py @@ -165,6 +165,10 @@ class AppConfig(models.Model): default=False, verbose_name=_('Mostrar brasão da Casa no painel?')) + receber_recibo_proposicao = models.BooleanField( + verbose_name=_('Protocolar proposição somente com recibo?'), + choices=YES_NO_CHOICES, default=True) + class Meta: verbose_name = _('Configurações da Aplicação') verbose_name_plural = _('Configurações da Aplicação') diff --git a/sapl/base/templatetags/common_tags.py b/sapl/base/templatetags/common_tags.py index 2e24b8cc2..00ab405cf 100644 --- a/sapl/base/templatetags/common_tags.py +++ b/sapl/base/templatetags/common_tags.py @@ -5,6 +5,7 @@ from sapl.materia.models import DocumentoAcessorio, MateriaLegislativa from sapl.norma.models import NormaJuridica from sapl.parlamentares.models import Filiacao from sapl.utils import filiacao_data +from django.template.defaultfilters import stringfilter register = template.Library() @@ -43,6 +44,12 @@ def isinst(value, class_str): return classe == class_str +@register.filter +@stringfilter +def strip_hash(value): + return value.split('/')[0][1:] + + @register.filter def get_add_perm(value, arg): perm = value diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index 5c6ffdf96..038a24d82 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -1009,10 +1009,10 @@ class TipoProposicaoForm(ModelForm): """ A unicidade de tipo proposição para tipo de conteudo - foi desabilitada pois existem casos em quem é o procedimento da + foi desabilitada pois existem casos em quem é o procedimento da instituição convergir vários tipos de proposição para um tipo de matéria. - + unique_value = self._meta.model.objects.filter( content_type=content_type, object_id=cd['tipo_conteudo_related']) @@ -1116,7 +1116,7 @@ class ProposicaoForm(forms.ModelForm): receber_recibo = forms.TypedChoiceField( choices=YES_NO_CHOICES, - label='Deseja protocolar com recibo?', + widget=widgets.HiddenInput(), required=False) class Meta: @@ -1142,6 +1142,9 @@ class ProposicaoForm(forms.ModelForm): self.texto_articulado_proposicao = sapl.base.models.AppConfig.attr( 'texto_articulado_proposicao') + self.receber_recibo = sapl.base.models.AppConfig.attr( + 'receber_recibo_proposicao') + if not self.texto_articulado_proposicao: if 'tipo_texto' in self._meta.fields: self._meta.fields.remove('tipo_texto') @@ -1158,7 +1161,6 @@ class ProposicaoForm(forms.ModelForm): to_column(('ano_materia', 4)) ), - to_column(('receber_recibo', 3)), to_column( (Alert('teste', css_class="ementa_materia hidden alert-info", diff --git a/sapl/materia/views.py b/sapl/materia/views.py index bf8243939..7ca7c0b7a 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -422,6 +422,7 @@ class ProposicaoPendente(PermissionRequiredMixin, ListView): context = super(ProposicaoPendente, self).get_context_data(**kwargs) paginator = context['paginator'] page_obj = context['page_obj'] + context['AppConfig'] = sapl.base.models.AppConfig.objects.all().last() context['page_range'] = make_pagination( page_obj.number, paginator.num_pages) context['NO_ENTRIES_MSG'] = 'Nenhuma proposição pendente.' @@ -650,6 +651,7 @@ class ProposicaoCrud(Crud): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['subnav_template_name'] = '' + context['AppConfig'] = sapl.base.models.AppConfig.objects.all().last() context['title'] = '%s (%s)' % ( self.object, self.object.autor) diff --git a/sapl/templates/base/layouts.yaml b/sapl/templates/base/layouts.yaml index 68da1cd70..3f066289b 100644 --- a/sapl/templates/base/layouts.yaml +++ b/sapl/templates/base/layouts.yaml @@ -15,7 +15,7 @@ AppConfig: - documentos_administrativos {% trans 'Proposições e Protocolo' %}: - - sequencia_numeracao proposicao_incorporacao_obrigatoria + - sequencia_numeracao proposicao_incorporacao_obrigatoria receber_recibo_proposicao {% trans 'Textos Articulados' %}: - texto_articulado_proposicao texto_articulado_materia texto_articulado_norma diff --git a/sapl/templates/materia/prop_pendentes_list.html b/sapl/templates/materia/prop_pendentes_list.html index ddc1f0363..092d19a26 100644 --- a/sapl/templates/materia/prop_pendentes_list.html +++ b/sapl/templates/materia/prop_pendentes_list.html @@ -1,6 +1,7 @@ {% extends "base.html" %} {% load i18n %} {% load tz %} +{% load common_tags %} {% block base_content %}
Proposições Não Recebidas @@ -14,18 +15,30 @@ Tipo Descrição Autor - Código do Documento + {% if not AppConfig.receber_recibo_proposicao %} + Código do Documento + {% endif %} {% for prop in object_list %} - {{ prop.data_envio|localtime|date:"d/m/Y H:i:s" }} + + {{ prop.data_envio|localtime|date:"d/m/Y H:i:s" }} + {{ prop.tipo.descricao }} {{ prop.descricao }} - {{ prop.autor }} - {{ prop.hash_code }} - + {{prop.autor}} + + {% if not AppConfig.receber_recibo_proposicao %} + {%if prop.hash_code %} + {{ prop.hash_code }} + {% else %} + {{ prop.hash_code }} + {% endif %} + {% endif %} + + {% endfor %} diff --git a/sapl/templates/materia/proposicao_detail.html b/sapl/templates/materia/proposicao_detail.html index 039d55ad7..23500e739 100644 --- a/sapl/templates/materia/proposicao_detail.html +++ b/sapl/templates/materia/proposicao_detail.html @@ -136,16 +136,19 @@ {% endif %} - {% if object.hash_code %} -
-
-

{%field_verbose_name object 'hash_code'%}

-
-
{{object.hash_code}}
+ {% if not AppConfig.receber_recibo_proposicao %} + {% if object.hash_code %} + +
+
+

{%field_verbose_name object 'hash_code'%}

+
+
{{object.hash_code}}
+
+
-
-
+ {% endif %} {% endif %}
{% endblock detail_content %}