Browse Source

Adiciona permissão e alterações no template

pull/3136/head
João Rodrigues 6 years ago
parent
commit
d3518609da
  1. 5
      sapl/sdr/models.py
  2. 14
      sapl/sdr/views.py
  3. 94
      sapl/templates/sdr/deliberacaoremota.html

5
sapl/sdr/models.py

@ -23,17 +23,12 @@ class DeliberacaoRemota(models.Model):
verbose_name=_('Descrição')) verbose_name=_('Descrição'))
inicio = models.DateTimeField(blank=True, null=True, inicio = models.DateTimeField(blank=True, null=True,
verbose_name=_('Data e Hora de Início')) verbose_name=_('Data e Hora de Início'))
#TODO: obrigatorio?
sessao_plenaria = models.ForeignKey(SessaoPlenaria, sessao_plenaria = models.ForeignKey(SessaoPlenaria,
null=True, blank=True, null=True, blank=True,
verbose_name=_('Sessão Plenária')) verbose_name=_('Sessão Plenária'))
#TODO: preencher quando usuário selecionar a opção 'finalizada'
termino = models.DateTimeField(blank=True, null=True, termino = models.DateTimeField(blank=True, null=True,
verbose_name=_('Data e Hora de Término')) verbose_name=_('Data e Hora de Término'))
finalizada = models.BooleanField(default=False, verbose_name=_('Finalizada?')) finalizada = models.BooleanField(default=False, verbose_name=_('Finalizada?'))
#TODO: obrigatório com preenchimento automatico
created_by = models.ForeignKey(get_settings_auth_user_model(), created_by = models.ForeignKey(get_settings_auth_user_model(),
blank=True, null=True, blank=True, null=True,
verbose_name=_('Criado por')) verbose_name=_('Criado por'))

14
sapl/sdr/views.py

@ -4,6 +4,7 @@ from django.contrib.auth.mixins import PermissionRequiredMixin
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist
from django.core.urlresolvers import reverse, reverse_lazy from django.core.urlresolvers import reverse, reverse_lazy
from django.contrib.auth.decorators import user_passes_test
from django.http import JsonResponse from django.http import JsonResponse
from django.views.generic import TemplateView from django.views.generic import TemplateView
from django.utils import timezone from django.utils import timezone
@ -60,7 +61,10 @@ class DeliberacaoRemotaCrud(Crud):
return context return context
#@user_passes_test(check_permission) def check_permission(user):
return False if user.is_anonymous else True
@user_passes_test(check_permission)
def get_dados_deliberacao_remota(request, pk): def get_dados_deliberacao_remota(request, pk):
sessao = SessaoPlenaria.objects.get(id=pk) sessao = SessaoPlenaria.objects.get(id=pk)
@ -168,19 +172,19 @@ def get_dados_deliberacao_remota(request, pk):
class ChatView(TemplateView): class ChatView(TemplateView):
# class ChatView(PermissionRequiredMixin, TemplateView):
template_name = "sdr/deliberacaoremota.html" template_name = "sdr/deliberacaoremota.html"
# permission_required = ('sessao.view_expedientemateria')
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
user = self.request.user
try: try:
context['object'] = DeliberacaoRemota.objects.get(id=kwargs['pk']) context['object'] = DeliberacaoRemota.objects.get(id=kwargs['pk'])
except ObjectDoesNotExist: except ObjectDoesNotExist:
pass #TODO: return error self.logger.error('user=' + user.username + '. Erro ao obter DeliberacaoRemota com pk={}.'.format(kwargs['pk']))
return context
user = self.request.user
content_type = ContentType.objects.get_for_model(Parlamentar) content_type = ContentType.objects.get_for_model(Parlamentar)
try: try:
autor = user.autor autor = user.autor

94
sapl/templates/sdr/deliberacaoremota.html

@ -8,50 +8,58 @@
{% block base_content %} {% block base_content %}
{{ block.super }} {{ block.super }}
<div id="content"> {% if object %}
<h4><b>Título:</b> {{ object.titulo }}<br/></h4> <div id="content">
<h4><b>Descrição:</b> {% if object.descricao %}{{ object.descricao }}{% else %}Sem descrição.{% endif %}<br/></h4> <h4><b>Título:</b> {{ object.titulo }}<br/></h4>
<h5><b>ID:</b> {{ object.chat_id }}</h5><br/> <h4><b>Descrição:</b> {% if object.descricao %}{{ object.descricao }}{% else %}Sem descrição.{% endif %}<br/></h4>
{% if is_parlamentar %} <h5><b>ID:</b> {{ object.chat_id }}</h5><br/>
<h4><b>Parlamentar:</b> {{ parlamentar.nome_parlamentar }}</h4><br/> {% if is_parlamentar %}
{% else %} <h4><b>Parlamentar:</b> {{ parlamentar.nome_parlamentar }}</h4><br/>
<h4><b>Usuário:</b> {{ nome_usuario }}</h4><br/> {% else %}
{% endif %} <h4><b>Usuário:</b> {{ nome_usuario }}</h4><br/>
</div> {% endif %}
<div class="container"> </div>
<div id="meet" class="col-md"></div> <div class="container">
<div id="painel" class="col-md"> {% if not object.finalizada %}
{% if object.sessao_plenaria %} <div id="meet" class="col-md"></div>
<div class="row"><div id="dados_basicos" class="sm-12" style="margin-right:60px"></div></div> {% else %}
<div class="row"><div id="titulo_expediente" class="sm-12" style="margin-right:60px"></div></div> <font size="3"><p align="center"><b>Atenção! Deliberação Remota finalizada.</b></p></font>
<div class="row"> {% endif %}
<div id="presenca_sessao" class="sm-6" style="margin-top: 6px; margin-right:60px"></div> <div id="painel" class="col-md">
<div id="oradores_expediente" class="sm-6" style="margin-top: 6px; margin-right:60px"></div> {% if object.sessao_plenaria %}
</div> <div class="row"><div id="dados_basicos" class="sm-12" style="margin-right:60px"></div></div>
<div class="row"> <div class="row"><div id="titulo_expediente" class="sm-12" style="margin-right:60px"></div></div>
<div class="sm-12"> <div class="row">
<table class="table table-striped table-hover"> <div id="presenca_sessao" class="sm-6" style="margin-top: 6px; margin-right:60px"></div>
<thead id="thead_tabela_expediente"></thead> <div id="oradores_expediente" class="sm-6" style="margin-top: 6px; margin-right:60px"></div>
<tbody id="materias_expediente"></tbody>
</table>
</div> </div>
</div> <div class="row">
<div class="row"><div id="titulo_ordemdia" class="sm-12" style="margin-right:60px"></div></div> <div class="sm-12">
<div class="row"> <table class="table table-striped table-hover">
<div id="presenca_ordemdia" class="sm-6" style="margin-top: 6px; margin-right:60px"></div> <thead id="thead_tabela_expediente"></thead>
<div id="oradores_ordemdia" class="sm-6" style="margin-top: 6px; margin-right:60px"></div> <tbody id="materias_expediente"></tbody>
</div> </table>
<div class="row"> </div>
<div class="sm-12">
<table class="table table-striped table-hover">
<thead id="thead_tabela_ordemdia"></thead>
<tbody id=materias_ordemdia></tbody>
</table>
</div> </div>
</div> <div class="row"><div id="titulo_ordemdia" class="sm-12" style="margin-right:60px"></div></div>
<div class="row">
<div id="presenca_ordemdia" class="sm-6" style="margin-top: 6px; margin-right:60px"></div>
<div id="oradores_ordemdia" class="sm-6" style="margin-top: 6px; margin-right:60px"></div>
</div>
<div class="row">
<div class="sm-12">
<table class="table table-striped table-hover">
<thead id="thead_tabela_ordemdia"></thead>
<tbody id=materias_ordemdia></tbody>
</table>
</div>
</div>
{% endif %}
</div> </div>
{% endif %} </div>
</div> {% else %}
<font size="5"><p align="center"><b>Erro! Deliberação Remota não encontrada.</b></p></font>
{% endif %}
<br/> <br/>
{% endblock base_content %} {% endblock base_content %}
@ -93,6 +101,10 @@
<script language="Javascript"> <script language="Javascript">
$(document).ready(function() { (function poll() { $(document).ready(function() { (function poll() {
"{% if user.is_anonymous %}"
window.location.href = "{% url 'sapl.base:login' %}?next=/sdr/chat/{{object.id}}"
"{% endif %}"
"{% if object.sessao_plenaria %}" "{% if object.sessao_plenaria %}"
$.ajax({ $.ajax({
url: "{% url 'sapl.sdr:dados_deliberacao_remota' object.sessao_plenaria.id %}", url: "{% url 'sapl.sdr:dados_deliberacao_remota' object.sessao_plenaria.id %}",

Loading…
Cancel
Save