Browse Source

Fix #394

pull/663/head
Eduardo Calil 8 years ago
parent
commit
19706ecbae
  1. 14
      sapl/base/templatetags/common_tags.py
  2. 60
      sapl/protocoloadm/views.py
  3. 5
      sapl/templates/base.html
  4. 10
      sapl/templates/protocoloadm/documentoadministrativo_detail.html
  5. 10
      sapl/templates/protocoloadm/tramitacaoadministrativo_detail.html

14
sapl/base/templatetags/common_tags.py

@ -1,7 +1,9 @@
from compressor.utils import get_class from compressor.utils import get_class
from django import template from django import template
from sapl.base.models import AppConfig
from sapl.parlamentares.models import Filiacao from sapl.parlamentares.models import Filiacao
from sapl.utils import permissoes_adm
register = template.Library() register = template.Library()
@ -85,6 +87,18 @@ def get_delete_perm(value, arg):
return perm.__contains__(nome_app + can_delete) return perm.__contains__(nome_app + can_delete)
@register.filter
def get_doc_adm_template_perms(user):
app_config = AppConfig.objects.last()
if app_config.documentos_administrativos == 'O':
return True
elif user.has_perms(permissoes_adm()):
return True
else:
return False
@register.filter @register.filter
def ver_menu_sistema_perm(value): def ver_menu_sistema_perm(value):
u = value u = value

60
sapl/protocoloadm/views.py

@ -17,7 +17,8 @@ from django_filters.views import FilterView
import sapl.crud.base import sapl.crud.base
from sapl.base.models import AppConfig from sapl.base.models import AppConfig
from sapl.crud.base import (Crud, CrudBaseMixin, CrudCreateView, from sapl.crud.base import (Crud, CrudBaseMixin, CrudCreateView,
CrudDeleteView, CrudListView, CrudUpdateView, CrudDetailView, CrudDeleteView,
CrudListView, CrudUpdateView,
make_pagination) make_pagination)
from sapl.crud.masterdetail import MasterDetailCrud from sapl.crud.masterdetail import MasterDetailCrud
from sapl.materia.models import TipoMateriaLegislativa from sapl.materia.models import TipoMateriaLegislativa
@ -62,6 +63,30 @@ class DocumentoAdministrativoCrud(Crud):
class DeleteView(PermissionRequiredMixin, CrudDeleteView): class DeleteView(PermissionRequiredMixin, CrudDeleteView):
permission_required = permissoes_adm() permission_required = permissoes_adm()
class ListView(PermissionRequiredMixin, CrudListView):
permission_required = permissoes_adm()
def has_permission(self):
app_config = AppConfig.objects.last()
if app_config.documentos_administrativos == 'O':
return True
else:
perms = self.get_permission_required()
return self.request.user.has_perms(perms)
class DetailView(PermissionRequiredMixin, CrudDetailView):
permission_required = permissoes_adm()
def has_permission(self):
app_config = AppConfig.objects.last()
if app_config.documentos_administrativos == 'O':
return True
else:
perms = self.get_permission_required()
return self.request.user.has_perms(perms)
class StatusTramitacaoAdministrativoCrud(Crud): class StatusTramitacaoAdministrativoCrud(Crud):
model = StatusTramitacaoAdministrativo model = StatusTramitacaoAdministrativo
@ -373,6 +398,15 @@ class PesquisarDocumentoAdministrativoView(PermissionRequiredMixin,
paginate_by = 10 paginate_by = 10
permission_required = permissoes_adm() permission_required = permissoes_adm()
def has_permission(self):
app_config = AppConfig.objects.last()
if app_config.documentos_administrativos == 'O':
return True
else:
perms = self.get_permission_required()
return self.request.user.has_perms(perms)
def get_filterset_kwargs(self, filterset_class): def get_filterset_kwargs(self, filterset_class):
super(PesquisarDocumentoAdministrativoView, super(PesquisarDocumentoAdministrativoView,
self).get_filterset_kwargs(filterset_class) self).get_filterset_kwargs(filterset_class)
@ -574,6 +608,9 @@ class TramitacaoAdmCrud(MasterDetailCrud):
form_class = TramitacaoAdmEditForm form_class = TramitacaoAdmEditForm
permission_required = permissoes_adm() permission_required = permissoes_adm()
class DeleteView(PermissionRequiredMixin, MasterDetailCrud.DeleteView):
permission_required = permissoes_adm()
class ListView(PermissionRequiredMixin, MasterDetailCrud.ListView): class ListView(PermissionRequiredMixin, MasterDetailCrud.ListView):
permission_required = permissoes_adm() permission_required = permissoes_adm()
@ -582,6 +619,27 @@ class TramitacaoAdmCrud(MasterDetailCrud):
kwargs = {self.crud.parent_field: self.kwargs['pk']} kwargs = {self.crud.parent_field: self.kwargs['pk']}
return qs.filter(**kwargs).order_by('-id') return qs.filter(**kwargs).order_by('-id')
def has_permission(self):
app_config = AppConfig.objects.last()
if app_config.documentos_administrativos == 'O':
return True
else:
perms = self.get_permission_required()
return self.request.user.has_perms(perms)
class DetailView(PermissionRequiredMixin, MasterDetailCrud.DetailView):
permission_required = permissoes_adm()
def has_permission(self):
app_config = AppConfig.objects.last()
if app_config.documentos_administrativos == 'O':
return True
else:
perms = self.get_permission_required()
return self.request.user.has_perms(perms)
def get_nome_autor(request): def get_nome_autor(request):
nome_autor = '' nome_autor = ''

5
sapl/templates/base.html

@ -62,16 +62,19 @@
{# <li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.materia:proposicao' %}">Proposições</a></li> #} {# <li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.materia:proposicao' %}">Proposições</a></li> #}
</ul> </ul>
</li> </li>
{% endif %}
{% if user|get_doc_adm_template_perms %}
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Documentos Administrativos <span class="caret"></span></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Documentos Administrativos <span class="caret"></span></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.protocoloadm:pesq_doc_adm' %}">Pesquisar Documento Administrativo</a></li> <li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.protocoloadm:pesq_doc_adm' %}">Pesquisar Documento Administrativo</a></li>
</ul> </ul>
</li> </li>
{% endif %}
<li class="dropdown"> <li class="dropdown">
{% endif %}
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Atividade Legislativa <span class="caret"></span></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Atividade Legislativa <span class="caret"></span></a>

10
sapl/templates/protocoloadm/documentoadministrativo_detail.html

@ -1,9 +1,15 @@
{% extends "crud/detail.html" %} {% extends "crud/detail.html" %}
{% load i18n %} {% load i18n %}
{% block actions %} {% block actions %}
{% load common_tags %}
<div class="actions btn-group pull-right" role="group"> <div class="actions btn-group pull-right" role="group">
<a href="{% url 'sapl.protocoloadm:tramitacaoadministrativo_list' object.pk %}" class="btn btn-default">{% trans 'Tramitações' %}</a> <a href="{% url 'sapl.protocoloadm:tramitacaoadministrativo_list' object.pk %}" class="btn btn-default">{% trans 'Tramitações' %}</a>
<a href="{{ view.update_url }}" class="btn btn-default">{% trans 'Editar' %}</a> {% if perms|get_change_perm:view %}
<a href="{{ view.delete_url }}" class="btn btn-default">{% trans 'Excluir' %}</a> <a href="{{ view.update_url }}" class="btn btn-default">{% trans 'Editar' %}</a>
{% endif %}
{% if perms|get_delete_perm:view %}
<a href="{{ view.delete_url }}" class="btn btn-default">{% trans 'Excluir' %}</a>
{% endif %}
</div> </div>
{% endblock actions %} {% endblock actions %}

10
sapl/templates/protocoloadm/tramitacaoadministrativo_detail.html

@ -1,9 +1,15 @@
{% extends "crud/detail.html" %} {% extends "crud/detail.html" %}
{% load i18n %} {% load i18n %}
{% block actions %} {% block actions %}
{% load common_tags %}
<div class="actions btn-group pull-right" role="group"> <div class="actions btn-group pull-right" role="group">
<a href="{% url 'protocoloadm:documentoadministrativo_detail' root_pk %}" class="btn btn-default">{% trans 'Início' %}</a> <a href="{% url 'protocoloadm:documentoadministrativo_detail' root_pk %}" class="btn btn-default">{% trans 'Início' %}</a>
<a href="{{ view.update_url }}" class="btn btn-default">{% trans 'Editar' %}</a> {% if perms|get_change_perm:view %}
<a href="{{ view.delete_url }}" class="btn btn-default">{% trans 'Excluir' %}</a> <a href="{{ view.update_url }}" class="btn btn-default">{% trans 'Editar' %}</a>
{% endif %}
{% if perms|get_delete_perm:view %}
<a href="{{ view.delete_url }}" class="btn btn-default">{% trans 'Excluir' %}</a>
{% endif %}
</div> </div>
{% endblock actions %} {% endblock actions %}
Loading…
Cancel
Save