Browse Source

Melhorando cadastro de complemento

pull/3077/head
ulyssesBML 6 years ago
parent
commit
a40aa9bebd
  1. 16
      sapl/protocoloadm/forms.py
  2. 9
      sapl/protocoloadm/views.py
  3. 2
      sapl/templates/protocoloadm/documentoadministrativo_filter.html

16
sapl/protocoloadm/forms.py

@ -1,3 +1,4 @@
import re
import django_filters
import logging
@ -201,9 +202,9 @@ class DocumentoAdministrativoFilterSet(django_filters.FilterSet):
('o', 4), ])
row2 = to_row(
[('numero', 4),
('complemento',4),
('ano', 4)])
[('numero', 5),
('complemento',2),
('ano', 5)])
row3 = to_row(
[('protocolo__numero', 4),
@ -1121,11 +1122,18 @@ class DocumentoAdministrativoForm(FileFieldCheckMixin, ModelForm):
numero_protocolo = self.data['numero_protocolo']
ano_protocolo = self.data['ano_protocolo']
complemento = self.data['complemento']
complemento = re.sub('\s+', '', self.data['complemento']).upper()
numero_documento = int(self.cleaned_data['numero'])
tipo_documento = int(self.data['tipo'])
ano_documento = int(self.data['ano'])
equal_docs = DocumentoAdministrativo.objects.filter(numero=numero_documento,
ano=ano_documento,
complemento=complemento)
if equal_docs.exists() and equal_docs.first().pk != self.instance.pk:
raise ValidationError("Um documento administrativo com esse numero, complemento e ano já existe.")
# não permite atualizar para numero/ano/tipo existente
if self.instance.pk:
mudanca_doc = numero_documento != self.instance.numero \

9
sapl/protocoloadm/views.py

@ -1,5 +1,6 @@
from datetime import datetime
import logging
import re
from random import choice
from string import ascii_letters, digits
@ -365,6 +366,10 @@ class DocumentoAdministrativoCrud(Crud):
def cancel_url(self):
return self.search_url
def form_valid(self, form):
form.instance.complemento = re.sub('\s+', '', form.instance.complemento).upper()
return super().form_valid(form)
class UpdateView(Crud.UpdateView):
form_class = DocumentoAdministrativoForm
layout_key = None
@ -376,7 +381,7 @@ class DocumentoAdministrativoCrud(Crud):
self.object = form.save()
dict_objeto_novo = self.object.__dict__
atributos = [
'tipo_id', 'ano', 'numero', 'data', 'protocolo_id', 'assunto',
'interessado', 'tramitacao', 'restrito', 'texto_integral','numero_externo',
@ -393,6 +398,8 @@ class DocumentoAdministrativoCrud(Crud):
self.object.save()
break
form.instance.complemento = re.sub('\s+', '', form.instance.complemento).upper()
return super().form_valid(form)

2
sapl/templates/protocoloadm/documentoadministrativo_filter.html

@ -37,7 +37,7 @@
{% if request.user.is_anonymous and not d.restrito or not request.user.is_anonymous%}
<tr>
<td>
<strong><a href="{% url 'sapl.protocoloadm:documentoadministrativo_detail' d.id %}">{{d.tipo.sigla}} {{d.numero}}/{{d.ano}} - {{d.tipo}}</strong></a></br>
<strong><a href="{% url 'sapl.protocoloadm:documentoadministrativo_detail' d.id %}">{{d.tipo.sigla}} {{d.numero}}{%if d.complemento %}-{{d.complemento}}{% endif %}/{{d.ano}} - {{d.tipo}}</strong></a></br>
<strong>Interessado:</strong>&nbsp;{{ d.interessado|default_if_none:"Não informado"}}
</br>
<strong>Assunto:</strong>&nbsp;{{ d.assunto|safe }}

Loading…
Cancel
Save