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. 48
      sapl/materia/forms.py
  2. 13
      sapl/protocoloadm/forms.py
  3. 5
      sapl/protocoloadm/views.py
  4. 50
      sapl/templates/protocoloadm/MateriaTemplate.html
  5. 2
      sapl/templates/protocoloadm/protocolo_mostrar.html

48
sapl/materia/forms.py

@ -206,39 +206,39 @@ class MateriaLegislativaForm(FileFieldCheckMixin, ModelForm):
data_apresentacao = cleaned_data['data_apresentacao'] data_apresentacao = cleaned_data['data_apresentacao']
ano = cleaned_data['ano'] ano = cleaned_data['ano']
protocolo = cleaned_data['numero_protocolo'] protocolo_novo_numero = cleaned_data['numero_protocolo']
protocolo_antigo = self.instance.numero_protocolo protocolo_antigo_numero = self.instance.numero_protocolo
if protocolo: if protocolo_novo_numero:
if not Protocolo.objects.filter(numero=protocolo, ano=ano).exists(): if not Protocolo.objects.filter(numero=protocolo_novo_numero, ano=ano).exists():
self.logger.error("Protocolo %s/%s não" self.logger.error("O Protocolo %s/%s não"
" existe" % (protocolo, ano)) " existe!" % (protocolo_novo_numero, ano))
raise ValidationError(_('Protocolo %s/%s não' raise ValidationError(_('O Protocolo %s/%s não'
' existe' % (protocolo, ano))) ' existe!' % (protocolo_novo_numero, ano)))
if protocolo_antigo != protocolo: if protocolo_antigo_numero != protocolo_novo_numero:
exist_materia = MateriaLegislativa.objects.filter( exist_materia = MateriaLegislativa.objects.filter(
numero_protocolo=protocolo, numero_protocolo=protocolo_novo_numero,
ano=ano).exists() ano=ano).exists()
protocolo_novo = Protocolo.objects.get(numero=protocolo_novo_numero, ano=ano)
exist_doc = DocumentoAdministrativo.objects.filter( exist_doc = DocumentoAdministrativo.objects.filter(
protocolo_id=protocolo, protocolo_id=protocolo_novo.id,
ano=ano).exists() ano=ano).exists()
if exist_materia or exist_doc: if exist_materia or exist_doc:
self.logger.error("Protocolo %s/%s ja possui" self.logger.error("O Protocolo %s/%s já possui"
" documento vinculado" " um documento vinculado."
% (protocolo, ano)) % (protocolo_novo_numero, ano))
raise ValidationError(_('Protocolo %s/%s ja possui' raise ValidationError(_('O Protocolo %s/%s já possui'
' documento vinculado' ' um documento vinculado.'
% (protocolo, ano))) % (protocolo_novo_numero, ano)))
p = Protocolo.objects.get(numero=protocolo, ano=ano) if protocolo_novo.tipo_materia != cleaned_data['tipo']:
if p.tipo_materia != cleaned_data['tipo']: self.logger.error("O Tipo de Matéria do Protocolo ({}) deve ser o mesmo Tipo da Matéria ({})."
self.logger.error("Tipo do Protocolo ({}) deve ser o mesmo do Tipo Matéria ({})." .format(cleaned_data['tipo'], protocolo_novo.tipo_materia))
.format(cleaned_data['tipo'], p.tipo_materia))
raise ValidationError( 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'] ano_origem_externa = cleaned_data['ano_origem_externa']
data_origem_externa = cleaned_data['data_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") "Não foram informados o número ou ano da matéria a ser vinculada")
raise ValidationError( raise ValidationError(
'Favor informar o número e ano da matéria a ser vinculada') 'Favor informar o número e ano da matéria a ser vinculada')
self.logger.debug("Tentando obter MateriaLegislativa com ano={}, numero={} e data={}." self.logger.debug("Tentando obter MateriaLegislativa com ano={}, numero={} e data={}."
.format(data['ano_materia'], data['numero_materia'], data['tipo_materia'])) .format(data['ano_materia'], data['numero_materia'], data['tipo_materia']))
self.materia = MateriaLegislativa.objects.get(ano=data['ano_materia'], self.materia = MateriaLegislativa.objects.get(ano=data['ano_materia'],
numero=data['numero_materia'], numero=data['numero_materia'],
tipo=data['tipo_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: if self.materia.numero_protocolo:
self.logger.error("MateriaLegislativa informada já possui o protocolo {}/{} vinculado." self.logger.error("MateriaLegislativa informada já possui o protocolo {}/{} vinculado."
.format(self.materia.numero_protocolo, self.materia.ano)) .format(self.materia.numero_protocolo, self.materia.ano))

5
sapl/protocoloadm/views.py

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

50
sapl/templates/protocoloadm/MateriaTemplate.html

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

2
sapl/templates/protocoloadm/protocolo_mostrar.html

@ -18,7 +18,7 @@
{% if protocolo.tipo_processo == 0 %} {% if protocolo.tipo_processo == 0 %}
<strong>Interessado:</strong> {{ protocolo.interessado|default_if_none:"Não informado" }}</br> <strong>Interessado:</strong> {{ protocolo.interessado|default_if_none:"Não informado" }}</br>
{% elif protocolo.tipo_processo == 1 %} {% 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 --> {% 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> <strong>Natureza do Processo: </strong>{% if protocolo.tipo_processo == 0 %} Administrativo {% elif protocolo.tipo_processo == 1 %} Legislativo {% endif %}</br>

Loading…
Cancel
Save