Browse Source

Fix #607

pull/626/head
Eduardo Edson Batista Cordeiro Alves 8 years ago
parent
commit
a27c1c713c
  1. 63
      saoPlenaria.objects.filter(tipo__pk=2).last()
  2. 8
      sapl/sessao/urls.py
  3. 12
      sapl/sessao/views.py
  4. 24
      sapl/templates/sessao/sessaoplenaria_form.html

63
saoPlenaria.objects.filter(tipo__pk=2).last()

@ -0,0 +1,63 @@
Init signature: SessaoPlenaria(*args, **kwargs)
Source:
class SessaoPlenaria(models.Model):
 # TODO trash??? Seems to have been a FK in the past. Would be:
 # andamento_sessao = models.ForeignKey(
 # AndamentoSessao, blank=True, null=True)
 # TODO analyze querying all hosted databases !
 cod_andamento_sessao = models.PositiveIntegerField(blank=True, null=True)

 tipo = models.ForeignKey(TipoSessaoPlenaria, verbose_name=_('Tipo'))
 sessao_legislativa = models.ForeignKey(
 SessaoLegislativa, verbose_name=_('Sessão Legislativa'))
 legislatura = models.ForeignKey(Legislatura, verbose_name=_('Legislatura'))
 # XXX seems to be empty
 data_inicio = models.DateField(verbose_name=_('Abertura'))
 hora_inicio = models.CharField(
 max_length=5, verbose_name=_('Horário (hh:mm)'))
 hora_fim = models.CharField(
 max_length=5, blank=True, verbose_name=_('Horário (hh:mm)'))
 numero = models.PositiveIntegerField(verbose_name=_('Número'))
 data_fim = models.DateField(
 blank=True, null=True, verbose_name=_('Encerramento'))
 url_audio = models.URLField(
 max_length=150, blank=True,
 verbose_name=_('URL Arquivo Áudio (Formatos MP3 / AAC)'))
 url_video = models.URLField(
 max_length=150, blank=True,
 verbose_name=_('URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)'))
 upload_pauta = models.FileField(
 blank=True,
 null=True,
 upload_to=pauta_upload_path,
 verbose_name=_('Pauta da Sessão'),
 validators=[restringe_tipos_de_arquivo_txt])
 upload_ata = models.FileField(
 blank=True,
 null=True,
 upload_to=ata_upload_path,
 verbose_name=_('Ata da Sessão'),
 validators=[restringe_tipos_de_arquivo_txt])
 iniciada = models.NullBooleanField(blank=True,
 choices=YES_NO_CHOICES,
 verbose_name=_('Sessão iniciada?'))
 finalizada = models.NullBooleanField(blank=True,
 choices=YES_NO_CHOICES,
 verbose_name=_('Sessão finalizada?'))

 class Meta:
 verbose_name = _('Sessão Plenária')
 verbose_name_plural = _('Sessões Plenárias')

 def __str__(self):
 return _('%(numero)sª Sessão %(tipo_nome)s'
 ' da %(sessao_legislativa_numero)sª Sessão Legislativa'
 ' da %(legislatura_id)sª Legislatura') % {

 'numero': self.numero,
 'tipo_nome': self.tipo.nome,
 'sessao_legislativa_numero': self.sessao_legislativa.numero,
 # XXX check if it shouldn't be legislatura.numero
 'legislatura_id': self.legislatura.numero}
File: ~/Documents/sapl/sapl/sessao/models.py
Type: ModelBase

8
sapl/sessao/urls.py

@ -19,9 +19,10 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
VotacaoNominalExpedienteView,
VotacaoNominalView, VotacaoView,
abrir_votacao_expediente_view,
abrir_votacao_ordem_view,
abrir_votacao_ordem_view, recuperar_materia,
recuperar_numero_sessao,
reordernar_materias_expediente,
reordernar_materias_ordem, recuperar_materia)
reordernar_materias_ordem)
from .apps import AppConfig
@ -38,7 +39,8 @@ urlpatterns = [
MateriaOrdemDiaCrud.get_urls())),
url(r'^recuperar_materia/', recuperar_materia, name="recuperar_materia"),
url(r'^recuperar_materia/', recuperar_materia),
url(r'^recuperar_numero_sessao/', recuperar_numero_sessao),
url(r'^(?P<pk>\d+)/(?P<spk>\d+)/abrir-votacao-expediente$',
abrir_votacao_expediente_view,

12
sapl/sessao/views.py

@ -452,6 +452,18 @@ class OradorCrud(OradorCrud):
permission_required = permissoes_sessao()
def recuperar_numero_sessao(request):
try:
numero = SessaoPlenaria.objects.filter(
tipo__pk=request.GET['tipo']).last().numero
except ObjectDoesNotExist:
response = JsonResponse({'numero': 1})
else:
response = JsonResponse({'numero': numero + 1})
return response
class SessaoCrud(Crud):
model = SessaoPlenaria
help_path = 'sessao_plenaria'

24
sapl/templates/sessao/sessaoplenaria_form.html

@ -0,0 +1,24 @@
{% extends "crud/form.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% load common_tags %}
{% block extra_js %}
<script language="Javascript">
function recuperar_numero_sessao() {
var tipo = $("#id_tipo").val()
if (tipo) {
$.get("/recuperar_numero_sessao",{tipo: tipo},
function(data, status) {
$("#id_numero").val(data.numero);
console.log(data)
});
}
}
$("#id_tipo").change(recuperar_numero_sessao);
</script>
{% endblock %}
Loading…
Cancel
Save