Browse Source

Fix #1199 Libera iframe para as telas que precisam (#1204)

* Libera iframe para as telas que precisam

* Melhoria na logica de escolha dos templates
pull/1206/head
Eduardo Calil 8 years ago
committed by Edward
parent
commit
9fa71b7145
  1. 12
      sapl/comissoes/views.py
  2. 2
      sapl/materia/forms.py
  3. 3
      sapl/materia/views.py
  4. 49
      sapl/parlamentares/views.py

12
sapl/comissoes/views.py

@ -1,6 +1,7 @@
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.db.models import F from django.db.models import F
from django.views.decorators.clickjacking import xframe_options_exempt
from django.views.generic import ListView from django.views.generic import ListView
from sapl.crud.base import RP_DETAIL, RP_LIST, Crud, CrudAux, MasterDetailCrud from sapl.crud.base import RP_DETAIL, RP_LIST, Crud, CrudAux, MasterDetailCrud
@ -84,6 +85,17 @@ class ComissaoCrud(Crud):
list_field_names = ['nome', 'sigla', 'tipo', 'data_criacao', 'data_extincao', 'ativa'] list_field_names = ['nome', 'sigla', 'tipo', 'data_criacao', 'data_extincao', 'ativa']
ordering = '-ativa', 'sigla' ordering = '-ativa', 'sigla'
class ListView(Crud.ListView):
@xframe_options_exempt
def get(self, request, *args, **kwargs):
return super().get(request, *args, **kwargs)
class DetailView(Crud.DetailView):
@xframe_options_exempt
def get(self, request, *args, **kwargs):
return super().get(request, *args, **kwargs)
class MateriasTramitacaoListView(ListView): class MateriasTramitacaoListView(ListView):
template_name = "comissoes/materias_em_tramitacao.html" template_name = "comissoes/materias_em_tramitacao.html"

2
sapl/materia/forms.py

@ -1438,7 +1438,7 @@ class ConfirmarProposicaoForm(ProposicaoForm):
protocolo.data = date.today() protocolo.data = date.today()
protocolo.hora = datetime.now().time() protocolo.hora = datetime.now().time()
# TODO transformar campo timestamp em auto_now_add # TODO transformar campo timestamp em auto_now_add
protocolo.timestamp = datetime.now() protocolo.timestamp = datetime.now()
protocolo.tipo_protocolo = '1' protocolo.tipo_protocolo = '1'

3
sapl/materia/views.py

@ -7,7 +7,8 @@ from crispy_forms.layout import HTML
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.decorators import permission_required from django.contrib.auth.decorators import permission_required
from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin
from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned from django.core.exceptions import (ObjectDoesNotExist,
MultipleObjectsReturned)
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.http import HttpResponse, JsonResponse from django.http import HttpResponse, JsonResponse
from django.http.response import Http404, HttpResponseRedirect from django.http.response import Http404, HttpResponseRedirect

49
sapl/parlamentares/views.py

@ -7,6 +7,7 @@ from django.http.response import HttpResponseRedirect
from django.templatetags.static import static from django.templatetags.static import static
from django.utils.datastructures import MultiValueDictKeyError from django.utils.datastructures import MultiValueDictKeyError
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.views.decorators.clickjacking import xframe_options_exempt
from django.views.generic import FormView from django.views.generic import FormView
from sapl.comissoes.models import Participacao from sapl.comissoes.models import Participacao
@ -278,6 +279,22 @@ class LegislaturaCrud(CrudAux):
class UpdateView(CrudAux.UpdateView): class UpdateView(CrudAux.UpdateView):
form_class = LegislaturaUpdateForm form_class = LegislaturaUpdateForm
class DetailView(CrudAux.DetailView):
def has_permission(self):
return True
@xframe_options_exempt
def get(self, request, *args, **kwargs):
return super().get(request, *args, **kwargs)
class ListView(CrudAux.ListView):
def has_permission(self):
return True
@xframe_options_exempt
def get(self, request, *args, **kwargs):
return super().get(request, *args, **kwargs)
class FiliacaoCrud(MasterDetailCrud): class FiliacaoCrud(MasterDetailCrud):
model = Filiacao model = Filiacao
@ -311,9 +328,18 @@ class ParlamentarCrud(Crud):
class DetailView(Crud.DetailView): class DetailView(Crud.DetailView):
def get_template_names(self): def get_template_names(self):
return ['crud/detail.html']\ if self.request.user.has_perm(self.permission(RP_CHANGE)):
if self.request.user.has_perm(self.permission(RP_CHANGE))\ if 'iframe' not in self.request.GET:
else ['parlamentares/parlamentar_perfil_publico.html'] if not self.request.session.get('iframe'):
return ['crud/detail.html']
elif self.request.GET['iframe'] == '0':
return ['crud/detail.html']
return ['parlamentares/parlamentar_perfil_publico.html']
@xframe_options_exempt
def get(self, request, *args, **kwargs):
return super().get(request, *args, **kwargs)
class UpdateView(Crud.UpdateView): class UpdateView(Crud.UpdateView):
form_class = ParlamentarForm form_class = ParlamentarForm
@ -338,6 +364,10 @@ class ParlamentarCrud(Crud):
template_name = "parlamentares/parlamentares_list.html" template_name = "parlamentares/parlamentares_list.html"
paginate_by = None paginate_by = None
@xframe_options_exempt
def get(self, request, *args, **kwargs):
return super().get(request, *args, **kwargs)
def take_legislatura_id(self): def take_legislatura_id(self):
try: try:
return int(self.request.GET['pk']) return int(self.request.GET['pk'])
@ -436,10 +466,14 @@ class MesaDiretoraView(FormView):
success_url = reverse_lazy('sapl.parlamentares:mesa_diretora') success_url = reverse_lazy('sapl.parlamentares:mesa_diretora')
def get_template_names(self): def get_template_names(self):
return ['parlamentares/composicaomesa_form.html']\ if self.request.user.has_perm('parlamentares.change_composicaomesa'):
if self.request.user.has_perm( if 'iframe' not in self.request.GET:
'parlamentares.change_composicaomesa')\ if not self.request.session.get('iframe'):
else ['parlamentares/public_composicaomesa_form.html'] return 'parlamentares/composicaomesa_form.html'
elif self.request.GET['iframe'] == '0':
return 'parlamentares/composicaomesa_form.html'
return 'parlamentares/public_composicaomesa_form.html'
# Essa função avisa quando se pode compor uma Mesa Legislativa # Essa função avisa quando se pode compor uma Mesa Legislativa
def validation(self, request): def validation(self, request):
@ -454,6 +488,7 @@ class MesaDiretoraView(FormView):
'legislatura_selecionada': Legislatura.objects.last(), 'legislatura_selecionada': Legislatura.objects.last(),
'cargos_vagos': CargoMesa.objects.all()}) 'cargos_vagos': CargoMesa.objects.all()})
@xframe_options_exempt
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
if (not Legislatura.objects.exists() or if (not Legislatura.objects.exists() or

Loading…
Cancel
Save