diff --git a/sapl/sdr/models.py b/sapl/sdr/models.py index 2d6c4288e..e283d50db 100644 --- a/sapl/sdr/models.py +++ b/sapl/sdr/models.py @@ -23,17 +23,12 @@ class DeliberacaoRemota(models.Model): verbose_name=_('Descrição')) inicio = models.DateTimeField(blank=True, null=True, verbose_name=_('Data e Hora de Início')) - #TODO: obrigatorio? sessao_plenaria = models.ForeignKey(SessaoPlenaria, null=True, blank=True, verbose_name=_('Sessão Plenária')) - - #TODO: preencher quando usuário selecionar a opção 'finalizada' termino = models.DateTimeField(blank=True, null=True, verbose_name=_('Data e Hora de Término')) finalizada = models.BooleanField(default=False, verbose_name=_('Finalizada?')) - - #TODO: obrigatório com preenchimento automatico created_by = models.ForeignKey(get_settings_auth_user_model(), blank=True, null=True, verbose_name=_('Criado por')) diff --git a/sapl/sdr/views.py b/sapl/sdr/views.py index 10451b514..3ee721afb 100644 --- a/sapl/sdr/views.py +++ b/sapl/sdr/views.py @@ -4,6 +4,7 @@ from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.contenttypes.models import ContentType from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist from django.core.urlresolvers import reverse, reverse_lazy +from django.contrib.auth.decorators import user_passes_test from django.http import JsonResponse from django.views.generic import TemplateView from django.utils import timezone @@ -60,7 +61,10 @@ class DeliberacaoRemotaCrud(Crud): 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): sessao = SessaoPlenaria.objects.get(id=pk) @@ -87,13 +91,13 @@ def get_dados_deliberacao_remota(request, pk): ) ) else: - resultado = "Matéria sendo Lida" if expediente.votacao_aberta else "Matéria Não Lida" + resultado = "Matéria sendo Lida" if expediente.votacao_aberta else "Matéria Não Lida" materias_expediente.append( ( str(expediente.numero_ordem), expediente.materia.__str__(), expediente.materia.ementa, resultado ) - ) + ) else: if RegistroVotacao.objects.filter(expediente=expediente).exists(): registro = RegistroVotacao.objects.get(expediente=expediente) @@ -129,13 +133,13 @@ def get_dados_deliberacao_remota(request, pk): ) ) else: - resultado = "Matéria sendo Lida" if ordemdia.votacao_aberta else "Matéria Não Lida" + resultado = "Matéria sendo Lida" if ordemdia.votacao_aberta else "Matéria Não Lida" materias_ordemdia.append( ( str(ordemdia.numero_ordem), ordemdia.materia.__str__(), ordemdia.materia.ementa, resultado ) - ) + ) else: if RegistroVotacao.objects.filter(ordem=ordemdia).exists(): registro = RegistroVotacao.objects.get(ordem=ordemdia) @@ -168,19 +172,19 @@ def get_dados_deliberacao_remota(request, pk): class ChatView(TemplateView): -# class ChatView(PermissionRequiredMixin, TemplateView): template_name = "sdr/deliberacaoremota.html" - # permission_required = ('sessao.view_expedientemateria') logger = logging.getLogger(__name__) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) + user = self.request.user + try: context['object'] = DeliberacaoRemota.objects.get(id=kwargs['pk']) 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) try: autor = user.autor diff --git a/sapl/templates/sdr/deliberacaoremota.html b/sapl/templates/sdr/deliberacaoremota.html index 75c39a94d..20a365397 100644 --- a/sapl/templates/sdr/deliberacaoremota.html +++ b/sapl/templates/sdr/deliberacaoremota.html @@ -8,50 +8,58 @@ {% block base_content %} {{ block.super }} -
-

Título: {{ object.titulo }}

-

Descrição: {% if object.descricao %}{{ object.descricao }}{% else %}Sem descrição.{% endif %}

-
ID: {{ object.chat_id }}

- {% if is_parlamentar %} -

Parlamentar: {{ parlamentar.nome_parlamentar }}


- {% else %} -

Usuário: {{ nome_usuario }}


- {% endif %} -
-
-
-
- {% if object.sessao_plenaria %} -
-
-
-
-
-
-
-
- - - -
+ {% if object %} +
+

Título: {{ object.titulo }}

+

Descrição: {% if object.descricao %}{{ object.descricao }}{% else %}Sem descrição.{% endif %}

+
ID: {{ object.chat_id }}

+ {% if is_parlamentar %} +

Parlamentar: {{ parlamentar.nome_parlamentar }}


+ {% else %} +

Usuário: {{ nome_usuario }}


+ {% endif %} +
+
+ {% if not object.finalizada %} +
+ {% else %} +

Atenção! Deliberação Remota finalizada.

+ {% endif %} +
+ {% if object.sessao_plenaria %} +
+
+
+
+
-
-
-
-
-
-
-
-
- - - -
+
+
+ + + +
+
-
+
+
+
+
+
+
+
+ + + +
+
+
+ {% endif %}
- {% endif %} -
+
+ {% else %} +

Erro! Deliberação Remota não encontrada.

+ {% endif %}
{% endblock base_content %} @@ -92,7 +100,11 @@ -{% endblock extra_js %} \ No newline at end of file +{% endblock extra_js %} diff --git a/sapl/templates/sdr/deliberacaoremota_detail.html b/sapl/templates/sdr/deliberacaoremota_detail.html index 728cf8a4d..b261bda62 100644 --- a/sapl/templates/sdr/deliberacaoremota_detail.html +++ b/sapl/templates/sdr/deliberacaoremota_detail.html @@ -73,4 +73,4 @@ Link da sessão de vídeo {% endif %} {% endif %} -{% endblock detail_content %} \ No newline at end of file +{% endblock detail_content %} diff --git a/sapl/templates/sdr/layouts.yaml b/sapl/templates/sdr/layouts.yaml index 61750d0d7..af6651e6f 100644 --- a/sapl/templates/sdr/layouts.yaml +++ b/sapl/templates/sdr/layouts.yaml @@ -15,4 +15,4 @@ DeliberacaoRemotaEdit: {% trans 'Deliberação Remota' %}: - created_by:10 finalizada - titulo sessao_plenaria - - descricao \ No newline at end of file + - descricao