Browse Source

Adiciona form (create, update)

pull/3136/head
João Rodrigues 6 years ago
parent
commit
507af338a3
  1. 27
      sapl/sdr/forms.py
  2. 2
      sapl/sdr/models.py
  3. 47
      sapl/sdr/views.py
  4. 68
      sapl/templates/sdr/deliberacaoremota_detail.html
  5. 12
      sapl/templates/sdr/layouts.yaml

27
sapl/sdr/forms.py

@ -3,30 +3,47 @@ import logging
from django import forms
from django.forms import ModelForm
from django.utils.translation import ugettext_lazy as _
from django.utils import timezone
from sapl.sdr.models import DeliberacaoRemota
from sapl.sessao.models import SessaoPlenaria
class DeliberacaoRemotaCreateForm(ModelForm):
class DeliberacaoRemotaForm(ModelForm):
logger = logging.getLogger(__name__)
sessao_plenaria = forms.ModelChoiceField(
label=_('Sessão Plenária'),
required=False,
empty_label='Selecione',
queryset=SessaoPlenaria.objects.filter(
finalizada=False
).order_by("-data_inicio", "-hora_inicio")
)
class Meta:
model = DeliberacaoRemota
exclude = []
exclude = ['chat_id']
widgets = {
'created_by': forms.HiddenInput(),
'descricao': forms.Textarea(attrs={'id': 'texto-rico'})
}
def clean(self):
cleaned_data = super().clean()
import ipdb; ipdb.set_trace()
if not self.is_valid():
return self.cleaned_data
if not self.instance.finalizada:
if cleaned_data['finalizada']:
cleaned_data['termino'] = timezone.now()
else:
if not cleaned_data['finalizada']:
cleaned_data['termino'] = None
return cleaned_data
# class DeliberacaoRemotaForm(ModelForm):
#
# logger = logging.getLogger(__name__)

2
sapl/sdr/models.py

@ -44,4 +44,4 @@ class DeliberacaoRemota(models.Model):
ordering = ['chat_id', 'descricao']
def __str__(self):
return "".format(self.chat_id)
return _('%(titulo)s') % {'titulo': self.titulo}

47
sapl/sdr/views.py

@ -10,7 +10,7 @@ from sapl.base.models import Autor
from sapl.crud.base import Crud
from sapl.parlamentares.models import Parlamentar
from sapl.rules import RP_LIST, RP_DETAIL
from sapl.sdr.forms import DeliberacaoRemotaCreateForm
from sapl.sdr.forms import DeliberacaoRemotaForm
from sapl.sdr.models import DeliberacaoRemota, gen_session_id
from sapl.sessao.models import SessaoPlenaria
@ -23,22 +23,35 @@ class DeliberacaoRemotaCrud(Crud):
ordered_list = False
list_field_names = [
'titulo',
'chat_id',
'finalizada',
'sessao_plenaria']
# class CreateView(Crud.CreateView):
# form_class = DeliberacaoRemotaCreateForm
#
# layout_key = 'DeliberacaoRemotaCreate'
#
# def get_initial(self):
# import ipdb; ipdb.set_trace()
# initial = super().get_initial()
# initial['created_by'] = self.request.user
# return initial
#
# def get_context_data(self):
'sessao_plenaria',
'finalizada'
]
class CreateView(Crud.CreateView):
form_class = DeliberacaoRemotaForm
layout_key = 'DeliberacaoRemotaCreate'
def get_initial(self):
initial = super().get_initial()
initial['created_by'] = self.request.user
return initial
class UpdateView(Crud.UpdateView):
form_class = DeliberacaoRemotaForm
layout_key = 'DeliberacaoRemotaEdit'
class DetailView(Crud.DetailView):
layout_key = 'DeliberacaoRemota'
template_name = 'sdr/deliberacaoremota_detail.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['user'] = self.request.user
deliberacao = DeliberacaoRemota.objects.get(pk=self.kwargs['pk'])
context['deliberacao'] = deliberacao
return context
class ChatView(PermissionRequiredMixin, TemplateView):

68
sapl/templates/sdr/deliberacaoremota_detail.html

@ -4,5 +4,73 @@
{% block detail_content %}
{{block.super}}
<div class="row">
<div class="col-sm-5">
<div id="div_inicio" class="form_group">
<p class="control-label">Data e Hora de Início</p>
<div class="controls">
<div class="form-control-static">
<div class="dont-break-out">
{{ deliberacao.inicio }}
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-5">
<div id="div_inicio" class="form_group">
<p class="control-label">Data e Hora de Término</p>
<div class="controls">
<div class="form-control-static">
<div class="dont-break-out">
{% if deliberacao.termino %}
{{ deliberacao.termino }}
{% else %}
Não finalizada
{% endif %}
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-2">
<div id="div_inicio" class="form_group">
<p class="control-label">Finalizada?</p>
<div class="controls">
<div class="form-control-static">
<div class="dont-break-out">
{% if deliberacao.finalizada %}
Sim
{% else %}
Não
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
{% if user.is_superuser %}
{% if deliberacao.created_by %}
<br/>
<div class="row">
<div class="col-sm-12">
<div id="div_id_user" class="form-group">
<p class="control-label">Criado por</p>
<div class="controls">
<div class="form-control-static">
<div class="dont-break-out">
<a href="{% url 'sapl.base:user_edit' deliberacao.created_by.pk %}">
{{ deliberacao.created_by }}
</a>
</div>
</div>
</div>
</div>
</div>
</div>
{% endif %}
{% endif %}
<br/>
<a href="{% url 'sapl.sdr:chat-session' object.pk %}"><strong>Link da sessão de vídeo</strong></a>
{% endblock detail_content %}

12
sapl/templates/sdr/layouts.yaml

@ -2,11 +2,17 @@
DeliberacaoRemota:
{% trans 'Deliberação Remota' %}:
- titulo finalizada
- titulo sessao_plenaria
- descricao
DeliberacaoRemotaCreate:
{% trans 'Deliberação Remota' %}:
- created_by
- titulo finalizada
- created_by:10
- titulo sessao_plenaria
- descricao
DeliberacaoRemotaEdit:
{% trans 'Deliberação Remota' %}:
- created_by:10 finalizada
- titulo sessao_plenaria
- descricao
Loading…
Cancel
Save