diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 0b4607bd1..6de9c622f 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -13,7 +13,7 @@ from sapl.materia.forms import MateriaLegislativaFilterSet from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa from sapl.utils import RANGE_DIAS_MES, RANGE_MESES, autor_label, autor_modal -from .models import Bancada, ExpedienteMateria, SessaoPlenaria +from .models import Bancada, ExpedienteMateria, SessaoPlenaria, OrdemDia def pega_anos(): @@ -95,6 +95,39 @@ class ExpedienteMateriaForm(ModelForm): return expediente +class OrdemDiaForm(ExpedienteMateriaForm): + + class Meta: + model = OrdemDia + fields = ['data_ordem', 'numero_ordem', 'tipo_materia', 'observacao', + 'numero_materia', 'ano_materia', 'tipo_votacao'] + + def clean_data_ordem(self): + return datetime.now() + + def clean(self): + cleaned_data = self.cleaned_data + try: + materia = MateriaLegislativa.objects.get( + numero=self.cleaned_data['numero_materia'], + ano=self.cleaned_data['ano_materia'], + tipo=self.cleaned_data['tipo_materia']) + except ObjectDoesNotExist: + msg = _('A matéria a ser inclusa não existe no cadastro' + ' de matérias legislativas.') + raise ValidationError(msg) + else: + cleaned_data['materia'] = materia + + return cleaned_data + + def save(self, commit=False): + ordem = super(OrdemDiaForm, self).save(commit) + ordem.materia = self.cleaned_data['materia'] + ordem.save() + return ordem + + class PresencaForm(forms.Form): presenca = forms.CharField(required=False, initial=False) parlamentar = forms.CharField(required=False, max_length=20) @@ -108,19 +141,6 @@ class ListMateriaForm(forms.Form): error_message = forms.CharField(required=False, label='votacao_aberta') -class MateriaOrdemDiaForm(forms.Form): - data_sessao = forms.CharField(required=True, label=_('Data da Sessão')) - numero_ordem = forms.IntegerField(required=True, label=_('Número Ordem')) - tipo_votacao = forms.IntegerField(required=True, label=_('Tipo Votação')) - tipo_sessao = forms.IntegerField(required=True, label=_('Tipo da Sessão')) - ano_materia = forms.IntegerField(required=True, label=_('Ano Matéria')) - numero_materia = forms.IntegerField(required=True, - label=_('Número Matéria')) - tipo_materia = forms.IntegerField(required=True, label=_('Tipo Matéria')) - observacao = forms.CharField(required=False, label=_('Ementa')) - error_message = forms.CharField(required=False, label=_('Matéria')) - - class MesaForm(forms.Form): parlamentar = forms.IntegerField(required=True) cargo = forms.IntegerField(required=True) diff --git a/sapl/sessao/urls.py b/sapl/sessao/urls.py index 28ceb8517..d1b8f6b2a 100644 --- a/sapl/sessao/urls.py +++ b/sapl/sessao/urls.py @@ -3,9 +3,8 @@ from django.conf.urls import include, url from sapl.sessao.views import (AdicionarVariasMateriasExpediente, AdicionarVariasMateriasOrdemDia, BancadaCrud, CargoBancadaCrud, - EditMateriaOrdemDiaView, ExpedienteMateriaCrud, - ExpedienteView, ListMateriaOrdemDiaView, - MateriaOrdemDiaView, MesaView, OradorCrud, + ExpedienteMateriaCrud, ExpedienteView, + MateriaOrdemDiaCrud, MesaView, OradorCrud, OradorExpedienteCrud, PainelView, PautaExpedienteDetail, PautaOrdemDetail, PautaSessaoDetailView, PautaSessaoListView, @@ -19,8 +18,10 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente, VotacaoNominalExpedienteEditView, VotacaoNominalExpedienteView, VotacaoNominalView, VotacaoView, - abrir_votacao_view, - reordernar_materias_expediente) + abrir_votacao_expediente_view, + abrir_votacao_ordem_view, + reordernar_materias_expediente, + reordernar_materias_ordem) from .apps import AppConfig @@ -33,13 +34,19 @@ sessao_rest = [ urlpatterns = [ url(r'^sessao/', include(SessaoCrud.get_urls() + OradorCrud.get_urls() + OradorExpedienteCrud.get_urls() + - ExpedienteMateriaCrud.get_urls())), + ExpedienteMateriaCrud.get_urls() + + MateriaOrdemDiaCrud.get_urls())), - url(r'^(?P\d+)/(?P\d+)/abrir-votacao$', abrir_votacao_view, + url(r'^(?P\d+)/(?P\d+)/abrir-votacao-expediente$', + abrir_votacao_expediente_view, + name="abrir_votacao_exp"), + url(r'^(?P\d+)/(?P\d+)/abrir-votacao-ordem$', + abrir_votacao_ordem_view, name="abrir_votacao"), url(r'^(?P\d+)/reordenar-expediente$', reordernar_materias_expediente, name="reordenar_expediente"), - + url(r'^(?P\d+)/reordenar-ordem$', reordernar_materias_ordem, + name="reordenar_ordem"), url(r'^rest/', include(sessao_rest)), url(r'^sistema/sessao-plenaria/tipo/', include(TipoSessaoCrud.get_urls())), @@ -79,14 +86,6 @@ urlpatterns = [ PresencaOrdemDiaView.as_view(), name='presencaordemdia'), url(r'^(?P\d+)/mesa$', MesaView.as_view(), name='mesa'), - url(r'^(?P\d+)/materiaordemdia/list$', - ListMateriaOrdemDiaView.as_view(), name='materiaordemdia_list'), - url(r'^(?P\d+)/materiaordemdia/list$', - ListMateriaOrdemDiaView.as_view(), name='materiaordemdia_reorder'), - url(r'^(?P\d+)/materiaordemdia/edit/(?P\d+)$', - EditMateriaOrdemDiaView.as_view(), name='materiaordemdia_edit'), - url(r'^(?P\d+)/materiaordemdia/create$', - MateriaOrdemDiaView.as_view(), name='materiaordemdia_create'), url(r'^(?P\d+)/resumo$', ResumoView.as_view(), name='resumo'), url(r'^sessao/pesquisar-sessao$', diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 9fb5417de..2112264ce 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -26,11 +26,13 @@ from sapl.norma.models import NormaJuridica from sapl.parlamentares.models import Parlamentar from sapl.sessao.serializers import SessaoPlenariaSerializer -from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm, - ExpedienteForm, ExpedienteMateriaForm, - ListMateriaForm, MateriaOrdemDiaForm, MesaForm, - PresencaForm, SessaoPlenariaFilterSet, VotacaoEditForm, - VotacaoForm, VotacaoNominalForm) +from .forms import (AdicionarVariasMateriasFilterSet, + BancadaForm, ExpedienteForm, ExpedienteMateriaForm, + ListMateriaForm, MateriaOrdemDiaForm, + MesaForm, OrdemDiaForm, PresencaForm, + SessaoPlenariaFilterSet, VotacaoEditForm, VotacaoForm, + VotacaoNominalForm) + from .models import (Bancada, CargoBancada, CargoMesa, ExpedienteMateria, ExpedienteSessao, IntegranteMesa, MateriaLegislativa, Orador, OradorExpediente, OrdemDia, PresencaOrdemDia, @@ -60,6 +62,19 @@ def reordernar_materias_expediente(request, pk): reverse('sapl.sessao:expedientemateria_list', kwargs={'pk': pk})) +def reordernar_materias_ordem(request, pk): + 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 HttpResponseRedirect( + reverse('sapl.sessao:ordemdia_list', kwargs={'pk': pk})) + + class BancadaCrud(Crud): model = Bancada help_path = '' @@ -77,7 +92,7 @@ class BancadaCrud(Crud): form_class = BancadaForm -def abrir_votacao_view(request, pk, spk): +def abrir_votacao_expediente_view(request, pk, spk): existe_votacao_aberta = ExpedienteMateria.objects.filter( sessao_plenaria_id=spk, votacao_aberta=True ).exists() @@ -93,6 +108,114 @@ def abrir_votacao_view(request, pk, spk): reverse('sapl.sessao:expedientemateria_list', kwargs={'pk': spk})) +def abrir_votacao_ordem_view(request, pk, spk): + existe_votacao_aberta = OrdemDia.objects.filter( + sessao_plenaria_id=spk, votacao_aberta=True + ).exists() + if existe_votacao_aberta: + msg = _('Já existe uma matéria com votação aberta. Para abrir ' + 'outra, termine ou feche a votação existente.') + raise ValidationError(msg) + else: + ordem = OrdemDia.objects.get(id=pk) + ordem.votacao_aberta = True + ordem.save() + return HttpResponseRedirect( + reverse('sapl.sessao:ordemdia_list', kwargs={'pk': spk})) + + +class MateriaOrdemDiaCrud(MasterDetailCrud): + model = OrdemDia + parent_field = 'sessao_plenaria' + help_path = '' + + class BaseMixin(MasterDetailCrud.BaseMixin): + list_field_names = ['numero_ordem', 'materia', 'observacao', + 'resultado'] + + class CreateView(MasterDetailCrud.CreateView): + form_class = OrdemDiaForm + + class UpdateView(MasterDetailCrud.UpdateView): + form_class = OrdemDiaForm + + def get_initial(self): + self.initial['tipo_materia'] = self.object.materia.tipo.id + self.initial['numero_materia'] = self.object.materia.numero + self.initial['ano_materia'] = self.object.materia.ano + return self.initial + + class DetailView(MasterDetailCrud.DetailView): + @property + def layout_key(self): + return 'OrdemDiaDetail' + + class ListView(MasterDetailCrud.ListView): + ordering = ['numero_ordem', 'materia', 'resultado'] + + def get_rows(self, object_list): + for obj in object_list: + if not obj.resultado: + if obj.votacao_aberta: + url = '' + if obj.tipo_votacao == 1: + url = reverse('sapl.sessao:votacaosimbolica', + kwargs={ + 'pk': obj.sessao_plenaria_id, + 'oid': obj.materia_id, + 'mid': obj.pk}) + elif obj.tipo_votacao == 2: + url = reverse('sapl.sessao:votacaonominal', + kwargs={ + 'pk': obj.sessao_plenaria_id, + 'oid': obj.materia_id, + 'mid': obj.pk}) + elif obj.tipo_votacao == 3: + url = reverse('sapl.sessao:votacaosecreta', + kwargs={ + 'pk': obj.sessao_plenaria_id, + 'oid': obj.materia_id, + 'mid': obj.pk}) + + btn_registrar = ''' + Registrar Votação''' % (url) + obj.resultado = btn_registrar + else: + url = reverse('sapl.sessao:abrir_votacao', kwargs={ + 'pk': obj.pk, 'spk': obj.sessao_plenaria_id}) + btn_abrir = ''' + Matéria não votada
+ Abrir Votação''' % (url) + obj.resultado = btn_abrir + else: + url = '' + if obj.tipo_votacao == 1: + url = reverse('sapl.sessao:votacaosimbolicaedit', + kwargs={ + 'pk': obj.sessao_plenaria_id, + 'oid': obj.materia_id, + 'mid': obj.pk}) + elif obj.tipo_votacao == 2: + url = reverse('sapl.sessao:votacaonominaledit', + kwargs={ + 'pk': obj.sessao_plenaria_id, + 'oid': obj.materia_id, + 'mid': obj.pk}) + elif obj.tipo_votacao == 3: + url = reverse('sapl.sessao:votacaosecretaedit', + kwargs={ + 'pk': obj.sessao_plenaria_id, + 'oid': obj.materia_id, + 'mid': obj.pk}) + obj.resultado = '%s' % (url, + obj.resultado) + return [self._as_row(obj) for obj in object_list] + + class ExpedienteMateriaCrud(MasterDetailCrud): model = ExpedienteMateria parent_field = 'sessao_plenaria' @@ -135,7 +258,7 @@ class ExpedienteMateriaCrud(MasterDetailCrud): role="button">Registrar Votação''' % (url) obj.resultado = btn_registrar else: - url = reverse('sapl.sessao:abrir_votacao', kwargs={ + url = reverse('sapl.sessao:abrir_votacao_exp', kwargs={ 'pk': obj.pk, 'spk': obj.sessao_plenaria_id}) btn_abrir = ''' Matéria não votada
@@ -328,284 +451,6 @@ class PresencaOrdemDiaView(FormMixin, return reverse('sapl.sessao:presencaordemdia', kwargs={'pk': pk}) -class ListMateriaOrdemDiaView(FormMixin, SessaoCrud.CrudDetailView): - template_name = 'sessao/materia_ordemdia_list.html' - form_class = ListMateriaForm - - def get(self, request, *args, **kwargs): - self.object = self.get_object() - context = self.get_context_data(object=self.object) - - pk = self.kwargs['pk'] - ordem = OrdemDia.objects.filter(sessao_plenaria_id=pk) - - materias_ordem = [] - for o in ordem: - ementa = o.observacao - titulo = o.materia - numero = o.numero_ordem - - autoria = Autoria.objects.filter(materia_id=o.materia_id) - autor = [str(a.autor) for a in autoria] - - mat = {'pk': pk, - 'oid': o.materia_id, - 'ordem_id': o.id, - 'ementa': ementa, - 'titulo': titulo, - 'numero': numero, - 'resultado': o.resultado, - 'autor': autor, - 'votacao_aberta': o.votacao_aberta, - 'tipo_votacao': o.tipo_votacao - } - materias_ordem.append(mat) - - sorted(materias_ordem, key=lambda x: x['numero']) - - context.update({'materias_ordem': materias_ordem}) - - return self.render_to_response(context) - - def post(self, request, *args, **kwargs): - self.object = self.get_object() - context = self.get_context_data(object=self.object) - - pk = self.kwargs['pk'] - form = ListMateriaForm(request.POST) - - # 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) - - if 'materia_reorder' in request.POST: - 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 - elif 'abrir-votacao' in request.POST: - existe_votacao_aberta = OrdemDia.objects.filter( - sessao_plenaria_id=pk, votacao_aberta=True).exists() - if existe_votacao_aberta: - context = self.get_context_data(object=self.object) - - form._errors = {'error_message': 'error_message'} - context.update({'form': form}) - - pk = self.kwargs['pk'] - ordem = OrdemDia.objects.filter(sessao_plenaria_id=pk) - - materias_ordem = [] - for o in ordem: - ementa = o.observacao - titulo = o.materia - numero = o.numero_ordem - - autoria = Autoria.objects.filter(materia_id=o.materia_id) - autor = [str(a.autor) for a in autoria] - - mat = {'pk': pk, - 'oid': o.materia_id, - 'ordem_id': o.id, - 'ementa': ementa, - 'titulo': titulo, - 'numero': numero, - 'resultado': o.resultado, - 'autor': autor, - 'votacao_aberta': o.votacao_aberta, - 'tipo_votacao': o.tipo_votacao - } - materias_ordem.append(mat) - - sorted(materias_ordem, key=lambda x: x['numero']) - context.update({'materias_ordem': materias_ordem}) - return self.render_to_response(context) - else: - ordem_id = request.POST['ordem_id'] - ordem = OrdemDia.objects.get(id=ordem_id) - ordem.votacao_aberta = True - ordem.save() - return self.get(self, request, args, kwargs) - - -class MateriaOrdemDiaView(FormMixin, SessaoCrud.CrudDetailView): - template_name = 'sessao/materia_ordemdia.html' - form_class = MateriaOrdemDiaForm - - def get(self, request, *args, **kwargs): - self.object = self.get_object() - context = self.get_context_data(object=self.object) - - now = datetime.now() - - tipo_materia = TipoMateriaLegislativa.objects.all() - data_sessao = now - tipo_sessao = TipoSessaoPlenaria.objects.all() - tipo_votacao = ExpedienteMateria.TIPO_VOTACAO_CHOICES - ano_materia = now.year - - context.update({'data_sessao': data_sessao, - 'tipo_sessao': tipo_sessao, - 'tipo_materia': tipo_materia, - 'tipo_votacao': tipo_votacao, - 'ano_materia': ano_materia, - 'error_message': '', }) - return self.render_to_response(context) - - def post(self, request, *args, **kwargs): - - self.object = self.get_object() - context = self.get_context_data(object=self.object) - form = MateriaOrdemDiaForm(request.POST) - - if form.is_valid(): - try: - materia = MateriaLegislativa.objects.get( - numero=request.POST['numero_materia'], - tipo_id=request.POST['tipo_materia'], - ano=request.POST['ano_materia']) - except ObjectDoesNotExist: - form._errors["error_message"] = ErrorList([u""]) - context.update({'form': form}) - return self.render_to_response(context) - - # TODO: barrar matérias não existentes - # TODO: barrar criação de ordemdia para materias já incluídas - - ordemdia = OrdemDia() - ordemdia.sessao_plenaria_id = self.object.id - ordemdia.materia_id = materia.id - ordemdia.numero_ordem = request.POST['numero_ordem'] - ordemdia.data_ordem = datetime.now() - ordemdia.observacao = sub(' ', ' ', - strip_tags(request.POST['observacao'])) - ordemdia.tipo_votacao = request.POST['tipo_votacao'] - ordemdia.save() - - return self.form_valid(form) - else: - return self.form_invalid(form) - - def get_success_url(self): - pk = self.kwargs['pk'] - return reverse('sapl.sessao:materiaordemdia_list', - kwargs={'pk': pk}) - - -class EditMateriaOrdemDiaView(FormMixin, SessaoCrud.CrudDetailView): - template_name = 'sessao/materia_ordemdia_edit.html' - form_class = MateriaOrdemDiaForm - - def get(self, request, *args, **kwargs): - self.object = self.get_object() - context = self.get_context_data(object=self.object) - - pk = kwargs['pk'] - oid = kwargs['oid'] - ordem = OrdemDia.objects.get(sessao_plenaria_id=pk, materia_id=oid) - - materia = MateriaLegislativa.objects.get( - id=ordem.materia_id) - - data_ordem = ordem.data_ordem - tipo_votacao = ExpedienteMateria.TIPO_VOTACAO_CHOICES - tipo_sessao = TipoSessaoPlenaria.objects.all() - tipo_materia = TipoMateriaLegislativa.objects.all() - - context.update({'data_sessao': data_ordem, - '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, - 'ordem_id': oid, - 'oid': '', - 'observacao': sub( - ' ', ' ', strip_tags(ordem.observacao)), - 'error_message': '', }) - return self.render_to_response(context) - - def post(self, request, *args, **kwargs): - - self.object = self.get_object() - context = self.get_context_data(object=self.object) - form = MateriaOrdemDiaForm(request.POST) - - pk = kwargs['pk'] - oid = kwargs['oid'] - ordemdia = OrdemDia.objects.get(sessao_plenaria_id=pk, materia_id=oid) - - if 'update-ordemdia' in request.POST: - if form.is_valid(): - try: - materia = MateriaLegislativa.objects.get( - numero=request.POST['numero_materia'], - tipo_id=request.POST['tipo_materia'], - ano=request.POST['ano_materia']) - except ObjectDoesNotExist: - context.update( - {'error_message': _("Matéria inexistente!")}) - return self.form_invalid(form) - - ordemdia.materia_id = materia.id - ordemdia.numero_ordem = request.POST['numero_ordem'] - ordemdia.tipo_votacao = request.POST['tipo_votacao'] - obs = strip_tags(request.POST['observacao']) - ordemdia.observacao = sub(' ', ' ', obs) - ordemdia.save() - return self.form_valid(form) - else: - context = self.get_context_data(object=self.object) - - pk = kwargs['pk'] - oid = kwargs['oid'] - ordem = OrdemDia.objects.get( - sessao_plenaria_id=pk, - materia_id=oid) - - materia = MateriaLegislativa.objects.get( - id=ordem.materia_id) - - data_ordem = ordem.data_ordem - tipo_votacao = ExpedienteMateria.TIPO_VOTACAO_CHOICES - tipo_sessao = TipoSessaoPlenaria.objects.all() - tipo_materia = TipoMateriaLegislativa.objects.all() - - context.update({'data_sessao': data_ordem, - '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, - 'ordem_id': oid, - 'oid': '', - 'observacao': sub( - ' ', ' ', - strip_tags(ordem.observacao)), - 'error_message': '', }) - context.update({'form': form}) - return self.render_to_response(context) - elif 'delete-ordemdia' in request.POST: - ordemdia.delete() - return self.form_valid(form) - - def get_success_url(self): - pk = self.kwargs['pk'] - return reverse('sapl.sessao:materiaordemdia_list', - kwargs={'pk': pk}) - - class MesaView(FormMixin, SessaoCrud.CrudDetailView): template_name = 'sessao/mesa.html' form_class = MesaForm diff --git a/sapl/templates/sessao/OrdemDia.html b/sapl/templates/sessao/OrdemDia.html deleted file mode 100644 index 322bbdcd6..000000000 --- a/sapl/templates/sessao/OrdemDia.html +++ /dev/null @@ -1,12 +0,0 @@ -{% extends "crud/detail.html" %} -{% load i18n %} -{% load crispy_forms_tags %} - -{% block detail_content %} -
- {% csrf_token %} - {{formset}} -
- -
-{% endblock detail_content %} \ No newline at end of file diff --git a/sapl/templates/sessao/expediente_ordemdia_list.html b/sapl/templates/sessao/expediente_ordemdia_list.html deleted file mode 100644 index 45529e447..000000000 --- a/sapl/templates/sessao/expediente_ordemdia_list.html +++ /dev/null @@ -1,85 +0,0 @@ -{% extends "crud/detail.html" %} -{% load i18n %} - -{% block detail_content %} - -{% if form.errors %} -
-
    - {% for field in form %} - {% if field.errors %} - {% if field.label == 'votacao_aberta' %} -
  • Já existe uma matéria com a votação aberta!
    - Para abrir outra, termine ou feche a votação existente!
  • - {% endif %} - {% endif %} - {% endfor %} -
-
-{% endif %} - -Matérias do Expediente - - - - - - - - - {% for m in materias_ordem %} - - - - - - - - {% endfor %} -
MatériaEmentaResultado da Votação
- {{m.numero}} - {{m.titulo}} -   -
- Autor{{m.autor|length|pluralize:"es"}}: {{m.autor|join:', '}} -
{{m.ementa|safe}} - {% if m.resultado %} - {% if m.tipo_votacao == 1 %} - {{m.resultado}} - {% elif m.tipo_votacao == 2 %} - {{m.resultado}} - {% elif m.tipo_votacao == 3%} - {{m.resultado}} - {% endif %} - {% else %} - Matéria não votada
- {% if m.votacao_aberta %} - {% if m.tipo_votacao == 1 %} - Registrar Votação - {% elif m.tipo_votacao == 2 %} - Registrar Votação - {% elif m.tipo_votacao == 3%} - Registrar Votação - {% endif %} - {% else %} -
- {% csrf_token %} - - - -
- {% endif %} - {% endif %} -
-
-
- {% csrf_token %} - - {% trans 'Adicionar Matérias' %} -     - -     - -
- - -{% endblock detail_content %} diff --git a/sapl/templates/sessao/layouts.yaml b/sapl/templates/sessao/layouts.yaml index 981788a4e..a99e224f8 100644 --- a/sapl/templates/sessao/layouts.yaml +++ b/sapl/templates/sessao/layouts.yaml @@ -11,20 +11,6 @@ SessaoPlenaria: - upload_pauta upload_ata - url_audio url_video -ExpedienteMateria: - {% trans 'Cadastro de Matérias do Expediente' %}: - - data_ordem tip_sessao_FIXME numero_ordem - - tip_id_basica_FIXME num_ident_basica_FIXME ano_ident_basica_FIXME - - tipo_votacao - - observacao - -OrdemDia: - {% trans 'Cadastro de Matérias da Ordem do Dia' %}: - - data_ordem tip_sessao_FIXME numero_ordem - - tip_id_basica_FIXME num_ident_basica_FIXME ano_ident_basica_FIXME - - tipo_votacao - - observacao - TipoResultadoVotacao: {% trans 'Tipo de Resultado da Votação' %}: - nome @@ -55,12 +41,25 @@ ExpedienteMateria: - tipo_votacao - observacao +OrdemDia: + {% trans 'Matéria da Ordem do Dia' %}: + - data_ordem numero_ordem + - tipo_materia numero_materia ano_materia + - tipo_votacao + - observacao + ExpedienteMateriaDetail: {% trans 'Matérias do Expediente' %}: - materia - tipo_votacao - observacao +OrdemDiaDetail: + {% trans 'Matérias da Ordem do Dia' %}: + - materia + - tipo_votacao + - observacao + Bancada: {% trans 'Bancada' %}: - legislatura diff --git a/sapl/templates/sessao/materia_ordemdia.html b/sapl/templates/sessao/materia_ordemdia.html deleted file mode 100644 index e848827c3..000000000 --- a/sapl/templates/sessao/materia_ordemdia.html +++ /dev/null @@ -1,76 +0,0 @@ -{% extends "crud/detail.html" %} -{% load i18n %} - -{% block detail_content %} -
- {{ error_message }} -
- -{% if form.errors %} -
-

Os seguintes erros foram encontrados:

-
    - {% for field in form %} - {% if field.errors %} - {% if field.label == 'Matéria' %} -
  • Matéria inexistente!
  • - {% else %} -
  • O campo {{field.label}} é obrigatório!
  • - {% endif %} - {% endif %} - {% endfor %} -
-
-{% endif %} - -
- {% csrf_token %} - -
-
Data da Sessão:
- -
- Tipo da Sessão: -
-
Número Ordem:
-
- -
-
- Tipo Matéria: - -
-
Número Matéria:
-
Ano Matéria:
-
- -
-
- Tipo Votação: - -
-
- -
-
Ementa:
-
- - - -
-{% endblock detail_content %} diff --git a/sapl/templates/sessao/materia_ordemdia_edit.html b/sapl/templates/sessao/materia_ordemdia_edit.html deleted file mode 100644 index ed9987dfe..000000000 --- a/sapl/templates/sessao/materia_ordemdia_edit.html +++ /dev/null @@ -1,74 +0,0 @@ -{% extends "crud/detail.html" %} -{% load i18n %} -{% load crispy_forms_tags %} -{% block detail_content %} -
- {{ error_message }} -
- -{% if form.errors %} -
-

Os seguintes erros foram encontrados:

-
    - {% for field in form %} - {% if field.errors %} -
  • O campo {{field.label}} é obrigatório!
  • - {% endif %} - {% endfor %} -
-
-{% endif %} - -
- {% csrf_token %} - -
-
Data da Sessão:
- -
- Tipo da Sessão: -
-
Número Ordem:
-
- -
-
- Tipo Matéria: - -
-
Número Matéria:
-
Ano Matéria:
-
- -
-
- Tipo Votação: - -
-
- -
-
Ementa:
-
-
- - - - -
-{% endblock detail_content %} diff --git a/sapl/templates/sessao/subnav.yaml b/sapl/templates/sessao/subnav.yaml index e6a32279d..cca959a10 100644 --- a/sapl/templates/sessao/subnav.yaml +++ b/sapl/templates/sessao/subnav.yaml @@ -22,7 +22,7 @@ - title: {% trans 'Ordem do Dia' %} children: - title: {% trans 'Matérias Ordem do Dia' %} - url: materiaordemdia_list + url: ordemdia_list - title: {% trans 'Presença Ordem do Dia' %} url: presencaordemdia