Browse Source

Add reorder materiais ordem do dia e expediente

pull/7/head
Edward Ribeiro 9 years ago
parent
commit
620b7c27da
  1. 2
      sessao/urls.py
  2. 67
      sessao/views.py
  3. 7
      templates/sessao/expediente_ordemdia_list.html
  4. 9
      templates/sessao/materia_ordemdia_list.html

2
sessao/urls.py

@ -32,6 +32,8 @@ urlpatterns_sessao = sessao_crud.urlpatterns + [
url(r'^(?P<pk>\d+)/mesa$', MesaView.as_view(), name='mesa'),
url(r'^(?P<pk>\d+)/materiaordemdia/list$',
ListMateriaOrdemDiaView.as_view(), name='materiaordemdia_list'),
url(r'^(?P<pk>\d+)/materiaordemdia/list$',
ListMateriaOrdemDiaView.as_view(), name='materiaordemdia_reorder'),
url(r'^(?P<pk>\d+)/materiaordemdia/edit/(?P<oid>\d+)$',
EditMateriaOrdemDiaView.as_view(), name='materiaordemdia_edit'),
url(r'^(?P<pk>\d+)/materiaordemdia/create$',

67
sessao/views.py

@ -2,9 +2,9 @@ from datetime import datetime
from re import sub
from django import forms
from django.forms.util import ErrorList
from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse
from django.forms.util import ErrorList
from django.utils.html import strip_tags
from django.utils.translation import ugettext_lazy as _
from django.views.generic.edit import FormMixin
@ -143,12 +143,13 @@ class PresencaView(FormMixin, sessao_crud.CrudDetailView):
if parlamentar in presentes:
yield (parlamentar, True)
else:
yield (parlamentar, False)
yield (parlamentar, False)
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:presenca', kwargs={'pk': pk})
class PainelView(sessao_crud.CrudDetailView):
template_name = 'sessao/painel.html'
@ -205,7 +206,7 @@ class PresencaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:presencaordemdia', kwargs={'pk': pk})
return reverse('sessaoplenaria:presencaordemdia', kwargs={'pk': pk})
class ListMateriaOrdemDiaView(sessao_crud.CrudDetailView):
@ -252,6 +253,24 @@ class ListMateriaOrdemDiaView(sessao_crud.CrudDetailView):
return self.render_to_response(context)
def post(self, request, *args, **kwargs):
self.object = self.get_object()
pk = self.kwargs['pk']
# TODO: Existe uma forma de atualizar em lote de acordo
# com a forma abaixo, mas como setar o primeiro para "1"?
# OrdemDia.objects.filter(sessao_plenaria_id=pk)
# .order_by('numero_ordem').update(numero_ordem=3)
ordens = OrdemDia.objects.filter(sessao_plenaria_id=pk)
ordem_num = 1
for o in ordens:
o.numero_ordem = ordem_num
o.save()
ordem_num += 1
return self.get(self, request, args, kwargs)
class ListExpedienteOrdemDiaView(sessao_crud.CrudDetailView):
template_name = 'sessao/expediente_ordemdia_list.html'
@ -295,6 +314,24 @@ class ListExpedienteOrdemDiaView(sessao_crud.CrudDetailView):
return self.render_to_response(context)
def post(self, request, *args, **kwargs):
self.object = self.get_object()
pk = self.kwargs['pk']
# TODO: Existe uma forma de atualizar em lote de acordo
# com a forma abaixo, mas como setar o primeiro para "1"?
# OrdemDia.objects.filter(sessao_plenaria_id=pk)
# .order_by('numero_ordem').update(numero_ordem=3)
expedientes = ExpedienteMateria.objects.filter(sessao_plenaria_id=pk)
exp_num = 1
for e in expedientes:
e.numero_ordem = exp_num
e.save()
exp_num += 1
return self.get(self, request, args, kwargs)
class MateriaOrdemDiaForm(forms.Form):
data_sessao = forms.CharField(required=True)
@ -370,7 +407,7 @@ class MateriaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:materiaordemdia_list',
kwargs={'pk': pk})
kwargs={'pk': pk})
class EditMateriaOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
@ -516,7 +553,7 @@ class ExpedienteOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:expedienteordemdia_list',
kwargs={'pk': pk})
kwargs={'pk': pk})
class EditExpedienteOrdemDiaView(FormMixin, sessao_crud.CrudDetailView):
@ -682,7 +719,7 @@ class OradorExpedienteEdit(FormMixin, sessao_crud.CrudDetailView):
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:oradorexpediente', kwargs={'pk': pk})
return reverse('sessaoplenaria:oradorexpediente', kwargs={'pk': pk})
class OradorExpedienteView(FormMixin, sessao_crud.CrudDetailView):
@ -739,7 +776,7 @@ class OradorExpedienteView(FormMixin, sessao_crud.CrudDetailView):
url_discurso = orador.url_discurso
parlamentar = Parlamentar.objects.get(
id=orador.parlamentar_id)
yield(numero_ordem, url_discurso, parlamentar)
yield(numero_ordem, url_discurso, parlamentar)
def get_success_url(self):
pk = self.kwargs['pk']
@ -773,7 +810,7 @@ class MesaView(FormMixin, sessao_crud.CrudDetailView):
context.update({'integrantes': integrantes})
return self.render_to_response(context)
return self.render_to_response(context)
def post(self, request, *args, **kwargs):
self.object = self.get_object()
@ -838,7 +875,7 @@ class MesaView(FormMixin, sessao_crud.CrudDetailView):
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:mesa', kwargs={'pk': pk})
return reverse('sessaoplenaria:mesa', kwargs={'pk': pk})
class ResumoView(FormMixin, sessao_crud.CrudDetailView):
@ -1135,11 +1172,11 @@ class ExplicacaoView(FormMixin, sessao_crud.CrudDetailView):
url_discurso = orador.url_discurso
parlamentar = Parlamentar.objects.get(
id=orador.parlamentar_id)
yield(numero_ordem, url_discurso, parlamentar)
yield(numero_ordem, url_discurso, parlamentar)
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:explicacao', kwargs={'pk': pk})
return reverse('sessaoplenaria:explicacao', kwargs={'pk': pk})
class ExplicacaoDelete(FormMixin, sessao_crud.CrudDetailView):
@ -1214,7 +1251,7 @@ class ExplicacaoEdit(FormMixin, sessao_crud.CrudDetailView):
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:explicacao', kwargs={'pk': pk})
return reverse('sessaoplenaria:explicacao', kwargs={'pk': pk})
class VotacaoForm(forms.Form):
@ -1292,7 +1329,7 @@ class VotacaoEditView(FormMixin, sessao_crud.CrudDetailView):
def get_tipos_votacao(self):
for tipo in TipoResultadoVotacao.objects.all():
yield tipo
yield tipo
def get_success_url(self):
pk = self.kwargs['pk']
@ -1404,7 +1441,7 @@ class VotacaoView(FormMixin, sessao_crud.CrudDetailView):
def get_tipos_votacao(self):
for tipo in TipoResultadoVotacao.objects.all():
yield tipo
yield tipo
def get_success_url(self):
pk = self.kwargs['pk']
@ -1528,7 +1565,7 @@ class VotacaoNominalView(FormMixin, sessao_crud.CrudDetailView):
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sessaoplenaria:materiaordemdia_list',
kwargs={'pk': pk})
kwargs={'pk': pk})
class VotacaoNominalEditView(FormMixin, sessao_crud.CrudDetailView):

7
templates/sessao/expediente_ordemdia_list.html

@ -29,7 +29,10 @@ Matérias do Expediente
</a></dd>
<button>Incluir várias matérias</button>
<button>Reordenar Matérias na Ordem do Dia</button>
<button>Atualizar</button>
<form method="POST" action="{% url 'sessaoplenaria:expedienteordemdia_list' object.pk %}">
{% csrf_token %}
<input type="submit" id="expediente_reorder" name="expediente_reorder" value="Reordenar Matérias do Expediente" class="button secondary" />
</form>
{% endblock detail_content %}

9
templates/sessao/materia_ordemdia_list.html

@ -44,11 +44,12 @@ Matérias da Ordem do Dia
</br>
<a href="{% url 'sessaoplenaria:materiaordemdia_create' object.pk %}" class="button secondary">
{% trans 'Adicionar Matérias' %}
{% trans 'Adicionar Matérias' %}
</a></dd>
<button>Incluir várias matérias</button>
<button>Reordenar Matérias na Ordem do Dia</button>
<button>Atualizar</button>
<form method="POST" action="{% url 'sessaoplenaria:materiaordemdia_list' object.pk %}">
{% csrf_token %}
<input type="submit" id="materia_reorder" name="materia_reorder" value="Reordenar Matérias da Ordem do Dia" class="button secondary" />
</form>
{% endblock detail_content %}
Loading…
Cancel
Save