Browse Source

Merge 927b420b54 into b215867802

pull/3065/merge
João Rodrigues 5 years ago
committed by GitHub
parent
commit
f066fc07f4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 46
      sapl/materia/forms.py
  2. 13
      sapl/protocoloadm/forms.py
  3. 5
      sapl/protocoloadm/views.py
  4. 48
      sapl/templates/protocoloadm/MateriaTemplate.html
  5. 2
      sapl/templates/protocoloadm/protocolo_mostrar.html

46
sapl/materia/forms.py

@ -206,39 +206,39 @@ class MateriaLegislativaForm(FileFieldCheckMixin, ModelForm):
data_apresentacao = cleaned_data['data_apresentacao']
ano = cleaned_data['ano']
protocolo = cleaned_data['numero_protocolo']
protocolo_antigo = self.instance.numero_protocolo
protocolo_novo_numero = cleaned_data['numero_protocolo']
protocolo_antigo_numero = self.instance.numero_protocolo
if protocolo:
if not Protocolo.objects.filter(numero=protocolo, ano=ano).exists():
self.logger.error("Protocolo %s/%s não"
" existe" % (protocolo, ano))
raise ValidationError(_('Protocolo %s/%s não'
' existe' % (protocolo, ano)))
if protocolo_novo_numero:
if not Protocolo.objects.filter(numero=protocolo_novo_numero, ano=ano).exists():
self.logger.error("O Protocolo %s/%s não"
" existe!" % (protocolo_novo_numero, ano))
raise ValidationError(_('O Protocolo %s/%s não'
' existe!' % (protocolo_novo_numero, ano)))
if protocolo_antigo != protocolo:
if protocolo_antigo_numero != protocolo_novo_numero:
exist_materia = MateriaLegislativa.objects.filter(
numero_protocolo=protocolo,
numero_protocolo=protocolo_novo_numero,
ano=ano).exists()
protocolo_novo = Protocolo.objects.get(numero=protocolo_novo_numero, ano=ano)
exist_doc = DocumentoAdministrativo.objects.filter(
protocolo_id=protocolo,
protocolo_id=protocolo_novo.id,
ano=ano).exists()
if exist_materia or exist_doc:
self.logger.error("Protocolo %s/%s ja possui"
" documento vinculado"
% (protocolo, ano))
raise ValidationError(_('Protocolo %s/%s ja possui'
' documento vinculado'
% (protocolo, ano)))
p = Protocolo.objects.get(numero=protocolo, ano=ano)
if p.tipo_materia != cleaned_data['tipo']:
self.logger.error("Tipo do Protocolo ({}) deve ser o mesmo do Tipo Matéria ({})."
.format(cleaned_data['tipo'], p.tipo_materia))
self.logger.error("O Protocolo %s/%s já possui"
" um documento vinculado."
% (protocolo_novo_numero, ano))
raise ValidationError(_('O Protocolo %s/%s já possui'
' um documento vinculado.'
% (protocolo_novo_numero, ano)))
if protocolo_novo.tipo_materia != cleaned_data['tipo']:
self.logger.error("O Tipo de Matéria do Protocolo ({}) deve ser o mesmo Tipo da Matéria ({})."
.format(cleaned_data['tipo'], protocolo_novo.tipo_materia))
raise ValidationError(
_('Tipo do Protocolo deve ser o mesmo do Tipo Matéria'))
_('O Tipo de Matéria do Protocolo deve ser o mesmo Tipo da Matéria.'))
ano_origem_externa = cleaned_data['ano_origem_externa']
data_origem_externa = cleaned_data['data_origem_externa']

13
sapl/protocoloadm/forms.py

@ -559,11 +559,24 @@ class ProtocoloMateriaForm(ModelForm):
"Não foram informados o número ou ano da matéria a ser vinculada")
raise ValidationError(
'Favor informar o número e ano da matéria a ser vinculada')
self.logger.debug("Tentando obter MateriaLegislativa com ano={}, numero={} e data={}."
.format(data['ano_materia'], data['numero_materia'], data['tipo_materia']))
self.materia = MateriaLegislativa.objects.get(ano=data['ano_materia'],
numero=data['numero_materia'],
tipo=data['tipo_materia'])
if timezone.localdate(timezone.now()).year != self.materia.ano:
self.logger.error(
"O ano da Matéria Legislativa a ser vinculada ao novo Protocolo de Matéria diverge do " \
"ano atual (ano que será cadastrado no novo Protocolo de Matéria)."
)
raise ValidationError(
_("A Matéria Legislativa e o seu Protocolo devem possuir o mesmo ano. O ano da Matéria " \
"Legislativa a ser vinculada ao novo Protocolo de Matéria diverge do ano atual " \
"(ano que será cadastrado no novo Protocolo de Matéria).")
)
if self.materia.numero_protocolo:
self.logger.error("MateriaLegislativa informada já possui o protocolo {}/{} vinculado."
.format(self.materia.numero_protocolo, self.materia.ano))

5
sapl/protocoloadm/views.py

@ -955,6 +955,11 @@ class ProtocoloMateriaTemplateView(PermissionRequiredMixin, TemplateView):
**kwargs)
protocolo = Protocolo.objects.get(pk=self.kwargs['pk'])
context.update({'protocolo': protocolo})
context['protocolo_materia'] = MateriaLegislativa.objects.filter(
numero_protocolo=protocolo.numero, ano=protocolo.ano
).exists()
return context

48
sapl/templates/protocoloadm/MateriaTemplate.html

@ -2,28 +2,36 @@
{% load i18n common_tags%}
{% block base_content %}
<div class="alert alert-success alert-dismissible " role="alert">
Matéria protocolada com sucesso!
</div>
<div align="center">
<div class="row mb-3" style="width:50%;">
<div class="col-md-6">
<span onclick="window.open('{% url 'sapl.relatorios:relatorio_etiqueta_protocolo' protocolo.numero protocolo.ano %}','Comprovante','width=400, height=200')"class="btn btn-secondary">Imprimir Etiqueta</span>
</div>
<div class="col-md-6">
<span target="popup" class="btn btn-secondary" onclick="window.open('{% url 'sapl.protocoloadm:comprovante_protocolo' protocolo.pk %}','Comprovante','width=800, height=700')">Imprimir Comprovante</span>
</div>
<div class="alert alert-success alert-dismissible " role="alert">
Matéria protocolada com sucesso!
</div>
<div align="center">
<div class="row mb-3" style="width:80%;">
<div class="col-md-3">
<span
onclick="window.open('{% url 'sapl.relatorios:relatorio_etiqueta_protocolo' protocolo.numero protocolo.ano %}','Comprovante','width=400, height=200')"
class="btn btn-secondary"
>
Imprimir Etiqueta
</span>
</div>
<div class="col-md-3">
<span
target="popup"
class="btn btn-secondary"
onclick="window.open('{% url 'sapl.protocoloadm:comprovante_protocolo' protocolo.pk %}','Comprovante','width=800, height=700')">
Imprimir Comprovante
</span>
</div>
<div class="row" style="width:50%;">
<div class="col-md-6">
<a href="{% url 'sapl.materia:materia_create_simplificado' protocolo.pk %}" class="btn btn-warning">Criar Matéria</a>
</div>
<div class="col-md-6">
<a href="{% url 'sapl.protocoloadm:protocolo_mostrar' protocolo.pk %}" class="btn btn-primary">Continuar</a>
<div class="col-md-3">
{% if not protocolo_materia %}
<a href="{% url 'sapl.materia:materia_create_simplificado' protocolo.pk %}" class="btn btn-warning">Criar Matéria</a>
{% endif %}
</div>
<div class="col-md-3">
<a href="{% url 'sapl.protocoloadm:protocolo_mostrar' protocolo.pk %}" class="btn btn-primary">Continuar</a>
</div>
</div>
</div>
</div>
{% endblock base_content %}

2
sapl/templates/protocoloadm/protocolo_mostrar.html

@ -18,7 +18,7 @@
{% if protocolo.tipo_processo == 0 %}
<strong>Interessado:</strong> {{ protocolo.interessado|default_if_none:"Não informado" }}</br>
{% elif protocolo.tipo_processo == 1 %}
<strong>Autor:</strong>{{ protocolo.autor.nome|default_if_none:"Não informado" }}</br>
<strong>Autor:</strong> {{ protocolo.autor.nome|default_if_none:"Não informado" }}</br>
{% endif %} <!-- TODO: convert if-else to custom tag -->
<strong>Natureza do Processo: </strong>{% if protocolo.tipo_processo == 0 %} Administrativo {% elif protocolo.tipo_processo == 1 %} Legislativo {% endif %}</br>

Loading…
Cancel
Save