Browse Source

Verifica se existe timestamp (#2163)

* [DON'T MERGE - WIP] verifica se existe timestamp

* Desabilita data e hora para novos registros
pull/2170/head
Victor Fabre 7 years ago
committed by Edward
parent
commit
0b3ec56060
  1. 4
      sapl/materia/forms.py
  2. 31
      sapl/protocoloadm/migrations/0005_auto_20180824_1241.py
  3. 10
      sapl/protocoloadm/models.py
  4. 14
      sapl/protocoloadm/views.py
  5. 18
      sapl/relatorios/views.py
  6. 2
      sapl/templates/protocoloadm/comprovante.html
  7. 5
      sapl/templates/protocoloadm/protocolo_filter.html
  8. 6
      sapl/templates/protocoloadm/protocolo_mostrar.html

4
sapl/materia/forms.py

@ -1839,11 +1839,7 @@ class ConfirmarProposicaoForm(ProposicaoForm):
protocolo = Protocolo()
protocolo.numero = (nm['numero__max'] + 1) if nm['numero__max'] else 1
protocolo.ano = timezone.now().year
protocolo.data = timezone.now()
protocolo.hora = timezone.now().time()
# TODO transformar campo timestamp em auto_now_add
protocolo.timestamp = timezone.now()
protocolo.tipo_protocolo = '1'
protocolo.interessado = str(proposicao.autor)

31
sapl/protocoloadm/migrations/0005_auto_20180824_1241.py

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.13 on 2018-08-24 15:41
from __future__ import unicode_literals
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('protocoloadm', '0004_documentoadministrativo_numero_externo'),
]
operations = [
migrations.AlterField(
model_name='protocolo',
name='data',
field=models.DateField(blank=True, null=True),
),
migrations.AlterField(
model_name='protocolo',
name='hora',
field=models.TimeField(blank=True, null=True),
),
migrations.AlterField(
model_name='protocolo',
name='timestamp',
field=models.DateTimeField(default=django.utils.timezone.now),
),
]

10
sapl/protocoloadm/models.py

@ -1,5 +1,6 @@
import reversion
from django.db import models
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
from model_utils import Choices
@ -57,10 +58,11 @@ class Protocolo(models.Model):
verbose_name=_('Ano do Protocolo'))
# TODO: Remover esses dois campos após migração,
# TODO: pois timestamp supre a necessidade
data = models.DateField()
hora = models.TimeField()
# TODO transformar campo timestamp em auto_now_add
timestamp = models.DateTimeField()
data = models.DateField(null=True, blank=True)
hora = models.TimeField(null=True, blank=True)
# Não foi utilizado auto_now_add=True em timestamp porque
# ele usa datetime.now que não é timezone aware.
timestamp = models.DateTimeField(default=timezone.now)
tipo_protocolo = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Tipo de Protocolo'))
tipo_processo = models.PositiveIntegerField()

14
sapl/protocoloadm/views.py

@ -333,9 +333,6 @@ class ProtocoloDocumentoView(PermissionRequiredMixin,
messages.add_message(self.request, messages.ERROR, msg)
return self.render_to_response(self.get_context_data())
protocolo.ano = timezone.now().year
protocolo.data = timezone.now()
protocolo.hora = timezone.now().time()
protocolo.timestamp = timezone.now()
protocolo.assunto_ementa = self.request.POST['assunto']
protocolo.save()
@ -419,10 +416,14 @@ class ComprovanteProtocoloView(PermissionRequiredMixin, TemplateView):
autenticacao = _("** NULO **")
if not protocolo.anulado:
if protocolo.timestamp:
data = protocolo.timestamp.strftime("%Y/%m/%d")
else:
data = protocolo.data.strftime("%Y/%m/%d")
# data is not i18n sensitive 'Y-m-d' is the right format.
autenticacao = str(protocolo.tipo_processo) + \
protocolo.data.strftime("%Y/%m/%d") + \
str(protocolo.numero).zfill(6)
data + str(protocolo.numero).zfill(6)
context.update({"protocolo": protocolo,
"barcode": barcode,
@ -479,9 +480,6 @@ class ProtocoloMateriaView(PermissionRequiredMixin, CreateView):
messages.add_message(self.request, messages.ERROR, msg)
return self.render_to_response(self.get_context_data())
protocolo.ano = timezone.now().year
protocolo.data = timezone.now().date()
protocolo.hora = timezone.now().time()
protocolo.timestamp = timezone.now()
protocolo.tipo_protocolo = 0
protocolo.tipo_processo = '1' # TODO validar o significado

18
sapl/relatorios/views.py

@ -827,9 +827,12 @@ def get_protocolos(prots):
dic['titulo'] = str(protocolo.numero) + '/' + str(protocolo.ano)
ts = timezone.localtime(protocolo.timestamp)
dic['data'] = ts.strftime("%d/%m/%Y") + ' - <b>Horário:</b>' + \
ts.strftime("%H:%m")
if protocolo.timestamp:
dic['data'] = ts.strftime("%d/%m/%Y") + ' - <b>Horário:</b>' + \
ts.strftime("%H:%m")
else:
dic['data'] = protocolo.data.strftime("%d/%m/%Y") + ' - <b>Horário:</b>' \
+ protocolo.hora.strftime("%H:%m")
dic['txt_assunto'] = protocolo.assunto_ementa
@ -941,9 +944,12 @@ def get_etiqueta_protocolos(prots):
dic['titulo'] = str(p.numero) + '/' + str(p.ano)
tz_hora = timezone.localtime(p.timestamp)
dic['data'] = '<b>Data: </b>' + tz_hora.strftime(
"%d/%m/%Y") + ' - <b>Horário: </b>' + tz_hora.strftime("%H:%M")
if p.timestamp:
dic['data'] = '<b>Data: </b>' + tz_hora.strftime(
"%d/%m/%Y") + ' - <b>Horário: </b>' + tz_hora.strftime("%H:%M")
else:
dic['data'] = '<b>Data: </b>' + p.data.strftime(
"%d/%m/%Y") + ' - <b>Horário: </b>' + p.hora.strftime("%H:%M")
dic['txt_assunto'] = p.assunto_ementa
dic['txt_interessado'] = p.interessado

2
sapl/templates/protocoloadm/comprovante.html

@ -59,7 +59,7 @@
</tr>
<tr>
<th>Data / Horário</th>
<td>{{ protocolo.data|date:"d/m/Y" }} - {{ protocolo.timestamp|date:"H:i:s" }}</td>
<td>{{ protocolo.timestamp|date:"d/m/Y" }} - {{ protocolo.timestamp|date:"H:i:s" }}</td>
</tr>
{% if protocolo.tipo_processo == 1 %}
<tr>

5
sapl/templates/protocoloadm/protocolo_filter.html

@ -44,8 +44,11 @@
{% if p.anulado %}<strong><font color="red">&nbsp;&nbsp;** NULO **</font></strong>{% endif %}
</br>
<strong>Assunto:</strong> {{ p.assunto_ementa|default_if_none:"Não informado"}}</br>
{% if p.timestamp%}
<strong>Data Protocolo:</strong> {{ p.timestamp|localtime|date:"d/m/Y"|default_if_none:"Não informado" }} - Horário: {{ p.timestamp|localtime|date:"G:i:s" }}</br>
{% else %}
<strong>Data Protocolo:</strong> {{ p.data|date:"d/m/Y"|default_if_none:"Não informado" }} - Horário: {{ p.hora|date:"G:i:s" }}</br>
{% endif %}
{% if p.tipo_processo == 0 %}
<strong>Interessado:</strong> {{ p.interessado|default_if_none:"Não informado" }}</br>
{% elif p.tipo_processo == 1 %}

6
sapl/templates/protocoloadm/protocolo_mostrar.html

@ -9,7 +9,11 @@
<a href="{% url 'sapl.relatorios:relatorio_etiqueta_protocolo' protocolo.numero protocolo.ano %}"><img src="{% static 'img/etiqueta.png' %}" alt="Etiqueta Individual"></a></br>
<strong>Assunto: </strong> {{ protocolo.assunto_ementa|default:"Não informado" }}</br>
<strong>Data Protocolo: </strong> {{ protocolo.timestamp|localtime|date:"d/m/Y" }} - Horário: {{ protocolo.timestamp|localtime|date:"G:i:s" }}</br>
{% if p.timestamp%}
<strong>Data Protocolo:</strong> {{ p.timestamp|localtime|date:"d/m/Y"|default_if_none:"Não informado" }} - Horário: {{ p.timestamp|localtime|date:"G:i:s" }}</br>
{% else %}
<strong>Data Protocolo:</strong> {{ p.data|date:"d/m/Y"|default_if_none:"Não informado" }} - Horário: {{ p.hora|date:"G:i:s" }}</br>
{% endif %}
{% if protocolo.tipo_processo == 0 %}
<strong>Interessado:</strong> {{ protocolo.interessado|default_if_none:"Não informado" }}</br>

Loading…
Cancel
Save