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): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
u = self.request.user
is_autor = False is_autor = False
if self.request.user.is_authenticated: if u.is_authenticated:
materia = self.object.materia materia = self.object.materia
for autoria in materia.autoria_set.all(): for autoria in materia.autoria_set.all():
if autoria.autor.operadores.filter( if autoria.autor.operadores.filter(
id=self.request.user.id).exists(): id=u.id).exists():
is_autor = True is_autor = True
break break
context['is_autor'] = is_autor 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 return context
class ListView(MasterDetailCrud.ListView): 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"> <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" %} <i class="fa fa-check-circle"></i> {% trans "Ver PDF Assinado" %}
</a> </a>
{% elif is_autor %} {% elif pode_assinar %}
<button type="button" class="btn btn-warning" data-toggle="modal" data-target="#assinaturaModal"> <button type="button" class="btn btn-warning" data-toggle="modal" data-target="#assinaturaModal">
<i class="fa fa-certificate"></i> {% trans "Assinar PDF Digitalmente" %} <i class="fa fa-certificate"></i> {% trans "Assinar PDF Digitalmente" %}
</button> </button>
@ -76,7 +76,7 @@
{% block extra_js %} {% block extra_js %}
{{ block.super }} {{ 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" %} {% include "materia/assinatura_modal.html" %}
<script> <script>
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {

Loading…
Cancel
Save