Browse Source

Impl. #2909 - Norma Jurídica

pull/2919/head
João Rodrigues 6 years ago
parent
commit
4289b8b2bb
  1. 7
      sapl/norma/forms.py
  2. 20
      sapl/norma/migrations/0026_normajuridica_ultima_edicao.py
  3. 4
      sapl/norma/models.py
  4. 12
      sapl/norma/views.py
  5. 2
      sapl/templates/materia/materialegislativa_detail.html
  6. 1
      sapl/templates/materia/tramitacao_detail.html
  7. 41
      sapl/templates/norma/normajuridica_detail.html

7
sapl/norma/forms.py

@ -134,10 +134,13 @@ class NormaJuridicaForm(FileFieldCheckMixin, ModelForm):
'texto_integral', 'texto_integral',
'assuntos', 'assuntos',
'user', 'user',
'ip'] 'ip',
'ultima_edicao']
widgets = {'assuntos': widgets.CheckboxSelectMultiple, widgets = {'assuntos': widgets.CheckboxSelectMultiple,
'user': forms.HiddenInput(), 'user': forms.HiddenInput(),
'ip': forms.HiddenInput()} 'ip': forms.HiddenInput(),
'ultima_edicao': forms.HiddenInput()}
def clean(self): def clean(self):

20
sapl/norma/migrations/0026_normajuridica_ultima_edicao.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-08-02 19:05
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('norma', '0025_auto_20190704_1403'),
]
operations = [
migrations.AddField(
model_name='normajuridica',
name='ultima_edicao',
field=models.DateTimeField(blank=True, null=True, verbose_name='Data e Hora da Edição'),
),
]

4
sapl/norma/models.py

@ -156,6 +156,10 @@ class NormaJuridica(models.Model):
blank=True, blank=True,
default='' default=''
) )
ultima_edicao = models.DateTimeField(
verbose_name=_('Data e Hora da Edição'),
blank=True, null=True
)
class Meta: class Meta:
verbose_name = _('Norma Jurídica') verbose_name = _('Norma Jurídica')

12
sapl/norma/views.py

@ -1,3 +1,4 @@
from datetime import datetime
import logging import logging
import re import re
@ -222,6 +223,9 @@ class NormaCrud(Crud):
initial['user'] = self.request.user initial['user'] = self.request.user
initial['ip'] = get_client_ip(self.request) initial['ip'] = get_client_ip(self.request)
tz = timezone.get_current_timezone()
initial['ultima_edicao'] = tz.localize(datetime.now())
username = self.request.user.username username = self.request.user.username
try: try:
self.logger.debug( self.logger.debug(
@ -285,6 +289,10 @@ class NormaCrud(Crud):
if dict_objeto_antigo[atributo] != dict_objeto_novo[atributo]: if dict_objeto_antigo[atributo] != dict_objeto_novo[atributo]:
self.object.user = self.request.user self.object.user = self.request.user
self.object.ip = get_client_ip(self.request) self.object.ip = get_client_ip(self.request)
tz = timezone.get_current_timezone()
self.object.ultima_edicao = tz.localize(datetime.now())
self.object.save() self.object.save()
break break
@ -293,6 +301,10 @@ class NormaCrud(Crud):
if assuntos_antigos != assuntos_novos: if assuntos_antigos != assuntos_novos:
self.object.user = self.request.user self.object.user = self.request.user
self.object.ip = get_client_ip(self.request) self.object.ip = get_client_ip(self.request)
tz = timezone.get_current_timezone()
self.object.ultima_edicao = tz.localize(datetime.now())
self.object.save() self.object.save()
return super().form_valid(form) return super().form_valid(form)

2
sapl/templates/materia/materialegislativa_detail.html

@ -1,5 +1,6 @@
{% extends "crud/detail.html" %} {% extends "crud/detail.html" %}
{% load i18n %} {% load i18n %}
{% block sub_actions %} {% block sub_actions %}
{{ block.super }} {{ block.super }}
{% if object.em_tramitacao and mail_service_configured %} {% if object.em_tramitacao and mail_service_configured %}
@ -8,6 +9,7 @@
</div> </div>
{% endif %} {% endif %}
{% endblock sub_actions %} {% endblock sub_actions %}
{% block detail_content %} {% block detail_content %}
{{ block.super }} {{ block.super }}
{% if object.registrovotacao_set.exists %} {% if object.registrovotacao_set.exists %}

1
sapl/templates/materia/tramitacao_detail.html

@ -1,5 +1,6 @@
{% extends "crud/detail_detail.html" %} {% extends "crud/detail_detail.html" %}
{% load i18n %} {% load i18n %}
{% block detail_content %} {% block detail_content %}
{{ block.super }} {{ block.super }}
{% if user.is_superuser %} {% if user.is_superuser %}

41
sapl/templates/norma/normajuridica_detail.html

@ -9,8 +9,6 @@
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block detail_content %} {% block detail_content %}
{% for fieldset in view.layout_display %} {% for fieldset in view.layout_display %}
<h2 class="legend">{{ fieldset.legend }}</h2> <h2 class="legend">{{ fieldset.legend }}</h2>
@ -22,12 +20,15 @@
<p class="control-label">{{ column.verbose_name }}</p> <p class="control-label">{{ column.verbose_name }}</p>
<div class="controls"> <div class="controls">
{% comment %}TODO Transformar os links em URLs diretamente no CRUD{% endcomment %} {% comment %}TODO Transformar os links em URLs diretamente no CRUD{% endcomment %}
{% if column.text|url %} {% if column.text|url %}
<div class="form-control-static"><a href="{{ column.text|safe }}"> {{ column.text|safe|default:"" }} </a></div> <div class="form-control-static">
<a href="{{ column.text|safe }}"> {{ column.text|safe|default:"" }} </a>
</div>
{% elif column.verbose_name == 'Matéria' %} {% elif column.verbose_name == 'Matéria' %}
{% if object.materia.id %} {% if object.materia.id %}
<div class="form-control-static"><a href="{% url 'sapl.materia:materialegislativa_detail' object.materia.id %}"> {{ column.text|safe|default:"" }} </a></div> <div class="form-control-static">
<a href="{% url 'sapl.materia:materialegislativa_detail' object.materia.id %}"> {{ column.text|safe|default:"" }} </a>
</div>
{% else %} {% else %}
<div class="form-control-static">{{ column.text|safe|default:"" }}</div> <div class="form-control-static">{{ column.text|safe|default:"" }}</div>
{% endif %} {% endif %}
@ -41,12 +42,10 @@
</div> </div>
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
<hr /> <hr />
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-sm-12">
<p class="control-label">Normas Relacionadas</p> <p class="control-label">Normas Relacionadas</p>
{% if object.get_normas_relacionadas.0|length > 0 %} {% if object.get_normas_relacionadas.0|length > 0 %}
{% for p in object.get_normas_relacionadas.0 %} {% for p in object.get_normas_relacionadas.0 %}
<div class="form-control-static"> <div class="form-control-static">
@ -57,7 +56,6 @@
</div> </div>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if object.get_normas_relacionadas.1|length > 0 %} {% if object.get_normas_relacionadas.1|length > 0 %}
{% for r in object.get_normas_relacionadas.1 %} {% for r in object.get_normas_relacionadas.1 %}
<div class="form-control-static"> <div class="form-control-static">
@ -68,7 +66,6 @@
</div> </div>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</div> </div>
</div> </div>
<hr /> <hr />
@ -86,13 +83,11 @@
{% endif %} {% endif %}
</div> </div>
</div> </div>
<br><br> <br><br>
{% if user.is_superuser %} {% if user.is_superuser %}
<div class="row"> <div class="row">
{% if object.user %} {% if object.user %}
<div class="col-sm-6"> <div class="col-sm-4">
<div id="div_id_user" class="form-group"> <div id="div_id_user" class="form-group">
<p class="control-label">Usuário</p> <p class="control-label">Usuário</p>
<div class="controls"> <div class="controls">
@ -106,12 +101,28 @@
</div> </div>
{% endif %} {% endif %}
{% if object.ip %} {% if object.ip %}
<div class="col-sm-6"> <div class="col-sm-4">
<div id="div_ip_user" class="form-group"> <div id="div_ip_user" class="form-group">
<p class="control-label">IP</p> <p class="control-label">IP</p>
<div class="controls"> <div class="controls">
<div class="form-control-static"> <div class="form-control-static">
<div class="dont-break-out">{{object.ip}}</div> <div class="dont-break-out">
{{ object.ip }}
</div>
</div>
</div>
</div>
</div>
{% endif %}
{% if object.ultima_edicao %}
<div class="col-sm-4">
<div id="div_ud_user" class="form-group">
<p class="control-label">Data e Hora da Edição</p>
<div class="controls">
<div class="form-control-static">
<div class="dont-break-out">
{{ object.ultima_edicao }}
</div>
</div> </div>
</div> </div>
</div> </div>
@ -131,7 +142,6 @@
{% endif %} {% endif %}
{% endblock detail_content %} {% endblock detail_content %}
{% block webpack_loader_js %} {% block webpack_loader_js %}
{{ block.super }} {{ block.super }}
{% if object.texto_articulado.exists and object.texto_articulado.first.has_view_permission %} {% if object.texto_articulado.exists and object.texto_articulado.first.has_view_permission %}
@ -139,7 +149,6 @@
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block extra_js %} {% block extra_js %}
{% if object.texto_articulado.exists and object.texto_articulado.first.has_view_permission %} {% if object.texto_articulado.exists and object.texto_articulado.first.has_view_permission %}
<script language="Javascript"> <script language="Javascript">

Loading…
Cancel
Save