Browse Source

Fix #1718

pull/1719/head
tapumar@gmail.com 8 years ago
parent
commit
05418e1741
  1. 2
      docker-compose.yml
  2. 3
      sapl/base/forms.py
  3. 20
      sapl/base/migrations/0015_appconfig_receber_recibo_proposicao.py
  4. 4
      sapl/base/models.py
  5. 171
      sapl/materia/admin.py
  6. 6
      sapl/materia/forms.py
  7. 2
      sapl/materia/views.py
  8. 29
      sapl/parlamentares/migrations/0020_fix_inicio_mandato.py
  9. 2
      sapl/templates/base/layouts.yaml
  10. 4
      sapl/templates/materia/prop_pendentes_list.html
  11. 3
      sapl/templates/materia/proposicao_detail.html
  12. 2
      setup.py

2
docker-compose.yml

@ -11,7 +11,7 @@ sapldb:
ports:
- "5432:5432"
sapl:
image: interlegis/sapl:3.1.51
image: interlegis/sapl:3.1.52
restart: always
environment:
ADMIN_PASSWORD: interlegis

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

20
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?'),
),
]

4
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')

171
sapl/materia/admin.py

@ -19,159 +19,9 @@ if not DEBUG:
admin.site.unregister(TipoAfastamento)
admin.site.unregister(SituacaoMilitar)
admin.site.unregister(TipoDependente)
admin.site.unregister(TipoNormaJuridica)
admin.site.unregister(TipoVinculoNormaJuridica)
admin.site.unregister(TipoSessaoPlenaria)
admin.site.unregister(TipoExpediente)
admin.site.unregister(TipoResultadoVotacao)
admin.site.unregister(TipoDocumentoAdministrativo)
admin.site.unregister(TipoMateriaLegislativa)
class ProposicaoAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoAutorAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoComissaoAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoAfastamentoAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class SituacaoMilitarAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoNormaJuridicaAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoVinculoNormaJuridicaAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoDependenteAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoSessaoPlenariaAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoExpedienteAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoResultadoVotacaoAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoDocumentoAdministrativoAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
def has_change_permission(self, request, obj=None):
return False
def has_delete_permission(self, request, obj=None):
return False
class TipoMateriaLegislativaAdmin(admin.ModelAdmin):
class RestricaoAdmin(admin.ModelAdmin):
def has_add_permission(self, request, obj=None):
return False
@ -183,16 +33,9 @@ if not DEBUG:
return False
admin.site.register(Proposicao, ProposicaoAdmin)
admin.site.register(TipoAutor, TipoAutorAdmin)
admin.site.register(TipoComissao, TipoComissaoAdmin)
admin.site.register(TipoAfastamento, TipoAfastamentoAdmin)
admin.site.register(SituacaoMilitar, SituacaoMilitarAdmin)
admin.site.register(TipoDependente, TipoNormaJuridicaAdmin)
admin.site.register(TipoDependente, TipoVinculoNormaJuridicaAdmin)
admin.site.register(TipoDependente, TipoDependenteAdmin)
admin.site.register(TipoSessaoPlenaria, TipoSessaoPlenariaAdmin)
admin.site.register(TipoExpediente, TipoExpedienteAdmin)
admin.site.register(TipoResultadoVotacao, TipoResultadoVotacaoAdmin)
admin.site.register(TipoDocumentoAdministrativo, TipoDocumentoAdministrativoAdmin)
admin.site.register(TipoMateriaLegislativa, TipoMateriaLegislativaAdmin)
admin.site.register(Proposicao, RestricaoAdmin)
admin.site.register(TipoAutor, RestricaoAdmin)
admin.site.register(TipoComissao, RestricaoAdmin)
admin.site.register(TipoAfastamento, RestricaoAdmin)
admin.site.register(SituacaoMilitar, RestricaoAdmin)
admin.site.register(TipoDependente, RestricaoAdmin)

6
sapl/materia/forms.py

@ -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",

2
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 <small>(%s)</small>' % (
self.object, self.object.autor)

29
sapl/parlamentares/migrations/0020_fix_inicio_mandato.py

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
def popula_campo_data_inicio(apps, schema_editor):
Mandato = apps.get_model("parlamentares", "Mandato")
mandatos = Mandato.objects.all()
for m in mandatos:
if m.data_inicio_mandato == None:
m.data_inicio_mandato = m.legislatura.data_inicio
m.save()
class Migration(migrations.Migration):
dependencies = [
# A dependencia real desse script é o arquivo 0001_initial.py, mas
# isso gera um erro (Conflicting migrations detected; multiple leaf
# nodes in the migration graph). para não ocasionar problemas de migração,
# vamos manter a ordem padrão do django.
('parlamentares', '0019_auto_20180221_1155'),
]
operations = [
migrations.RunPython(popula_campo_data_inicio),
]

2
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

4
sapl/templates/materia/prop_pendentes_list.html

@ -15,7 +15,9 @@
<th>Tipo</th>
<th>Descrição</th>
<th>Autor</th>
{% if not AppConfig.receber_recibo_proposicao %}
<th>Código do Documento</th>
{% endif %}
</tr>
</thead>
<tbody>
@ -28,11 +30,13 @@
<td>{{ prop.descricao }}</td>
<td>{{prop.autor}}</td>
<td>
{% if not AppConfig.receber_recibo_proposicao %}
{%if prop.hash_code %}
<a href="{% url 'sapl.materia:proposicao-confirmar' prop.hash_code|strip_hash prop.pk %}">{{ prop.hash_code }}</a>
{% else %}
{{ prop.hash_code }}
{% endif %}
{% endif %}
</td>
</tr>
{% endfor %}

3
sapl/templates/materia/proposicao_detail.html

@ -136,6 +136,8 @@
</div>
</div>
{% endif %}
{% if not AppConfig.receber_recibo_proposicao %}
{% if object.hash_code %}
<div class="col-sm-12">
@ -147,5 +149,6 @@
</div>
</div>
{% endif %}
{% endif %}
</div>
{% endblock detail_content %}

2
setup.py

@ -49,7 +49,7 @@ install_requires = [
]
setup(
name='interlegis-sapl',
version='3.1.51',
version='3.1.52',
packages=find_packages(),
include_package_data=True,
license='GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007',

Loading…
Cancel
Save