Browse Source

alterando para PresencaReuniaoComissao

pull/3034/head
ricardocanela 6 years ago
parent
commit
c0d6f3c928
  1. 2
      sapl/comissoes/forms.py
  2. 29
      sapl/comissoes/migrations/0022_presencareuniaocomissao.py
  3. 4
      sapl/comissoes/models.py
  4. 4
      sapl/comissoes/urls.py
  5. 20
      sapl/comissoes/views.py
  6. 2
      sapl/rules/map_rules.py

2
sapl/comissoes/forms.py

@ -515,6 +515,6 @@ class DocumentoAcessorioEditForm(FileFieldCheckMixin, forms.ModelForm):
return self.cleaned_data return self.cleaned_data
class PresencaForm(forms.Form): class PresencaReuniaoComissaoForm(forms.Form):
presenca = forms.CharField(required=False, initial=False) presenca = forms.CharField(required=False, initial=False)
parlamentar = forms.CharField(required=False, max_length=20) parlamentar = forms.CharField(required=False, max_length=20)

29
sapl/comissoes/migrations/0022_presencareuniaocomissao.py

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-11-08 13:13
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0035_merge_20190802_0954'),
('comissoes', '0021_auto_20191001_1115'),
]
operations = [
migrations.CreateModel(
name='PresencaReuniaoComissao',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')),
('reuniao', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='presencareuniaocomissao_set', to='comissoes.Reuniao')),
],
options={
'verbose_name': 'Presença em Reunião de Comissão',
'verbose_name_plural': 'Presenças em Reuniões de Comissão',
},
),
]

4
sapl/comissoes/models.py

@ -308,9 +308,9 @@ class Reuniao(models.Model):
@reversion.register() @reversion.register()
class PresencaReuniao(models.Model): class PresencaReuniaoComissao(models.Model):
reuniao = models.ForeignKey(Reuniao, reuniao = models.ForeignKey(Reuniao,
related_name='presencareuniao_set', related_name='presencareuniaocomissao_set',
on_delete=models.CASCADE) on_delete=models.CASCADE)
parlamentar = models.ForeignKey(Parlamentar, on_delete=models.PROTECT) parlamentar = models.ForeignKey(Parlamentar, on_delete=models.PROTECT)

4
sapl/comissoes/urls.py

@ -2,7 +2,7 @@ from django.conf.urls import include, url
from sapl.comissoes.views import (CargoCrud, ComissaoCrud, ComposicaoCrud, from sapl.comissoes.views import (CargoCrud, ComissaoCrud, ComposicaoCrud,
DocumentoAcessorioCrud, MateriasTramitacaoListView, ParticipacaoCrud, DocumentoAcessorioCrud, MateriasTramitacaoListView, ParticipacaoCrud,
PeriodoComposicaoCrud, ReuniaoCrud, TipoComissaoCrud, get_participacoes_comissao, PeriodoComposicaoCrud, ReuniaoCrud, TipoComissaoCrud, get_participacoes_comissao,
AdicionaPautaView, RemovePautaView, PresencaView) AdicionaPautaView, RemovePautaView, PresencaReuniaoComissaoView)
from .apps import AppConfig from .apps import AppConfig
@ -27,5 +27,5 @@ urlpatterns = [
url(r'^sistema/comissao/tipo/', include(TipoComissaoCrud.get_urls())), url(r'^sistema/comissao/tipo/', include(TipoComissaoCrud.get_urls())),
url(r'^sistema/comissao/recupera-participacoes', get_participacoes_comissao), url(r'^sistema/comissao/recupera-participacoes', get_participacoes_comissao),
url(r'^comissao/(?P<pk>\d+)/presenca$', url(r'^comissao/(?P<pk>\d+)/presenca$',
PresencaView.as_view(), name='presenca'), PresencaReuniaoComissaoView.as_view(), name='presenca'),
] ]

20
sapl/comissoes/views.py

@ -21,7 +21,7 @@ from sapl.comissoes.forms import (ComissaoForm, ComposicaoForm,
DocumentoAcessorioEditForm, DocumentoAcessorioEditForm,
ParticipacaoCreateForm, ParticipacaoEditForm, ParticipacaoCreateForm, ParticipacaoEditForm,
PautaReuniaoForm, PeriodoForm, ReuniaoForm, PautaReuniaoForm, PeriodoForm, ReuniaoForm,
PautaReuniaoFilterSet, PresencaForm) PautaReuniaoFilterSet, PresencaReuniaoComissaoForm)
from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux, from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux,
MasterDetailCrud, MasterDetailCrud,
PermissionRequiredForAppCrudMixin) PermissionRequiredForAppCrudMixin)
@ -32,7 +32,7 @@ from sapl.utils import show_results_filter_set
from sapl.parlamentares.models import Parlamentar from sapl.parlamentares.models import Parlamentar
from .models import (CargoComissao, Comissao, Composicao, DocumentoAcessorio, from .models import (CargoComissao, Comissao, Composicao, DocumentoAcessorio,
Participacao, Periodo, Reuniao, TipoComissao, PresencaReuniao) Participacao, Periodo, Reuniao, TipoComissao, PresencaReuniaoComissao)
def pegar_url_composicao(pk): def pegar_url_composicao(pk):
@ -219,7 +219,7 @@ class ReuniaoCrud(MasterDetailCrud):
context['num_docs'] = len(docs) context['num_docs'] = len(docs)
presenca = [] presenca = []
presenca_reuniao = PresencaReuniao.objects.filter(reuniao=self.kwargs['pk']) presenca_reuniao = PresencaReuniaoComissao.objects.filter(reuniao=self.kwargs['pk'])
presenca.extend(presenca_reuniao) presenca.extend(presenca_reuniao)
context['presenca'] = presenca context['presenca'] = presenca
@ -285,9 +285,9 @@ class ReuniaoCrud(MasterDetailCrud):
return {'comissao': comissao} return {'comissao': comissao}
class PresencaView(FormMixin, DetailView): class PresencaReuniaoComissaoView(FormMixin, DetailView):
template_name = 'comissoes/presenca.html' template_name = 'comissoes/presenca.html'
form_class = PresencaForm form_class = PresencaReuniaoComissaoForm
model = Reuniao model = Reuniao
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -295,7 +295,7 @@ class PresencaView(FormMixin, DetailView):
pk = self.kwargs['pk'] pk = self.kwargs['pk']
presencas = PresencaReuniao.objects.filter(reuniao=pk) presencas = PresencaReuniaoComissao.objects.filter(reuniao=pk)
presentes = [p.parlamentar for p in presencas] presentes = [p.parlamentar for p in presencas]
periodo = Reuniao.objects.get(pk=pk).periodo periodo = Reuniao.objects.get(pk=pk).periodo
@ -321,7 +321,7 @@ class PresencaView(FormMixin, DetailView):
if form.is_valid(): if form.is_valid():
# Pegar os presentes salvos no banco # Pegar os presentes salvos no banco
presentes_banco = PresencaReuniao.objects.filter( presentes_banco = PresencaReuniaoComissao.objects.filter(
reuniao_id=self.object.id).values_list( reuniao_id=self.object.id).values_list(
'parlamentar_id', flat=True).distinct() 'parlamentar_id', flat=True).distinct()
@ -331,18 +331,18 @@ class PresencaView(FormMixin, DetailView):
# Deletar os que foram desmarcados # Deletar os que foram desmarcados
deletar = set(presentes_banco) - set(marcados) deletar = set(presentes_banco) - set(marcados)
PresencaReuniao.objects.filter( PresencaReuniaoComissao.objects.filter(
parlamentar_id__in=deletar, parlamentar_id__in=deletar,
reuniao_id=self.object.id).delete() reuniao_id=self.object.id).delete()
for p in marcados: for p in marcados:
presenca_reuniao = PresencaReuniao() presenca_reuniao = PresencaReuniaoComissao()
presenca_reuniao.reuniao = Reuniao.objects.get(pk=self.kwargs['pk']) presenca_reuniao.reuniao = Reuniao.objects.get(pk=self.kwargs['pk'])
presenca_reuniao.parlamentar = Parlamentar.objects.get(id=p) presenca_reuniao.parlamentar = Parlamentar.objects.get(id=p)
presenca_reuniao.save() presenca_reuniao.save()
username = request.user.username username = request.user.username
self.logger.info( self.logger.info(
"user=" + username + ". PresencaReuniao salva com sucesso (parlamentar_id={})!".format(p)) "user=" + username + ". PresencaReuniaoComissao salva com sucesso (parlamentar_id={})!".format(p))
msg = _('Presença em Reuniao de Comissão salva com sucesso!') msg = _('Presença em Reuniao de Comissão salva com sucesso!')
messages.add_message(request, messages.SUCCESS, msg) messages.add_message(request, messages.SUCCESS, msg)

2
sapl/rules/map_rules.py

@ -110,7 +110,7 @@ rules_group_comissoes = {
(materia.Relatoria, __base__, __perms_publicas__), (materia.Relatoria, __base__, __perms_publicas__),
(comissoes.Reuniao, __base__, __perms_publicas__), (comissoes.Reuniao, __base__, __perms_publicas__),
(comissoes.DocumentoAcessorio, __base__, __perms_publicas__), (comissoes.DocumentoAcessorio, __base__, __perms_publicas__),
(comissoes.PresencaReuniao, __base__, __perms_publicas__), (comissoes.PresencaReuniaoComissao, __base__, __perms_publicas__),
] ]
} }

Loading…
Cancel
Save