Browse Source

Restringe informações do detail de parlamentar

pull/505/head
Eduardo Calil 9 years ago
parent
commit
f9addcc964
  1. 12
      sapl/base/templatetags/common_tags.py
  2. 25
      sapl/parlamentares/views.py
  3. 84
      sapl/templates/parlamentares/parlamentar_perfil_publico.html
  4. 1
      sapl/utils.py

12
sapl/base/templatetags/common_tags.py

@ -1,6 +1,8 @@
from compressor.utils import get_class
from django import template
from sapl.parlamentares.models import Filiacao
register = template.Library()
@ -81,3 +83,13 @@ def ver_menu_sistema_perm(value):
return True
else:
return False
@register.filter
def ultima_filiacao(value):
parlamentar = value
ultima_filiacao = Filiacao.objects.filter(
parlamentar=parlamentar).order_by('-data').first()
return ultima_filiacao.partido

25
sapl/parlamentares/views.py

@ -2,6 +2,7 @@ from django.contrib import messages
from django.contrib.auth.mixins import PermissionRequiredMixin
from django.contrib.auth.models import Permission
from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ImproperlyConfigured
from django.core.urlresolvers import reverse_lazy
from django.shortcuts import redirect
from django.utils.datastructures import MultiValueDictKeyError
@ -9,7 +10,8 @@ from django.utils.translation import ugettext_lazy as _
from django.views.generic import FormView
from sapl.crud.base import (Crud, CrudBaseMixin, CrudCreateView,
CrudDeleteView, CrudListView, CrudUpdateView)
CrudDeleteView, CrudDetailView,
CrudListView, CrudUpdateView)
from sapl.crud.masterdetail import MasterDetailCrud
from sapl.utils import permissao_tb_aux, permissoes_parlamentares
@ -191,10 +193,31 @@ class FiliacaoCrud(MasterDetailCrud):
ordering = '-data'
def get_parlamentar_permissions():
lista_permissoes = []
cts = ContentType.objects.filter(app_label='parlamentares')
perms_parlamentares = list(Permission.objects.filter(
content_type__in=cts))
for p in perms_parlamentares:
lista_permissoes.append('parlamentares.' + p.codename)
return set(lista_permissoes)
class ParlamentarCrud(Crud):
model = Parlamentar
help_path = ''
class DetailView(CrudDetailView):
def get_template_names(self):
usuario = self.request.user
lista_permissoes = get_parlamentar_permissions()
if usuario.has_perms(lista_permissoes):
return ['crud/detail.html']
else:
return ['parlamentares/parlamentar_perfil_publico.html']
class UpdateView(PermissionRequiredMixin, CrudUpdateView):
form_class = ParlamentarForm
permission_required = permissoes_parlamentares()

84
sapl/templates/parlamentares/parlamentar_perfil_publico.html

@ -0,0 +1,84 @@
{% extends "base.html" %}
{% load i18n %}
{% load common_tags %}
{% block base_content %}
<div class="clearfix">
{% block actions %}
{% endblock actions %}
</div>
{% block detail_content %}
<p class="legend"></p>
<div class="row-fluid">
<div class="col-sm-3">
<div id="div_fotografia" class="form-group">
<div class="controls">
<img class="img-responsive" src="{{ object.fotografia.url }}">
</div>
</div>
</div>
<div class="col-sm-8">
<div id="div_nome" class="form-group">
<p><b>Nome Completo: </b> &nbsp {{object.nome_completo}}</p>
</div>
</div>
<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>Partido: </b> &nbsp {{object|ultima_filiacao|default_if_none:"Não informado"}}</p>
</div>
</div>
<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>Data de Nascimento: </b> &nbsp {{object.data_nascimento|default_if_none:"Não informado"}}</p>
</div>
</div>
<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>Telefone: </b> &nbsp {{object.telefone|default_if_none:"Não informado"}}</p>
</div>
</div>
<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>E-mail: </b> &nbsp {{object.email|default_if_none:"Não informado"}}</p>
</div>
</div>
<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>Número do Gabinete: </b> &nbsp {{object.numero_gab_parlamentar|default_if_none:"Não informado"}}</p>
</div>
</div>
<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>Fax: </b> &nbsp {{object.numero_gab_parlamentar|default_if_none:"Não informado"}}</p>
</div>
</div>
</div>
<!--
<h2 class="legend">{{ fieldset.legend }}</h2>
<div class="row-fluid">
<div class="col-md-3-offset-3">
<img src="{{ object.fotografia.path }}">
</div>
<div class="col-md-12">
<p>SADASDADS</p>
</div>
<div> -->
{% endblock detail_content %}
{% endblock base_content %}

1
sapl/utils.py

@ -203,7 +203,6 @@ def fabrica_validador_de_tipos_de_arquivo(lista, nome):
def restringe_tipos_de_arquivo(value):
mime = magic.from_buffer(value.read(), mime=True)
mime = mime.decode()
if mime not in lista:
raise ValidationError(_('Tipo de arquivo não suportado'))
# o nome é importante para as migrations

Loading…
Cancel
Save