Browse Source

Fix(Assinatura): Botão assinar visível para superusuário e operador de matéria

Condição is_autor era restritiva demais — superusuários e usuários com
permissão change_documentoacessorio não viam o botão. Adicionada variável
pode_assinar no contexto que inclui is_autor, superuser e permissão.
pull/3858/head
rangelbruno 7 months ago
committed by rangelbruno
parent
commit
81c25e27e7
  1. 11
      sapl/materia/views.py
  2. 4
      sapl/templates/materia/documentoacessorio_detail.html

11
sapl/materia/views.py

@ -1761,15 +1761,22 @@ class DocumentoAcessorioCrud(MasterDetailCrud):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
u = self.request.user
is_autor = False
if self.request.user.is_authenticated:
if u.is_authenticated:
materia = self.object.materia
for autoria in materia.autoria_set.all():
if autoria.autor.operadores.filter(
id=self.request.user.id).exists():
id=u.id).exists():
is_autor = True
break
context['is_autor'] = is_autor
context['pode_assinar'] = is_autor or (
u.is_authenticated and (
u.is_superuser or
u.has_perm('materia.change_documentoacessorio')
)
)
return context
class ListView(MasterDetailCrud.ListView):

4
sapl/templates/materia/documentoacessorio_detail.html

@ -16,7 +16,7 @@
<a class="btn btn-success" href="{% url 'sapl.materia:docacessorio_pdf_assinado' object.pk %}" target="_blank">
<i class="fa fa-check-circle"></i> {% trans "Ver PDF Assinado" %}
</a>
{% elif is_autor %}
{% elif pode_assinar %}
<button type="button" class="btn btn-warning" data-toggle="modal" data-target="#assinaturaModal">
<i class="fa fa-certificate"></i> {% trans "Assinar PDF Digitalmente" %}
</button>
@ -76,7 +76,7 @@
{% block extra_js %}
{{ block.super }}
{% if object.arquivo and not object.pdf_assinado and is_autor %}
{% if object.arquivo and not object.pdf_assinado and pode_assinar %}
{% include "materia/assinatura_modal.html" %}
<script>
document.addEventListener('DOMContentLoaded', function() {

Loading…
Cancel
Save