diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index c7462ca77..ae2a02e88 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -2,6 +2,7 @@ from datetime import datetime from re import sub from django.contrib import messages +from django.contrib.auth.decorators import user_passes_test from django.contrib.auth.mixins import PermissionRequiredMixin from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.core.urlresolvers import reverse @@ -43,6 +44,10 @@ OrdemDiaCrud = Crud.build(OrdemDia, '') RegistroVotacaoCrud = Crud.build(RegistroVotacao, '') +def check_permission(user): + return user.has_perms(permissoes_sessao()) + + def reordernar_materias_expediente(request, pk): expedientes = ExpedienteMateria.objects.filter( sessao_plenaria_id=pk) @@ -449,15 +454,14 @@ class PresencaMixin: yield (parlamentar, False) -class PresencaView(PermissionRequiredMixin, - FormMixin, +class PresencaView(FormMixin, PresencaMixin, SessaoCrud.CrudDetailView): template_name = 'sessao/presenca.html' form_class = PresencaForm model = SessaoPlenaria - permission_required = permissoes_sessao() + @user_passes_test(check_permission) def post(self, request, *args, **kwargs): self.object = self.get_object() form = self.get_form() diff --git a/sapl/templates/sessao/presenca.html b/sapl/templates/sessao/presenca.html index 3efb72734..0bdc7f551 100644 --- a/sapl/templates/sessao/presenca.html +++ b/sapl/templates/sessao/presenca.html @@ -1,7 +1,10 @@ {% extends "crud/detail.html" %} {% load i18n %} +{% load common_tags %} {% block detail_content %} + +{% if perms|get_add_perm:view %}
+ +{% else %} +