Browse Source

Fixes #2302 (#2303)

pull/2306/head
Edward 6 years ago
committed by GitHub
parent
commit
e877aa6248
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 19
      sapl/materia/views.py

19
sapl/materia/views.py

@ -481,10 +481,13 @@ class ReceberProposicao(PermissionRequiredForAppCrudMixin, FormView):
form = ReceberProposicaoForm(request.POST)
if form.is_valid():
proposicoes = Proposicao.objects.filter(
data_envio__isnull=False, data_recebimento__isnull=True)
try:
# A ultima parte do código deve ser a pk da Proposicao
id = form.cleaned_data["cod_hash"].split("/")[1]
proposicao = Proposicao.objects.get(id=id,
data_envio__isnull=False,
data_recebimento__isnull=True)
for proposicao in proposicoes:
if proposicao.texto_articulado.exists():
ta = proposicao.texto_articulado.first()
# FIXME hash para textos articulados
@ -492,7 +495,7 @@ class ReceberProposicao(PermissionRequiredForAppCrudMixin, FormView):
else:
hasher = gerar_hash_arquivo(
proposicao.texto_original.path,
str(proposicao.pk)) \
str(proposicao.id)) \
if proposicao.texto_original else None
if hasher == form.cleaned_data['cod_hash']:
return HttpResponseRedirect(
@ -500,8 +503,12 @@ class ReceberProposicao(PermissionRequiredForAppCrudMixin, FormView):
kwargs={
'hash': hasher.split('/')[0][1:],
'pk': proposicao.pk}))
messages.error(request, _('Proposição não encontrada!'))
except ObjectDoesNotExist:
messages.error(request, _('Proposição não encontrada!'))
except IndexError:
messages.error(request, _('Código de recibo mal formado!'))
except IOError:
messages.error(request, _('Erro abrindo texto original de proposição'))
return self.form_invalid(form)
def get_success_url(self):

Loading…
Cancel
Save