From a12b7ba8e3ed86c1070c67d93bce31111c4916f0 Mon Sep 17 00:00:00 2001 From: rangelbruno Date: Sun, 1 Feb 2026 22:52:28 -0300 Subject: [PATCH] =?UTF-8?q?Fix(Mat=C3=A9ria):=20Restringe=20bot=C3=B5es=20?= =?UTF-8?q?OnlyOffice=20e=20Assinatura=20apenas=20para=20autores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Botão "Editar com OnlyOffice" só aparece para autores e se não foi protocolado - Botão "Assinar PDF Digitalmente" só aparece para autores - Adiciona verificação is_autor no contexto do DetailView --- sapl/materia/views.py | 10 ++++++++++ sapl/templates/materia/materialegislativa_detail.html | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/sapl/materia/views.py b/sapl/materia/views.py index 492de6f3d..a854f9689 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -2050,6 +2050,16 @@ class MateriaLegislativaCrud(Crud): context['user'] = self.request.user context['materia'] = MateriaLegislativa.objects.get( pk=self.kwargs['pk']) + + # Verifica se o usuário é operador de algum autor da matéria + is_autor = False + if self.request.user.is_authenticated: + for autoria in self.object.autoria_set.all(): + if autoria.autor.operadores.filter(id=self.request.user.id).exists(): + is_autor = True + break + context['is_autor'] = is_autor + return context class ListView(Crud.ListView, RedirectView): diff --git a/sapl/templates/materia/materialegislativa_detail.html b/sapl/templates/materia/materialegislativa_detail.html index 641147f8d..a7a9b6ec6 100644 --- a/sapl/templates/materia/materialegislativa_detail.html +++ b/sapl/templates/materia/materialegislativa_detail.html @@ -8,7 +8,7 @@ Acompanhar Matéria {% endif %} - {% if perms.materia.change_materialegislativa %} + {% if is_autor and not object.numero_protocolo %}
{% trans "Editar com OnlyOffice" %} @@ -21,7 +21,7 @@ {% trans "Ver PDF Assinado" %} - {% else %} + {% elif is_autor %}