Browse Source

Impl. #2909 - Tramitação de Matéria Legislativa

pull/2919/head
João Rodrigues 6 years ago
parent
commit
2f34f6d97e
  1. 7
      sapl/materia/forms.py
  2. 20
      sapl/materia/migrations/0052_tramitacao_ultima_edicao.py
  3. 4
      sapl/materia/models.py
  4. 10
      sapl/materia/views.py
  5. 23
      sapl/templates/materia/tramitacao_detail.html

7
sapl/materia/forms.py

@ -463,9 +463,12 @@ class TramitacaoForm(ModelForm):
'data_fim_prazo',
'texto',
'user',
'ip']
'ip',
'ultima_edicao']
widgets = {'user': forms.HiddenInput(),
'ip': forms.HiddenInput()}
'ip': forms.HiddenInput(),
'ultima_edicao': forms.HiddenInput()}
def __init__(self, *args, **kwargs):
super(TramitacaoForm, self).__init__(*args, **kwargs)

20
sapl/materia/migrations/0052_tramitacao_ultima_edicao.py

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

4
sapl/materia/models.py

@ -1083,6 +1083,10 @@ class Tramitacao(models.Model):
max_length=30,
blank=True,
default='')
ultima_edicao = models.DateTimeField(
verbose_name=_('Data e Hora da Edição'),
blank=True, null=True
)
class Meta:
verbose_name = _('Tramitação')

10
sapl/materia/views.py

@ -1243,6 +1243,10 @@ class TramitacaoCrud(MasterDetailCrud):
initial['data_tramitacao'] = timezone.now().date()
initial['ip'] = get_client_ip(self.request)
initial['user'] = self.request.user
tz = timezone.get_current_timezone()
initial['ultima_edicao'] = tz.localize(datetime.now())
return initial
def get_context_data(self, **kwargs):
@ -1324,11 +1328,15 @@ class TramitacaoCrud(MasterDetailCrud):
]
# Se não houve qualquer alteração em um dos dados, mantém o usuário
# e ip
# e ip e data e hora de última edição
for atributo in atributos:
if dict_objeto_antigo[atributo] != dict_objeto_novo[atributo]:
self.object.user = user
self.object.ip = get_client_ip(self.request)
tz = timezone.get_current_timezone()
self.object.ultima_edicao = tz.localize(datetime.now())
self.object.save()
break

23
sapl/templates/materia/tramitacao_detail.html

@ -1,18 +1,17 @@
{% extends "crud/detail_detail.html" %}
{% load i18n %}
{% block detail_content %}
{{ block.super }}
{% if user.is_superuser %}
<div class="row">
{% if tramitacao.user %}
<div class="col-sm-6">
<div class="col-sm-4">
<div id="div_id_user" class="form-group">
<p class="control-label">Usuário</p>
<div class="controls">
<div class="form-control-static">
<div class="dont-break-out">
<a href="{% url 'sapl.base:user_edit' tramitacao.user.pk %}">{{tramitacao.user}}</a>
<a href="{% url 'sapl.base:user_edit' tramitacao.user.pk %}">{{ tramitacao.user }}</a>
</div>
</div>
</div>
@ -20,13 +19,27 @@
</div>
{% endif %}
{% if tramitacao.ip %}
<div class="col-sm-6">
<div class="col-sm-4">
<div id="div_ip_user" class="form-group">
<p class="control-label">IP</p>
<div class="controls">
<div class="form-control-static">
<div class="dont-break-out">
{{tramitacao.ip}}
{{ tramitacao.ip }}
</div>
</div>
</div>
</div>
</div>
{% endif %}
{% if tramitacao.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">
{{ tramitacao.ultima_edicao }}
</div>
</div>
</div>

Loading…
Cancel
Save