From 09dc7f7466c2a3062797710fc9d4c1758d3488bb Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Fri, 8 Apr 2016 08:39:37 -0300 Subject: [PATCH 1/4] =?UTF-8?q?Estruturar=20View=20e=20template=20de=20pen?= =?UTF-8?q?d=C3=AAncias.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compilacao/forms.py | 8 +-- compilacao/urls.py | 3 + compilacao/views.py | 80 ++++++++++++++++++++++- static/js/compilacao_edit.js | 1 - static/js/compilacao_notas.js | 21 +++--- templates/compilacao/text_pendencias.html | 53 +++++++++++++++ 6 files changed, 150 insertions(+), 16 deletions(-) create mode 100644 templates/compilacao/text_pendencias.html diff --git a/compilacao/forms.py b/compilacao/forms.py index e98b5cc53..ce8a1d49d 100644 --- a/compilacao/forms.py +++ b/compilacao/forms.py @@ -559,7 +559,7 @@ class DispositivoEdicaoBasicaForm(ModelForm): self.helper = FormHelper() self.helper.layout = SaplFormLayout( *layout, - label_cancel=_('Retornar para o Editor Sequencial')) + label_cancel=_('Ir para o Editor Sequencial')) super(DispositivoEdicaoBasicaForm, self).__init__(*args, **kwargs) @@ -727,7 +727,7 @@ class DispositivoEdicaoVigenciaForm(ModelForm): self.helper = FormHelper() self.helper.layout = SaplFormLayout( *layout, - label_cancel=_('Retornar para o Editor Sequencial')) + label_cancel=_('Ir para o Editor Sequencial')) super(DispositivoEdicaoVigenciaForm, self).__init__(*args, **kwargs) @@ -816,7 +816,7 @@ class DispositivoDefinidorVigenciaForm(Form): self.helper = FormHelper() self.helper.layout = SaplFormLayout( *layout, - label_cancel=_('Retornar para o Editor Sequencial')) + label_cancel=_('Ir para o Editor Sequencial')) pk = kwargs.pop('pk') super(DispositivoDefinidorVigenciaForm, self).__init__(*args, **kwargs) @@ -955,7 +955,7 @@ class DispositivoEdicaoAlteracaoForm(ModelForm): self.helper = FormHelper() self.helper.layout = SaplFormLayout( *layout, - label_cancel=_('Retornar para o Editor Sequencial')) + label_cancel=_('Ir para o Editor Sequencial')) super(DispositivoEdicaoAlteracaoForm, self).__init__(*args, **kwargs) diff --git a/compilacao/urls.py b/compilacao/urls.py index 0a3c93222..4c8d0ed49 100644 --- a/compilacao/urls.py +++ b/compilacao/urls.py @@ -27,6 +27,9 @@ urlpatterns_compilacao = [ url(r'^(?P[0-9]+)/text/edit', views.TextEditView.as_view(), name='ta_text_edit'), + url(r'^(?P[0-9]+)/text/pendencias', + views.TextPendenciasView.as_view(), name='ta_text_pendencias'), + url(r'^(?P[0-9]+)/text/(?P[0-9]+)/$', views.DispositivoView.as_view(), name='dispositivo'), diff --git a/compilacao/views.py b/compilacao/views.py index 582c4ca70..681a9ecb0 100644 --- a/compilacao/views.py +++ b/compilacao/views.py @@ -1,6 +1,6 @@ -import sys from collections import OrderedDict from datetime import datetime, timedelta +import sys from braces.views import FormMessagesMixin from django import forms @@ -36,6 +36,7 @@ from compilacao.models import (Dispositivo, Nota, from compilacao.utils import DISPOSITIVO_SELECT_RELATED from crud.base import Crud, CrudListView, make_pagination + TipoNotaCrud = Crud.build(TipoNota, 'tipo_nota') TipoVideCrud = Crud.build(TipoVide, 'tipo_vide') TipoPublicacaoCrud = Crud.build(TipoPublicacao, 'tipo_publicacao') @@ -2291,3 +2292,80 @@ class DispositivoEdicaoAlteracaoView(FormMessagesMixin, UpdateView): return self.form_invalid(form) else: return self.form_invalid(form) + + +class TextPendenciasView(ListView, CompMixin): + template_name = 'compilacao/text_pendencias.html' + + def get_queryset(self): + + result = Dispositivo.objects.filter( + ta_id=self.kwargs['ta_id'] + ).select_related(*DISPOSITIVO_SELECT_RELATED) + + for r in result: + p = [] + + def padd(type_pendencia, msg, + reverse_url=None, _kwargs=None, to_position=None): + r.contextual_class = type_pendencia + if not _kwargs: + _kwargs = {'ta_id': r.ta_id, 'pk': r.pk} + if reverse_url: + p.append((type_pendencia, msg, + reverse_lazy(reverse_url, kwargs=_kwargs), + to_position)) + else: + p.append((type_pendencia, msg, None, to_position)) + + # info + if r.rotulo != r.rotulo_padrao(local_insert=1): + padd('info', _('Rótulo Diferente do Padrão'), + 'compilacao:dispositivo_edit') + + if r.texto_atualizador and r.texto_atualizador != r.texto: + padd('info', _('Texto do Dispositivo para o Documento ' + 'está diferente do texto para o Documento ' + 'Alterador.'), + 'compilacao:dispositivo_edit') + + if r.inconstitucionalidade: + if not r.notas.exists(): + padd('info', _('Este Dispositivo está definido como ' + 'inconstitucional. É aconcelhavel inserir ' + 'uma Nota informando esta condição.'), + 'compilacao:ta_text', _kwargs={'ta_id': r.ta_id}, + to_position=r.pk) + + if not (r.inicio_vigencia == r.fim_vigencia and + r.fim_vigencia == r.inicio_eficacia and + r.inicio_eficacia == r.fim_eficacia): + padd('info', _('Este Dispositivo está definido como ' + 'inconstitucional porém existe ' + 'diferença entre as datas de vigência e ' + 'eficácia.'), + 'compilacao:dispositivo_edit_vigencia') + + # warnings + if r.dispositivo_vigencia and r.inicio_vigencia != \ + r.dispositivo_vigencia.inicio_vigencia: + padd('warning', + _('Data de início de Vigência diferente da ' + 'data início de Vigência do Dispositivo de Vigência'), + 'compilacao:dispositivo_edit_vigencia') + + if r.inconstitucionalidade: + if r.inicio_vigencia != r.fim_vigencia: + padd('warning', _('Este Dispositivo está definido como ' + 'inconstitucional porém existe ' + 'período de vigência!'), + 'compilacao:dispositivo_edit_vigencia') + + # dangers + + if not r.dispositivo_vigencia: + padd('danger', + _('Sem definição de Dispositivo de Vigência'), + 'compilacao:dispositivo_edit_vigencia') + r.pendencias = p + return result diff --git a/static/js/compilacao_edit.js b/static/js/compilacao_edit.js index 0193d712e..4368325d9 100644 --- a/static/js/compilacao_edit.js +++ b/static/js/compilacao_edit.js @@ -1,6 +1,5 @@ var editortype = "textarea"; -var gets = 0; var onSubmitEditForm = function(event) { var texto = ''; diff --git a/static/js/compilacao_notas.js b/static/js/compilacao_notas.js index 487cfb5ec..6171d80e4 100644 --- a/static/js/compilacao_notas.js +++ b/static/js/compilacao_notas.js @@ -123,20 +123,21 @@ function getForm(_this) { function onReadyNotasVides() { - $('.dne-nota').removeClass('dne-nota'); - $('.dne-form').html(''); + $('.dne-nota').removeClass('dne-nota'); + $('.dne-form').html(''); - $('.dne .btn-action').off(); - $('.dn .btn-action').off(); + $('.dne .btn-action').off(); + $('.dn .btn-action').off(); - $('.dne .btn-action, .dn .btn-action').not('.btn-nota-delete').not('.btn-vide-delete').click(function(){ - getForm(this); - }); + $('.dne .btn-action, .dn .btn-action').not('.btn-nota-delete').not('.btn-vide-delete').click(function(){ + getForm(this); + }); - $('.dn .btn-nota-delete, .dn .btn-vide-delete').click(function(){ - onDelete(this); - }); + $('.dn .btn-nota-delete, .dn .btn-vide-delete').click(function(){ + onDelete(this); + }); } + $(document).ready(function() { onReadyNotasVides() }); diff --git a/templates/compilacao/text_pendencias.html b/templates/compilacao/text_pendencias.html new file mode 100644 index 000000000..b5bf67992 --- /dev/null +++ b/templates/compilacao/text_pendencias.html @@ -0,0 +1,53 @@ +{% extends "base.html" %} +{% load i18n compilacao_filters common_tags sass_tags%} + +{% block base_content %} + + {% block head_content %}{{block.super}} + + {% endblock %} + + + + + + + + + + {% for dpt in object_list %} + + + {% if dpt.contextual_class %} + + {% endif %} + + {% endfor %} + +
{% trans "Dispositivos" %}{% trans "Pendências" %}
+
+
+
+ {{ dpt.tipo_dispositivo.rotulo_prefixo_html|safe }} + {% if dpt.rotulo or dpt.nivel = 1 %}{{ dpt.rotulo }}{%else%}[{{ dpt|nomenclatura}}{% if dpt.dispositivo_pai_id %} {% trans "de" %} {{ dpt.dispositivo_pai.rotulo }}{% endif %}] - {% endif %} + {{ dpt.tipo_dispositivo.rotulo_sufixo_html|safe }} + {{ dpt.tipo_dispositivo.texto_prefixo_html|safe }}{%if dpt.texto %}{{ dpt.texto|safe }}{%else%}{%if not dpt.tipo_dispositivo.dispositivo_de_articulacao %} {% endif %}{% endif %} +
+
+
+
+
    + {% for p in dpt.pendencias %} +
  • + {%if p.2 %} + {{p.1}} + {% else%} + {{p.1}} + {% endif %}
  • + {% endfor %} +
+
+{% endblock %} From 31b4f4bfa54de9b317d902455fd5587151515ef2 Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Mon, 18 Apr 2016 09:26:11 -0300 Subject: [PATCH 2/4] =?UTF-8?q?Refat=20dos=20tipos=20de=20pend=C3=AAncias?= =?UTF-8?q?=20e=20rend.=20dos=20vides?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compilacao/forms.py | 9 +- compilacao/views.py | 211 +++++++++++++++------- static/styles/compilacao.scss | 24 +++ templates/compilacao/text_list_bloco.html | 8 +- templates/compilacao/text_pendencias.html | 5 +- 5 files changed, 186 insertions(+), 71 deletions(-) diff --git a/compilacao/forms.py b/compilacao/forms.py index ce8a1d49d..60e943bfe 100644 --- a/compilacao/forms.py +++ b/compilacao/forms.py @@ -7,6 +7,7 @@ from crispy_forms.layout import (HTML, Button, Column, Div, Field, Fieldset, Layout, Row) from django import forms from django.core.exceptions import NON_FIELD_ERRORS, ValidationError +from django.db.models import Q from django.forms.forms import Form from django.forms.models import ModelForm from django.template import defaultfilters @@ -732,12 +733,14 @@ class DispositivoEdicaoVigenciaForm(ModelForm): super(DispositivoEdicaoVigenciaForm, self).__init__(*args, **kwargs) pubs = Publicacao.objects.order_by( - '-data', '-hora').filter(ta=self.instance.ta) + '-data', '-hora').filter(Q(ta=self.instance.ta) | + Q(ta=self.instance.ta_publicado)) self.fields['publicacao'].choices = [("", "---------")] + [( - p.pk, _('%s realizada em %s') % ( + p.pk, _('%s realizada em %s. %s') % ( p.tipo_publicacao, defaultfilters.date( - p.data, "d \d\e F \d\e Y"))) for p in pubs] + p.data, "d \d\e F \d\e Y"), + str(p.ta))) for p in pubs] dvs = Dispositivo.objects.order_by('ordem').filter( pk=self.instance.dispositivo_vigencia_id) diff --git a/compilacao/views.py b/compilacao/views.py index 681a9ecb0..91162bc58 100644 --- a/compilacao/views.py +++ b/compilacao/views.py @@ -6,6 +6,7 @@ from braces.views import FormMessagesMixin from django import forms from django.contrib.auth.decorators import login_required from django.contrib.contenttypes.models import ContentType +from django.contrib.messages import constants from django.core.signing import Signer from django.core.urlresolvers import reverse_lazy from django.db import transaction @@ -2303,69 +2304,157 @@ class TextPendenciasView(ListView, CompMixin): ta_id=self.kwargs['ta_id'] ).select_related(*DISPOSITIVO_SELECT_RELATED) + p = [] + + def padd(r, type_pendencia, reverse_url=None, test=True, msg='', + kwargs=None, to_position=None): + + if not test: + return + + r.contextual_class = type_pendencia + if not kwargs: + kwargs = {'ta_id': r.ta_id, 'pk': r.pk} + if reverse_url: + p.append((type_pendencia, msg, + reverse_lazy(reverse_url, kwargs=kwargs), + to_position)) + else: + p.append((type_pendencia, msg, None, to_position)) + + def success(r): + type_pendencia = 'success' + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + r.inconstitucionalidade, + _('Declarado Inconstitucional.')) + + padd(r, type_pendencia, 'compilacao:ta_text_edit', + r.ta_publicado and r.dispositivo_atualizador, + _('Dispositivo alterado em %s' % r.ta_publicado), + {'ta_id': r.ta_publicado_id}, r.dispositivo_atualizador_id) + + def info(r): + type_pendencia = 'info' + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + r.publicacao and + r.dispositivo_vigencia and + r.publicacao.data != r.dispositivo_vigencia.inicio_vigencia, + _('Data da publicação associada ao Dispositivo difere da data' + ' de inicio de vigência do Dispositivo de vigência.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + r.publicacao and r.publicacao.data != r.inicio_vigencia, + _('Data da publicação associada ao Dispositivo difere ' + 'da data de inicio de vigência.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit', + r.rotulo != r.rotulo_padrao(local_insert=1), + _('Rótulo Diferente do Padrão')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit', + r.texto_atualizador and r.texto_atualizador != r.texto, + _('Texto do Dispositivo para o Documento ' + 'está diferente do texto para o Documento Alterador.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_alteracao', + r.texto_atualizador and r.texto_atualizador == r.texto, + _('Texto do Dispositivo no Documento Alterador ' + 'está igual ao Texto no Documento Original. ' + 'Não é necessário manter armazenado o texto no Documento ' + 'Alterador.')) + + def warning(r): + type_pendencia = 'warning' + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + r.dispositivo_vigencia and r.inicio_vigencia != + r.dispositivo_vigencia.inicio_vigencia, + _('Data de início de Vigência difere da data início de ' + 'Vigência do Dispositivo de Vigência')) + + padd(r, type_pendencia, 'compilacao:ta_text', + r.inconstitucionalidade and not r.notas.exists(), + _('Dispositivo está definido como inconstitucional. É ' + 'aconcelhavel inserir uma Nota informando esta condição.'), + kwargs={'ta_id': r.ta_id}, + to_position=r.pk) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + r.inconstitucionalidade and not ( + r.inicio_vigencia == r.fim_vigencia and + r.fim_vigencia == r.inicio_eficacia and + r.inicio_eficacia == r.fim_eficacia), + _('Dispositivo está definido como inconstitucional porém ' + 'existe diferença entre as datas início e fim de ' + 'vigência e eficácia.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + r.publicacao and + r.ta_publicado and r.ta_publicado != r.publicacao.ta, + _('A Publicação associada a este Dispositivo não é ' + 'uma publicação do Texto Articulado Alterador.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + not r.publicacao, + _('Dispositivo sem registro de publicação.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + r.texto and r.tipo_dispositivo.dispositivo_de_articulacao, + _('Dispositivos de Articulação não ' + 'deveriam armazenar texto.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + not r.texto and r.tipo_dispositivo.dispositivo_de_articulacao, + _('Dispositivo está sem texto.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_alteracao', + r.texto_atualizador and not r.ta_publicado, + _('Existe Texto Atualizador, porém este Dispositivo não ' + 'está associado a nenhum Documento Atualizador.')) + + def danger(r): + type_pendencia = 'danger' + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + not r.dispositivo_vigencia, + _('Dispositivo sem definição de Dispositivo de Vigência.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_vigencia', + r.inconstitucionalidade and + r.inicio_vigencia != r.fim_vigencia, + _('Dispositivo está definido como inconstitucional porém ' + 'existe período de vigência.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_alteracao', + r.ta_publicado and not r.dispositivo_atualizador, + _('Dispositivo está associado a um Texto Articulado ' + 'Atualizador mas, a nenhum Dispositivo Atualizador.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_alteracao', + not r.dispositivo_atualizador and + r.dispositivo_substituido, + _('Dispositivo está substituindo outro mas não foi informado ' + 'o Dispositivo Atualizador.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_alteracao', + r.dispositivo_substituido.tipo_dispositivo != + r.tipo_dispositivo, + _('Dispositivo está substituindo um Dispositivo ' + 'de outro tipo.')) + + padd(r, type_pendencia, 'compilacao:dispositivo_edit_alteracao', + r.dispositivo_substituido.ta != r.ta, + _('Dispositivo está substituindo um Dispositivo de outro ' + 'Texto Articulado.')) + for r in result: p = [] + r.contextual_class = "" + + # sucess + success(r) + info(r) + warning(r) + danger(r) - def padd(type_pendencia, msg, - reverse_url=None, _kwargs=None, to_position=None): - r.contextual_class = type_pendencia - if not _kwargs: - _kwargs = {'ta_id': r.ta_id, 'pk': r.pk} - if reverse_url: - p.append((type_pendencia, msg, - reverse_lazy(reverse_url, kwargs=_kwargs), - to_position)) - else: - p.append((type_pendencia, msg, None, to_position)) - - # info - if r.rotulo != r.rotulo_padrao(local_insert=1): - padd('info', _('Rótulo Diferente do Padrão'), - 'compilacao:dispositivo_edit') - - if r.texto_atualizador and r.texto_atualizador != r.texto: - padd('info', _('Texto do Dispositivo para o Documento ' - 'está diferente do texto para o Documento ' - 'Alterador.'), - 'compilacao:dispositivo_edit') - - if r.inconstitucionalidade: - if not r.notas.exists(): - padd('info', _('Este Dispositivo está definido como ' - 'inconstitucional. É aconcelhavel inserir ' - 'uma Nota informando esta condição.'), - 'compilacao:ta_text', _kwargs={'ta_id': r.ta_id}, - to_position=r.pk) - - if not (r.inicio_vigencia == r.fim_vigencia and - r.fim_vigencia == r.inicio_eficacia and - r.inicio_eficacia == r.fim_eficacia): - padd('info', _('Este Dispositivo está definido como ' - 'inconstitucional porém existe ' - 'diferença entre as datas de vigência e ' - 'eficácia.'), - 'compilacao:dispositivo_edit_vigencia') - - # warnings - if r.dispositivo_vigencia and r.inicio_vigencia != \ - r.dispositivo_vigencia.inicio_vigencia: - padd('warning', - _('Data de início de Vigência diferente da ' - 'data início de Vigência do Dispositivo de Vigência'), - 'compilacao:dispositivo_edit_vigencia') - - if r.inconstitucionalidade: - if r.inicio_vigencia != r.fim_vigencia: - padd('warning', _('Este Dispositivo está definido como ' - 'inconstitucional porém existe ' - 'período de vigência!'), - 'compilacao:dispositivo_edit_vigencia') - - # dangers - - if not r.dispositivo_vigencia: - padd('danger', - _('Sem definição de Dispositivo de Vigência'), - 'compilacao:dispositivo_edit_vigencia') r.pendencias = p + return result diff --git a/static/styles/compilacao.scss b/static/styles/compilacao.scss index 5dcffd295..3e58ac721 100644 --- a/static/styles/compilacao.scss +++ b/static/styles/compilacao.scss @@ -1063,6 +1063,28 @@ a:link:after, a:visited:after { } } +.table-pendencias { + tbody { + tr { + td { + border-top: 1px solid white; + padding: 5px; + vertical-align: middle; + ul { + margin: 0px; + /*padding: 0px; + list-style: none;*/ + li { + &:hover { + background-color: rgba(0, 0, 0, 0.1) + } + } + } + } + } + } +} + .btn-modal-open { float: right; } @@ -1071,9 +1093,11 @@ a:link:after, a:visited:after { .class_color_container { background: #ddd !important; } + .clear { clear:both; } + .mce-panel { /*border: 0px solid #ccc !important;*/ } diff --git a/templates/compilacao/text_list_bloco.html b/templates/compilacao/text_list_bloco.html index 5ee5de08d..7ea48a8b8 100644 --- a/templates/compilacao/text_list_bloco.html +++ b/templates/compilacao/text_list_bloco.html @@ -72,9 +72,9 @@
Vide:
{% if vide.dispositivo_ref.dispositivo_pai.nivel != 0 and vide.dispositivo_ref.dispositivo_pai.tipo_dispositivo.dispositivo_de_articulacao %} - {{ vide.dispositivo_ref.dispositivo_pai}} + {{ vide.dispositivo_ref.dispositivo_pai}} - {{ vide.dispositivo_ref.dispositivo_pai.ta}} {% else %} - {{ vide.dispositivo_ref}} + {{ vide.dispositivo_ref}} - {{vide.dispositivo_ref.ta}} {% endif %} {% if vide.texto %} - {{vide.texto}}{% endif %}
@@ -100,9 +100,9 @@
Citado em:
{% if vide.dispositivo_base.dispositivo_pai.nivel != 0 and vide.dispositivo_base.dispositivo_pai.tipo_dispositivo.dispositivo_de_articulacao%} - {{ vide.dispositivo_base.dispositivo_pai}} + {{ vide.dispositivo_base.dispositivo_pai}} - {{ vide.dispositivo_base.dispositivo_pai.ta}} {% else %} - {{ vide.dispositivo_base}} + {{ vide.dispositivo_base}} - {{ vide.dispositivo_base.ta}} {% endif %} {% if vide.texto %} - {{vide.texto}}{% endif %}
diff --git a/templates/compilacao/text_pendencias.html b/templates/compilacao/text_pendencias.html index b5bf67992..ba59856d7 100644 --- a/templates/compilacao/text_pendencias.html +++ b/templates/compilacao/text_pendencias.html @@ -6,8 +6,7 @@ {% block head_content %}{{block.super}} {% endblock %} - - +
@@ -17,7 +16,7 @@ {% for dpt in object_list %} -
{% trans "Dispositivos" %}
+
From 57aa015e89edfac31ed3cfc2b1c314b27cf0121d Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Mon, 18 Apr 2016 15:58:42 -0300 Subject: [PATCH 3/4] =?UTF-8?q?Altera=C3=A7=C3=A3o=20na=20reenderiza=C3=A7?= =?UTF-8?q?=C3=A3o=20da=20mensagem=20dos=20Vides.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/compilacao/text_list_bloco.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/compilacao/text_list_bloco.html b/templates/compilacao/text_list_bloco.html index 7ea48a8b8..5b10e7f75 100644 --- a/templates/compilacao/text_list_bloco.html +++ b/templates/compilacao/text_list_bloco.html @@ -72,7 +72,7 @@
Vide:
{% if vide.dispositivo_ref.dispositivo_pai.nivel != 0 and vide.dispositivo_ref.dispositivo_pai.tipo_dispositivo.dispositivo_de_articulacao %} - {{ vide.dispositivo_ref.dispositivo_pai}} - {{ vide.dispositivo_ref.dispositivo_pai.ta}} + {{ vide.dispositivo_ref}} {% trans 'do'%} {{ vide.dispositivo_ref.dispositivo_pai}} - {{ vide.dispositivo_ref.dispositivo_pai.ta}} {% else %} {{ vide.dispositivo_ref}} - {{vide.dispositivo_ref.ta}} {% endif %} @@ -100,7 +100,7 @@
Citado em:
{% if vide.dispositivo_base.dispositivo_pai.nivel != 0 and vide.dispositivo_base.dispositivo_pai.tipo_dispositivo.dispositivo_de_articulacao%} - {{ vide.dispositivo_base.dispositivo_pai}} - {{ vide.dispositivo_base.dispositivo_pai.ta}} + {{ vide.dispositivo_base}} {% trans 'do'%} {{ vide.dispositivo_base.dispositivo_pai}} - {{ vide.dispositivo_base.dispositivo_pai.ta}} {% else %} {{ vide.dispositivo_base}} - {{ vide.dispositivo_base.ta}} {% endif %} From 44a29389dabf785332db6a50362ed0160c82c135 Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Tue, 3 May 2016 16:44:32 -0300 Subject: [PATCH 4/4] =?UTF-8?q?Ajuste=20na=20integra=C3=A7=C3=A3o=20com=20?= =?UTF-8?q?Compila=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compilacao/views.py | 3 +-- materia/urls.py | 3 +-- norma/urls.py | 20 ++++---------------- norma/views.py | 1 - protocoloadm/views.py | 2 +- templates/norma/subnav.yaml | 9 +++++++++ 6 files changed, 16 insertions(+), 22 deletions(-) create mode 100644 templates/norma/subnav.yaml diff --git a/compilacao/views.py b/compilacao/views.py index 91162bc58..eb55275f5 100644 --- a/compilacao/views.py +++ b/compilacao/views.py @@ -1,6 +1,6 @@ +import sys from collections import OrderedDict from datetime import datetime, timedelta -import sys from braces.views import FormMessagesMixin from django import forms @@ -37,7 +37,6 @@ from compilacao.models import (Dispositivo, Nota, from compilacao.utils import DISPOSITIVO_SELECT_RELATED from crud.base import Crud, CrudListView, make_pagination - TipoNotaCrud = Crud.build(TipoNota, 'tipo_nota') TipoVideCrud = Crud.build(TipoVide, 'tipo_vide') TipoPublicacaoCrud = Crud.build(TipoPublicacao, 'tipo_publicacao') diff --git a/materia/urls.py b/materia/urls.py index 26982c318..c43738dcb 100644 --- a/materia/urls.py +++ b/materia/urls.py @@ -29,13 +29,12 @@ urlpatterns = [ DespachoInicialCrud.get_urls() + NumeracaoCrud.get_urls())), - + # Integração com Compilação url(r'^materia/(?P[0-9]+)/ta$', MateriaTaView.as_view(), name='materia_ta'), url(r'^materia/proposicao/(?P[0-9]+)/ta$', ProposicaoTaView.as_view(), name='proposicao_ta'), - url(r'^sistema/proposicao/tipo/', include(TipoProposicaoCrud.get_urls())), url(r'^sistema/proposicao/autor/', include(AutorCrud.get_urls())), diff --git a/norma/urls.py b/norma/urls.py index c75863a5f..d99713597 100644 --- a/norma/urls.py +++ b/norma/urls.py @@ -1,31 +1,19 @@ from django.conf.urls import include, url from norma.views import (AssuntoNormaCrud, NormaCrud, NormaPesquisaView, - NormaTaView, NormaTemporarioCrud, - PesquisaNormaListView, TipoNormaCrud) + NormaTaView, PesquisaNormaListView, TipoNormaCrud) from .apps import AppConfig app_name = AppConfig.name -# @LeandroRoberto comentou em -# https://github.com/interlegis/sapl/pull/255#discussion_r55894269 -# -# esse código só está assim de forma temporária, criado no início do -# projeto para apenas dar uma tela básica de listagem de normas para a app -# compilação... a implementação da app norma é independente e não sei em -# que estágio está... para a compilação é relevante apenas que se mantenha -# o código abaixo: -# url(r'^norma/(?P[0-9]+)/ta$', NormaTaView.as_view(), name='ta') -# bem como a classe NormaTaView que está em norma.views -norma_url_patterns = NormaTemporarioCrud.get_urls() + [ - url(r'^(?P[0-9]+)/ta$', - NormaTaView.as_view(), name='ta') -] urlpatterns = [ url(r'^norma/', include(NormaCrud.get_urls())), + # Integração com Compilação + url(r'^norma/(?P[0-9]+)/ta$', NormaTaView.as_view(), name='norma_ta'), + url(r'^sistema/norma/tipo/', include(TipoNormaCrud.get_urls())), url(r'^sistema/norma/assunto/', include(AssuntoNormaCrud.get_urls())), url(r'^norma/pesquisa$', diff --git a/norma/views.py b/norma/views.py index 838e7a62b..711d3ff60 100644 --- a/norma/views.py +++ b/norma/views.py @@ -13,7 +13,6 @@ from .models import (AssuntoNorma, LegislacaoCitada, NormaJuridica, AssuntoNormaCrud = Crud.build(AssuntoNorma, 'assunto_norma_juridica') TipoNormaCrud = Crud.build(TipoNormaJuridica, 'tipo_norma_juridica') -NormaTemporarioCrud = Crud.build(NormaJuridica, 'norma') LegislacaoCitadaCrud = Crud.build(LegislacaoCitada, '') diff --git a/protocoloadm/views.py b/protocoloadm/views.py index 851cf76f9..bc4b122d2 100644 --- a/protocoloadm/views.py +++ b/protocoloadm/views.py @@ -4,7 +4,7 @@ from datetime import date, datetime from braces.views import FormValidMessageMixin from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse -from django.db.models import Q, Max +from django.db.models import Max, Q from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import redirect from django.utils.translation import ugettext_lazy as _ diff --git a/templates/norma/subnav.yaml b/templates/norma/subnav.yaml new file mode 100644 index 000000000..638daf96e --- /dev/null +++ b/templates/norma/subnav.yaml @@ -0,0 +1,9 @@ +- title: Início + url: normajuridica_detail + +# Opção adicionada para chamar o TextoArticulado da norma. +# para integração foram necessárias apenas criar a url norma_ta em urls.py +# e a view NormaTaView(IntegracaoTaView) em views.py +# Em nada mais a integração interfere em NormaJuridica +- title: Texto + url: norma_ta