Browse Source

Migrando views e forms de bancada para app de parlamentares

pull/2760/head
ulyssesBML 7 years ago
parent
commit
54202080b9
  1. 4
      sapl/legacy/test_renames.py
  2. 37
      sapl/parlamentares/forms.py
  3. 8
      sapl/parlamentares/urls.py
  4. 18
      sapl/parlamentares/views.py
  5. 37
      sapl/sessao/forms.py
  6. 6
      sapl/sessao/urls.py
  7. 14
      sapl/sessao/views.py
  8. 2
      sapl/templates/menu_tabelas_auxiliares.yaml
  9. 7
      sapl/templates/parlamentares/layouts.yaml
  10. 7
      sapl/templates/sessao/layouts.yaml

4
sapl/legacy/test_renames.py

@ -13,9 +13,9 @@ from sapl.materia.models import (AcompanhamentoMateria, DocumentoAcessorio,
from sapl.norma.models import (AnexoNormaJuridica, NormaJuridica,
NormaRelacionada, TipoVinculoNormaJuridica)
from sapl.parlamentares.models import (Frente, Mandato, Parlamentar, Partido,
TipoAfastamento, Votante)
TipoAfastamento, Votante, Bloco)
from sapl.protocoloadm.models import DocumentoAdministrativo
from sapl.sessao.models import (Bancada, Bloco, CargoBancada,
from sapl.sessao.models import (Bancada, CargoBancada,
ExpedienteMateria, Orador, OradorExpediente,
OrdemDia, RegistroVotacao, ResumoOrdenacao,
SessaoPlenaria, TipoResultadoVotacao,

37
sapl/parlamentares/forms.py

@ -23,7 +23,7 @@ from sapl.rules import SAPL_GROUP_VOTANTE
import django_filters
from .models import (ComposicaoColigacao, Filiacao, Frente, Legislatura,
Mandato, Parlamentar, Votante)
Mandato, Parlamentar, Votante, Bloco)
class ImageThumbnailFileInput(ClearableFileInput):
@ -568,3 +568,38 @@ class VincularParlamentarForm(forms.Form):
raise ValidationError(_('Data da Expedição do Diploma deve ser anterior a data de início da Legislatura.'))
return cleaned_data
class BlocoForm(ModelForm):
class Meta:
model = Bloco
fields = ['nome', 'partidos', 'data_criacao',
'data_extincao', 'descricao']
def clean(self):
super(BlocoForm, self).clean()
if not self.is_valid():
return self.cleaned_data
if self.cleaned_data['data_extincao']:
if (self.cleaned_data['data_extincao'] <
self.cleaned_data['data_criacao']):
msg = _('Data de extinção não pode ser menor que a de criação')
raise ValidationError(msg)
return self.cleaned_data
@transaction.atomic
def save(self, commit=True):
bloco = super(BlocoForm, self).save(commit)
content_type = ContentType.objects.get_for_model(Bloco)
object_id = bloco.pk
tipo = TipoAutor.objects.get(content_type=content_type)
Autor.objects.create(
content_type=content_type,
object_id=object_id,
tipo=tipo,
nome=bloco.nome
)
return bloco

8
sapl/parlamentares/urls.py

@ -18,7 +18,7 @@ from sapl.parlamentares.views import (CargoMesaCrud, ColigacaoCrud,
insere_parlamentar_composicao,
parlamentares_frente_selected,
remove_parlamentar_composicao,
parlamentares_filiados,
parlamentares_filiados, BlocoCrud,
PesquisarParlamentarView, VincularParlamentarView)
from .apps import AppConfig
@ -46,8 +46,9 @@ urlpatterns = [
url(r'^sistema/coligacao/',
include(ColigacaoCrud.get_urls() +
ComposicaoColigacaoCrud.get_urls())),
ComposicaoColigacaoCrud.get_urls())),
url(r'^sistema/bloco/',
include(BlocoCrud.get_urls())),
url(r'^sistema/frente/',
include(FrenteCrud.get_urls())),
url(r'^sistema/frente/atualiza-lista-parlamentares',
@ -89,4 +90,5 @@ urlpatterns = [
url(r'^mesa-diretora/remove-parlamentar-composicao/$',
remove_parlamentar_composicao, name='remove_parlamentar_composicao'),
]

18
sapl/parlamentares/views.py

@ -34,11 +34,15 @@ from sapl.parlamentares.apps import AppConfig
from sapl.utils import (parlamentares_ativos, show_results_filter_set)
from .forms import (FiliacaoForm, FrenteForm, LegislaturaForm, MandatoForm,
ParlamentarCreateForm, ParlamentarForm, VotanteForm, ParlamentarFilterSet, VincularParlamentarForm)
ParlamentarCreateForm, ParlamentarForm, VotanteForm,
ParlamentarFilterSet, VincularParlamentarForm,
BlocoForm)
from .models import (CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa,
Dependente, Filiacao, Frente, Legislatura, Mandato,
NivelInstrucao, Parlamentar, Partido, SessaoLegislativa,
SituacaoMilitar, TipoAfastamento, TipoDependente, Votante)
SituacaoMilitar, TipoAfastamento, TipoDependente, Votante,
Bloco)
CargoMesaCrud = CrudAux.build(CargoMesa, 'cargo_mesa')
@ -1160,3 +1164,13 @@ class VincularParlamentarView(PermissionRequiredMixin, FormView):
mandato.save()
return HttpResponseRedirect(self.get_success_url())
class BlocoCrud(CrudAux):
model = Bloco
class CreateView(CrudAux.CreateView):
form_class = BlocoForm
def get_success_url(self):
return reverse('sapl.parlamentares:bloco_list')

37
sapl/sessao/forms.py

@ -17,7 +17,7 @@ from sapl.crispy_layout_mixin import form_actions, to_row, SaplFormLayout
from sapl.materia.forms import MateriaLegislativaFilterSet
from sapl.materia.models import (MateriaLegislativa, StatusTramitacao,
TipoMateriaLegislativa)
from sapl.parlamentares.models import Parlamentar, Mandato, Bloco
from sapl.parlamentares.models import Parlamentar, Mandato
from sapl.utils import (RANGE_DIAS_MES, RANGE_MESES,
MateriaPesquisaOrderingFilter, autor_label,
autor_modal, timezone, choice_anos_com_sessaoplenaria,
@ -316,41 +316,6 @@ class BancadaForm(ModelForm):
return bancada
class BlocoForm(ModelForm):
class Meta:
model = Bloco
fields = ['nome', 'partidos', 'data_criacao',
'data_extincao', 'descricao']
def clean(self):
super(BlocoForm, self).clean()
if not self.is_valid():
return self.cleaned_data
if self.cleaned_data['data_extincao']:
if (self.cleaned_data['data_extincao'] <
self.cleaned_data['data_criacao']):
msg = _('Data de extinção não pode ser menor que a de criação')
raise ValidationError(msg)
return self.cleaned_data
@transaction.atomic
def save(self, commit=True):
bloco = super(BlocoForm, self).save(commit)
content_type = ContentType.objects.get_for_model(Bloco)
object_id = bloco.pk
tipo = TipoAutor.objects.get(content_type=content_type)
Autor.objects.create(
content_type=content_type,
object_id=object_id,
tipo=tipo,
nome=bloco.nome
)
return bloco
class ExpedienteMateriaForm(ModelForm):
_model = ExpedienteMateria

6
sapl/sessao/urls.py

@ -2,8 +2,8 @@ from django.conf.urls import include, url
from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
AdicionarVariasMateriasOrdemDia, BancadaCrud,
BlocoCrud, CargoBancadaCrud,
ExpedienteMateriaCrud, ExpedienteView, JustificativaAusenciaCrud,
CargoBancadaCrud, ExpedienteMateriaCrud,
ExpedienteView, JustificativaAusenciaCrud,
OcorrenciaSessaoView, MateriaOrdemDiaCrud, OradorOrdemDiaCrud,
MesaView, OradorCrud,
OradorExpedienteCrud, PainelView,
@ -96,8 +96,6 @@ urlpatterns = [
include(TipoRetiradaPautaCrud.get_urls())),
url(r'^sistema/bancada/',
include(BancadaCrud.get_urls())),
url(r'^sistema/bloco/',
include(BlocoCrud.get_urls())),
url(r'^sistema/cargo-bancada/',
include(CargoBancadaCrud.get_urls())),
url(r'^sistema/resumo-ordenacao/',

14
sapl/sessao/views.py

@ -32,12 +32,12 @@ from sapl.materia.models import (Autoria, TipoMateriaLegislativa,
Tramitacao)
from sapl.materia.views import MateriaLegislativaPesquisaView
from sapl.parlamentares.models import (Filiacao, Legislatura, Mandato,
Parlamentar, SessaoLegislativa, Bloco)
Parlamentar, SessaoLegislativa)
from sapl.sessao.apps import AppConfig
from sapl.sessao.forms import ExpedienteMateriaForm, OrdemDiaForm
from sapl.utils import show_results_filter_set, remover_acentos, get_client_ip
from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm, BlocoForm,
from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm,
ExpedienteForm, JustificativaAusenciaForm, OcorrenciaSessaoForm, ListMateriaForm,
MesaForm, OradorExpedienteForm, OradorForm, PautaSessaoFilterSet,
PresencaForm, ResumoOrdenacaoForm, SessaoPlenariaFilterSet,
@ -679,16 +679,6 @@ class BancadaCrud(CrudAux):
return reverse('sapl.sessao:bancada_list')
class BlocoCrud(CrudAux):
model = Bloco
class CreateView(CrudAux.CreateView):
form_class = BlocoForm
def get_success_url(self):
return reverse('sapl.sessao:bloco_list')
def recuperar_numero_sessao(request):
try:
sessao = SessaoPlenaria.objects.filter(

2
sapl/templates/menu_tabelas_auxiliares.yaml

@ -78,7 +78,7 @@
url: sapl.parlamentares:frente_list
css_class: btn btn-link
- title: {% trans 'Bloco Parlamentar' %}
url: sapl.sessao:bloco_list
url: sapl.parlamentares:bloco_list
css_class: btn btn-link
- title: {% trans 'Módulo Proposições' %}
css_class: head_title

7
sapl/templates/parlamentares/layouts.yaml

@ -127,3 +127,10 @@ Votante:
{% trans 'Votante' %}:
- parlamentar user
- data
Bloco:
{% trans 'Bloco' %}:
- nome
- data_criacao data_extincao
- partidos
- descricao

7
sapl/templates/sessao/layouts.yaml

@ -84,13 +84,6 @@ CargoBancada:
{% trans 'Cargo de Bancada' %}:
- nome_cargo:8 cargo_unico
Bloco:
{% trans 'Bloco' %}:
- nome
- data_criacao data_extincao
- partidos
- descricao
TipoJustificativa:
{% trans 'Tipo de Justificativa' %}:
- descricao

Loading…
Cancel
Save