Browse Source

Edit

pull/7/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
53fa2253d5
  1. 67
      sessao/views.py
  2. 59
      templates/sessao/materia_ordemdia_edit.html
  3. 45
      templates/sessao/materia_ordemdia_list.html

67
sessao/views.py

@ -12,10 +12,10 @@ from parlamentares.models import Parlamentar
from sapl.crud import build_crud from sapl.crud import build_crud
from .models import (CargoMesa, ExpedienteMateria, ExpedienteSessao, from .models import (CargoMesa, ExpedienteMateria, ExpedienteSessao,
IntegranteMesa, Orador, OradorExpediente, OrdemDia, IntegranteMesa, MateriaLegislativa, Orador,
PresencaOrdemDia, RegistroVotacao, SessaoPlenaria, OradorExpediente, OrdemDia, PresencaOrdemDia,
SessaoPlenariaPresenca, TipoExpediente, RegistroVotacao, SessaoPlenaria, SessaoPlenariaPresenca,
TipoResultadoVotacao, TipoSessaoPlenaria) TipoExpediente, TipoResultadoVotacao, TipoSessaoPlenaria)
tipo_sessao_crud = build_crud( tipo_sessao_crud = build_crud(
TipoSessaoPlenaria, 'tipo_sessao_plenaria', [ TipoSessaoPlenaria, 'tipo_sessao_plenaria', [
@ -242,10 +242,8 @@ class ListMateriaOrdemDiaView(sessao_crud.CrudDetailView):
autor += str(a.autor) autor += str(a.autor)
autor += ' ' autor += ' '
resultado = ''
mat = {'pk': pk, mat = {'pk': pk,
'oid': o.id, 'oid': o.materia_id,
'ementa': ementa, 'ementa': ementa,
'titulo': titulo, 'titulo': titulo,
'numero': numero, 'numero': numero,
@ -278,7 +276,8 @@ class MateriaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
def get_success_url(self): def get_success_url(self):
pk = self.kwargs['pk'] pk = self.kwargs['pk']
return reverse('sessaoplenaria:materiaordemdia_list', kwargs={'pk': pk}) return reverse('sessaoplenaria:materiaordemdia_list',
kwargs={'pk': pk})
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
self.object = self.get_object() self.object = self.get_object()
@ -306,8 +305,6 @@ class MateriaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
context = self.get_context_data(object=self.object) context = self.get_context_data(object=self.object)
form = MateriaOrdemDiaForm(request.POST) form = MateriaOrdemDiaForm(request.POST)
# print(form)
if form.is_valid(): if form.is_valid():
# TODO: Pra que tipo_materia e tipo_sessao # TODO: Pra que tipo_materia e tipo_sessao
@ -315,9 +312,17 @@ class MateriaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
# TODO: barrar matérias não existentes # TODO: barrar matérias não existentes
# TODO: barrar criação de ordemdia para materias já incluídas # TODO: barrar criação de ordemdia para materias já incluídas
# ordem = OrdemDia.objects.get(
# sessao_plenaria_id=self.object.id)
# # Verficar se matéria existe
# materia = MateriaLegislativa.objects.get(
# id=ordem.materia_id,
# tipo=request.POST['tipo_materia'])
ordemdia = OrdemDia() ordemdia = OrdemDia()
ordemdia.sessao_plenaria_id = self.object.id ordemdia.sessao_plenaria_id = self.object.id
ordemdia.materia_id = request.POST['numero_materia'] ordemdia.materia_id = ordem.materia_id
ordemdia.numero_ordem = request.POST['numero_ordem'] ordemdia.numero_ordem = request.POST['numero_ordem']
ordemdia.data_ordem = datetime.now() ordemdia.data_ordem = datetime.now()
ordemdia.observacao = sub( ordemdia.observacao = sub(
@ -334,9 +339,47 @@ class MateriaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
class EditMateriaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView): class EditMateriaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
template_name = 'sessao/materia_ordemdia.html' template_name = 'sessao/materia_ordemdia_edit.html'
form_class = MateriaOrdemDiaForm form_class = MateriaOrdemDiaForm
def get(self, request, *args, **kwargs):
self.object = self.get_object()
context = self.get_context_data(object=self.object)
current_url = request.get_full_path()
words = current_url.split('/')
ordem = OrdemDia.objects.get(
sessao_plenaria_id=self.object.id,
materia_id=words[-1])
materia = MateriaLegislativa.objects.get(
id=ordem.materia_id)
tipo_votacao = ExpedienteMateria.TIPO_VOTACAO_CHOICES
tipo_sessao = TipoSessaoPlenaria.objects.all()
tipo_materia = TipoMateriaLegislativa.objects.all()
context.update({'data_sessao': self.object.data_fim,
'tipo_sessao': tipo_sessao,
'tipo_sessao_selected': self.object.tipo,
'tipo_materia': tipo_materia,
'tipo_materia_selected': materia.tipo,
'tipo_votacao': tipo_votacao,
'tipo_votacao_selected': ordem.tipo_votacao,
'ano_materia': materia.ano,
'numero_ordem': ordem.numero_ordem,
'numero_materia': materia.numero,
'observacao': sub(
' ', ' ', strip_tags(ordem.observacao)),
'error_message': '', })
return self.render_to_response(context)
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:materiaordemdia_list',
kwargs={'pk': pk})
class OradorForm(forms.Form): class OradorForm(forms.Form):
numero_ordem = forms.IntegerField(required=True) numero_ordem = forms.IntegerField(required=True)

59
templates/sessao/materia_ordemdia_edit.html

@ -0,0 +1,59 @@
{% extends "sessao/sessaoplenaria_detail.html" %}
{% load i18n %}
{% block detail_content %}
<div>
{{ error_message }}
</div>
<form method="POST">
{% csrf_token %}
<ul class="small-block-grid-3 medium-block-grid-3 large-block-grid-3">
<li>Data da Sessão: <input type="text" value="{{data_sessao}}" disabled /></li>
<input type="hidden" id="data_sessao" name="data_sessao" length="10" maxlength="10" value="{{data_sessao}}" />
<li>
Tipo da Sessão: <select id="tipo_sessao" name="tipo_sessao" >
<option value=""></option>
{% for tipo in tipo_sessao %}
<option value="{{tipo.id}}" {% if tipo == tipo_sessao_selected %} selected {% endif %} >{{tipo.nome}}</option>
{% endfor %}
</select>
</li>
<li> Número Ordem: <input type="text" id="numero_ordem" name="numero_ordem" value="{{numero_ordem}}" /></li>
</ul>
<ul class="small-block-grid-3 medium-block-grid-3 large-block-grid-3">
<li>
Tipo Matéria:
<select id="tipo_materia" name="tipo_materia">
<option value=""></option>
{% for tipo in tipo_materia %}
<option value="{{tipo.id}}" {% if tipo == tipo_materia_selected %} selected {% endif %}>{{tipo.descricao}}</option>
{% endfor %}
</select>
</li>
<li>Número Matéria: <input type="text" id="numero_materia" name="numero_materia" value="{{numero_materia}}"/></li>
<li>Ano Matéria: <input type="text" id="ano_materia" name="ano_materia" value="{{ano_materia}}" /></li>
</ul>
<ul class="small-block-grid-1 medium-block-grid-1 large-block-grid-1">
<li>
Tipo Votação:
<select id="tipo_votacao" name="tipo_votacao">
<option value=""></option>
{% for id, descricao in tipo_votacao %}
<option value="{{id}}" {% if id == tipo_votacao_selected %} selected {% endif %}>{{descricao}}</option>
{% endfor %}
</select>
</li>
</ul>
<ul class="small-block-grid-1 medium-block-grid-1 large-block-grid-1">
<li> Ementa: <textarea id="observacao" name="observacao" cols="10" rows="10">{{observacao}}</textarea> </li>
</ul>
<input type="submit" value="Salvar" />
</form>
{% endblock detail_content %}

45
templates/sessao/materia_ordemdia_list.html

@ -5,26 +5,27 @@
Matérias da Ordem do Dia Matérias da Ordem do Dia
<table border="1"> <ul class="small-block-grid-3 medium-block-grid-3 large-block-grid-3">
<tr><td>Matéria</td><td>Ementa</td><td>Resultado da Votação</td></tr> <li>Matéria</li>
{% for m in materias_ordem %} <li>Ementa</li>
<tr> <li>Resultado da Votação</li>
<td> </ul>
{{m.numero}} - {{m.titulo}} <ul class="small-block-grid-3 medium-block-grid-3 large-block-grid-3">
&nbsp; {% for m in materias_ordem %}
</br> <li>
{{m.autor}} {{m.numero}} - <a href="{% url 'sessaoplenaria:materiaordemdia_edit' m.pk m.oid %}">{{m.titulo}}</a>
</td> &nbsp;
<td> </br>
{{m.ementa}} {{m.autor}}
</td> </li>
<td> <li>{{m.ementa}}</li>
{% if m.resultado %}{{m.resultado}}{%endif%} <li>{% if m.resultado %}{{m.resultado}}{% endif %}</li>
</td> {% endfor %}
</tr> </ul>
{% endfor %}
</table> </br>
</ul> <a href="{% url 'sessaoplenaria:materiaordemdia_create' object.pk %}" class="button secondary">
</br> {% trans 'Adicionar Matérias' %}
<a href="{% url 'sessaoplenaria:materiaordemdia_create' object.pk %}" class="button secondary">{% trans 'Adicionar Matérias' %}</a></dd> </a></dd>
{% endblock detail_content %} {% endblock detail_content %}
Loading…
Cancel
Save