From 81c25e27e7be0cb8dfe8708f5cdb2adc8115f25e Mon Sep 17 00:00:00 2001 From: rangelbruno Date: Wed, 11 Feb 2026 15:53:11 -0300 Subject: [PATCH] =?UTF-8?q?Fix(Assinatura):=20Bot=C3=A3o=20assinar=20vis?= =?UTF-8?q?=C3=ADvel=20para=20superusu=C3=A1rio=20e=20operador=20de=20mat?= =?UTF-8?q?=C3=A9ria?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- sapl/materia/views.py | 11 +++++++++-- sapl/templates/materia/documentoacessorio_detail.html | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/sapl/materia/views.py b/sapl/materia/views.py index 65c1deb97..3cae28756 100644 --- a/sapl/materia/views.py +++ b/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): diff --git a/sapl/templates/materia/documentoacessorio_detail.html b/sapl/templates/materia/documentoacessorio_detail.html index 12b9f77dc..c6b7fef47 100644 --- a/sapl/templates/materia/documentoacessorio_detail.html +++ b/sapl/templates/materia/documentoacessorio_detail.html @@ -16,7 +16,7 @@ {% trans "Ver PDF Assinado" %} - {% elif is_autor %} + {% elif pode_assinar %} @@ -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" %}