Sistema de Apoio ao Processo Legislativo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

280 lines
9.5 KiB

Adiciona logging em nível de aplicação (#2309) * Mudanças no arquivo settings para uso de Log Loggers inseridos em sessao/views.py alteracao no gitignore adicionados loggers em audiencia e base terminados os logs de comissoes loggers na view do app materia loggers feitos nos forms de materia e no app norma adicionado logging no app painel adicionados loggins no app parlamentares adicionados loggins no app protocoloadm adicionados loggins no app redireciona_urls adicionados loggings no app relatorios adicionados loggings no app rules adicionados loggings no app api adicionados loggings nos apps crud e compilacao Fix typo Adicionando informação de host no log (em progresso) Comentando trecho com problema correcao do logger, tirando-o das funcoes e colocando na classe correcao do logger, tirando-o das funcoes e colocando na classe concluido Conserta log errado no import Remove arquivo desnecessário Remove arquivo desnecessário Remove chamada ao pdb Adiciona logger ausente em DevolverProposicaoForm correcoes nos loggins para api, audiencia e base correcoes nos loggins para comissoes correcoes nos loggins para compilacao correcoes nos loggins para crud correcoes nos loggins para materia correcoes nos loggings para o arquivo views.py de norma correção de bugs. Correção de bugs no funcionamento do log. Informação de IP do host ainda não funciona corretamente. Com endereço IP. Faltando confirmar se o endereço está correto. correcoes nos loggings para o app norma correcoes nos loggings para os apps painel e parlamentares correcoes nos loggings para o app protocoloadm mais correcoes nos loggings para o app protocoloadm correcoes nos loggings para o app redireciona_urls correcoes nos loggins para o app relatorios correcoes nos loggins em forms de parlamentares correcoes nos loggins em views de protocoloadm correcao nos loggings de sessao inserido o hostname no log testando logger com username Inserção username no log. Incompleto. logging username nos apps materia, norma e painel alteracao no padrao de logging até painel alteracao no padrao de logging novas correcoes nos loggings * correções
6 years ago
import logging
from django.core.urlresolvers import reverse
from django.db.models import F
from django.http.response import HttpResponseRedirect
from django.views.decorators.clickjacking import xframe_options_exempt
from django.views.generic import ListView
from django.views.generic.base import RedirectView
from django.views.generic.detail import DetailView
from django.views.generic.edit import FormMixin
from sapl.base.models import AppConfig as AppsAppConfig
from sapl.comissoes.apps import AppConfig
from sapl.comissoes.forms import (ComissaoForm, ComposicaoForm,
DocumentoAcessorioCreateForm,
DocumentoAcessorioEditForm,
ParticipacaoCreateForm, ParticipacaoEditForm,
PeriodoForm, ReuniaoForm)
from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux,
MasterDetailCrud,
PermissionRequiredForAppCrudMixin)
from sapl.materia.models import MateriaLegislativa, Tramitacao
from .models import (CargoComissao, Comissao, Composicao, DocumentoAcessorio,
Participacao, Periodo, Reuniao, TipoComissao)
def pegar_url_composicao(pk):
participacao = Participacao.objects.get(id=pk)
comp_pk = participacao.composicao.pk
url = reverse('sapl.comissoes:composicao_detail', kwargs={'pk': comp_pk})
return url
def pegar_url_reuniao(pk):
documentoacessorio = DocumentoAcessorio.objects.get(id=pk)
r_pk = documentoacessorio.reuniao.pk
url = reverse('sapl.comissoes:reuniao_detail', kwargs={'pk': r_pk})
return url
7 years ago
CargoCrud = CrudAux.build(CargoComissao, 'cargo_comissao')
TipoComissaoCrud = CrudAux.build(
TipoComissao, 'tipo_comissao', list_field_names=[
'sigla', 'nome', 'natureza', 'dispositivo_regimental'])
class PeriodoComposicaoCrud(CrudAux):
model = Periodo
class CreateView(CrudAux.CreateView):
form_class = PeriodoForm
class UpdateView(CrudAux.UpdateView):
form_class = PeriodoForm
# class ListView(CrudAux.ListView):
7 years ago
class ParticipacaoCrud(MasterDetailCrud):
model = Participacao
parent_field = 'composicao__comissao'
8 years ago
public = [RP_DETAIL, ]
ListView = None
8 years ago
link_return_to_parent_field = True
class BaseMixin(MasterDetailCrud.BaseMixin):
list_field_names = ['composicao', 'parlamentar', 'cargo']
class CreateView(MasterDetailCrud.CreateView):
form_class = ParticipacaoCreateForm
def get_initial(self):
initial = super().get_initial()
initial['parent_pk'] = self.kwargs['pk']
return initial
class UpdateView(MasterDetailCrud.UpdateView):
layout_key = 'ParticipacaoEdit'
form_class = ParticipacaoEditForm
class DeleteView(MasterDetailCrud.DeleteView):
def get_success_url(self):
composicao_comissao_pk = self.object.composicao.comissao.pk
composicao_pk = self.object.composicao.pk
return '{}?pk={}'.format(reverse('sapl.comissoes:composicao_list',
args=[composicao_comissao_pk]),
composicao_pk)
class ComposicaoCrud(MasterDetailCrud):
model = Composicao
parent_field = 'comissao'
model_set = 'participacao_set'
8 years ago
public = [RP_LIST, RP_DETAIL, ]
class CreateView(MasterDetailCrud.CreateView):
form_class = ComposicaoForm
def get_initial(self):
comissao = Comissao.objects.get(id=self.kwargs['pk'])
return {'comissao': comissao}
8 years ago
class ListView(MasterDetailCrud.ListView):
Adiciona logging em nível de aplicação (#2309) * Mudanças no arquivo settings para uso de Log Loggers inseridos em sessao/views.py alteracao no gitignore adicionados loggers em audiencia e base terminados os logs de comissoes loggers na view do app materia loggers feitos nos forms de materia e no app norma adicionado logging no app painel adicionados loggins no app parlamentares adicionados loggins no app protocoloadm adicionados loggins no app redireciona_urls adicionados loggings no app relatorios adicionados loggings no app rules adicionados loggings no app api adicionados loggings nos apps crud e compilacao Fix typo Adicionando informação de host no log (em progresso) Comentando trecho com problema correcao do logger, tirando-o das funcoes e colocando na classe correcao do logger, tirando-o das funcoes e colocando na classe concluido Conserta log errado no import Remove arquivo desnecessário Remove arquivo desnecessário Remove chamada ao pdb Adiciona logger ausente em DevolverProposicaoForm correcoes nos loggins para api, audiencia e base correcoes nos loggins para comissoes correcoes nos loggins para compilacao correcoes nos loggins para crud correcoes nos loggins para materia correcoes nos loggings para o arquivo views.py de norma correção de bugs. Correção de bugs no funcionamento do log. Informação de IP do host ainda não funciona corretamente. Com endereço IP. Faltando confirmar se o endereço está correto. correcoes nos loggings para o app norma correcoes nos loggings para os apps painel e parlamentares correcoes nos loggings para o app protocoloadm mais correcoes nos loggings para o app protocoloadm correcoes nos loggings para o app redireciona_urls correcoes nos loggins para o app relatorios correcoes nos loggins em forms de parlamentares correcoes nos loggins em views de protocoloadm correcao nos loggings de sessao inserido o hostname no log testando logger com username Inserção username no log. Incompleto. logging username nos apps materia, norma e painel alteracao no padrao de logging até painel alteracao no padrao de logging novas correcoes nos loggings * correções
6 years ago
logger = logging.getLogger(__name__)
8 years ago
template_name = "comissoes/composicao_list.html"
paginate_by = None
def take_composicao_pk(self):
Adiciona logging em nível de aplicação (#2309) * Mudanças no arquivo settings para uso de Log Loggers inseridos em sessao/views.py alteracao no gitignore adicionados loggers em audiencia e base terminados os logs de comissoes loggers na view do app materia loggers feitos nos forms de materia e no app norma adicionado logging no app painel adicionados loggins no app parlamentares adicionados loggins no app protocoloadm adicionados loggins no app redireciona_urls adicionados loggings no app relatorios adicionados loggings no app rules adicionados loggings no app api adicionados loggings nos apps crud e compilacao Fix typo Adicionando informação de host no log (em progresso) Comentando trecho com problema correcao do logger, tirando-o das funcoes e colocando na classe correcao do logger, tirando-o das funcoes e colocando na classe concluido Conserta log errado no import Remove arquivo desnecessário Remove arquivo desnecessário Remove chamada ao pdb Adiciona logger ausente em DevolverProposicaoForm correcoes nos loggins para api, audiencia e base correcoes nos loggins para comissoes correcoes nos loggins para compilacao correcoes nos loggins para crud correcoes nos loggins para materia correcoes nos loggings para o arquivo views.py de norma correção de bugs. Correção de bugs no funcionamento do log. Informação de IP do host ainda não funciona corretamente. Com endereço IP. Faltando confirmar se o endereço está correto. correcoes nos loggings para o app norma correcoes nos loggings para os apps painel e parlamentares correcoes nos loggings para o app protocoloadm mais correcoes nos loggings para o app protocoloadm correcoes nos loggings para o app redireciona_urls correcoes nos loggins para o app relatorios correcoes nos loggins em forms de parlamentares correcoes nos loggins em views de protocoloadm correcao nos loggings de sessao inserido o hostname no log testando logger com username Inserção username no log. Incompleto. logging username nos apps materia, norma e painel alteracao no padrao de logging até painel alteracao no padrao de logging novas correcoes nos loggings * correções
6 years ago
username = self.request.user.username
8 years ago
try:
Adiciona logging em nível de aplicação (#2309) * Mudanças no arquivo settings para uso de Log Loggers inseridos em sessao/views.py alteracao no gitignore adicionados loggers em audiencia e base terminados os logs de comissoes loggers na view do app materia loggers feitos nos forms de materia e no app norma adicionado logging no app painel adicionados loggins no app parlamentares adicionados loggins no app protocoloadm adicionados loggins no app redireciona_urls adicionados loggings no app relatorios adicionados loggings no app rules adicionados loggings no app api adicionados loggings nos apps crud e compilacao Fix typo Adicionando informação de host no log (em progresso) Comentando trecho com problema correcao do logger, tirando-o das funcoes e colocando na classe correcao do logger, tirando-o das funcoes e colocando na classe concluido Conserta log errado no import Remove arquivo desnecessário Remove arquivo desnecessário Remove chamada ao pdb Adiciona logger ausente em DevolverProposicaoForm correcoes nos loggins para api, audiencia e base correcoes nos loggins para comissoes correcoes nos loggins para compilacao correcoes nos loggins para crud correcoes nos loggins para materia correcoes nos loggings para o arquivo views.py de norma correção de bugs. Correção de bugs no funcionamento do log. Informação de IP do host ainda não funciona corretamente. Com endereço IP. Faltando confirmar se o endereço está correto. correcoes nos loggings para o app norma correcoes nos loggings para os apps painel e parlamentares correcoes nos loggings para o app protocoloadm mais correcoes nos loggings para o app protocoloadm correcoes nos loggings para o app redireciona_urls correcoes nos loggins para o app relatorios correcoes nos loggins em forms de parlamentares correcoes nos loggins em views de protocoloadm correcao nos loggings de sessao inserido o hostname no log testando logger com username Inserção username no log. Incompleto. logging username nos apps materia, norma e painel alteracao no padrao de logging até painel alteracao no padrao de logging novas correcoes nos loggings * correções
6 years ago
self.logger.debug('user=' + username + '. Tentando obter pk da composição.')
8 years ago
return int(self.request.GET['pk'])
Adiciona logging em nível de aplicação (#2309) * Mudanças no arquivo settings para uso de Log Loggers inseridos em sessao/views.py alteracao no gitignore adicionados loggers em audiencia e base terminados os logs de comissoes loggers na view do app materia loggers feitos nos forms de materia e no app norma adicionado logging no app painel adicionados loggins no app parlamentares adicionados loggins no app protocoloadm adicionados loggins no app redireciona_urls adicionados loggings no app relatorios adicionados loggings no app rules adicionados loggings no app api adicionados loggings nos apps crud e compilacao Fix typo Adicionando informação de host no log (em progresso) Comentando trecho com problema correcao do logger, tirando-o das funcoes e colocando na classe correcao do logger, tirando-o das funcoes e colocando na classe concluido Conserta log errado no import Remove arquivo desnecessário Remove arquivo desnecessário Remove chamada ao pdb Adiciona logger ausente em DevolverProposicaoForm correcoes nos loggins para api, audiencia e base correcoes nos loggins para comissoes correcoes nos loggins para compilacao correcoes nos loggins para crud correcoes nos loggins para materia correcoes nos loggings para o arquivo views.py de norma correção de bugs. Correção de bugs no funcionamento do log. Informação de IP do host ainda não funciona corretamente. Com endereço IP. Faltando confirmar se o endereço está correto. correcoes nos loggings para o app norma correcoes nos loggings para os apps painel e parlamentares correcoes nos loggings para o app protocoloadm mais correcoes nos loggings para o app protocoloadm correcoes nos loggings para o app redireciona_urls correcoes nos loggins para o app relatorios correcoes nos loggins em forms de parlamentares correcoes nos loggins em views de protocoloadm correcao nos loggings de sessao inserido o hostname no log testando logger com username Inserção username no log. Incompleto. logging username nos apps materia, norma e painel alteracao no padrao de logging até painel alteracao no padrao de logging novas correcoes nos loggings * correções
6 years ago
except Exception as e:
self.logger.error('user=' + username + '. Erro ao obter pk da composição. Retornado 0. ' + str(e))
8 years ago
return 0
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
composicao_pk = self.take_composicao_pk()
if composicao_pk == 0:
7 years ago
# Composicao eh ordenada por Periodo, que por sua vez esta em
# ordem descrescente de data de inicio (issue #1920)
ultima_composicao = context['composicao_list'].first()
if ultima_composicao:
context['composicao_pk'] = ultima_composicao.pk
else:
context['composicao_pk'] = 0
else:
context['composicao_pk'] = composicao_pk
8 years ago
context['participacao_set'] = Participacao.objects.filter(
composicao__pk=context['composicao_pk']
).order_by('id')
8 years ago
return context
class ComissaoCrud(Crud):
model = Comissao
help_topic = 'modulo_comissoes'
8 years ago
public = [RP_LIST, RP_DETAIL, ]
class BaseMixin(Crud.BaseMixin):
list_field_names = ['nome', 'sigla', 'tipo',
'data_criacao', 'data_extincao', 'ativa']
ordering = '-ativa', 'sigla'
class CreateView(Crud.CreateView):
form_class = ComissaoForm
def form_valid(self, form):
return super(Crud.CreateView, self).form_valid(form)
class UpdateView(Crud.UpdateView):
form_class = ComissaoForm
def form_valid(self, form):
return super(Crud.UpdateView, self).form_valid(form)
7 years ago
class MateriasTramitacaoListView(ListView):
template_name = "comissoes/materias_em_tramitacao.html"
paginate_by = 10
def get_queryset(self):
8 years ago
# FIXME: Otimizar consulta
ts = Tramitacao.objects.order_by(
'materia', '-data_tramitacao', '-id').annotate(
comissao=F('unidade_tramitacao_destino__comissao')).distinct(
'materia').values_list('materia', 'comissao')
ts = list(filter(lambda x: x[1] == int(self.kwargs['pk']), ts))
ts = list(zip(*ts))
ts = ts[0] if ts else []
materias = MateriaLegislativa.objects.filter(
pk__in=ts).order_by('tipo', '-ano', '-numero')
return materias
def get_context_data(self, **kwargs):
context = super(
MateriasTramitacaoListView, self).get_context_data(**kwargs)
context['object'] = Comissao.objects.get(id=self.kwargs['pk'])
return context
class ReuniaoCrud(MasterDetailCrud):
model = Reuniao
parent_field = 'comissao'
model_set = 'documentoacessorio_set'
public = [RP_LIST, RP_DETAIL, ]
class BaseMixin(MasterDetailCrud.BaseMixin):
list_field_names = ['data', 'nome', 'tema']
class ListView(MasterDetailCrud.ListView):
Adiciona logging em nível de aplicação (#2309) * Mudanças no arquivo settings para uso de Log Loggers inseridos em sessao/views.py alteracao no gitignore adicionados loggers em audiencia e base terminados os logs de comissoes loggers na view do app materia loggers feitos nos forms de materia e no app norma adicionado logging no app painel adicionados loggins no app parlamentares adicionados loggins no app protocoloadm adicionados loggins no app redireciona_urls adicionados loggings no app relatorios adicionados loggings no app rules adicionados loggings no app api adicionados loggings nos apps crud e compilacao Fix typo Adicionando informação de host no log (em progresso) Comentando trecho com problema correcao do logger, tirando-o das funcoes e colocando na classe correcao do logger, tirando-o das funcoes e colocando na classe concluido Conserta log errado no import Remove arquivo desnecessário Remove arquivo desnecessário Remove chamada ao pdb Adiciona logger ausente em DevolverProposicaoForm correcoes nos loggins para api, audiencia e base correcoes nos loggins para comissoes correcoes nos loggins para compilacao correcoes nos loggins para crud correcoes nos loggins para materia correcoes nos loggings para o arquivo views.py de norma correção de bugs. Correção de bugs no funcionamento do log. Informação de IP do host ainda não funciona corretamente. Com endereço IP. Faltando confirmar se o endereço está correto. correcoes nos loggings para o app norma correcoes nos loggings para os apps painel e parlamentares correcoes nos loggings para o app protocoloadm mais correcoes nos loggings para o app protocoloadm correcoes nos loggings para o app redireciona_urls correcoes nos loggins para o app relatorios correcoes nos loggins em forms de parlamentares correcoes nos loggins em views de protocoloadm correcao nos loggings de sessao inserido o hostname no log testando logger com username Inserção username no log. Incompleto. logging username nos apps materia, norma e painel alteracao no padrao de logging até painel alteracao no padrao de logging novas correcoes nos loggings * correções
6 years ago
logger = logging.getLogger(__name__)
paginate_by = 10
def take_reuniao_pk(self):
Adiciona logging em nível de aplicação (#2309) * Mudanças no arquivo settings para uso de Log Loggers inseridos em sessao/views.py alteracao no gitignore adicionados loggers em audiencia e base terminados os logs de comissoes loggers na view do app materia loggers feitos nos forms de materia e no app norma adicionado logging no app painel adicionados loggins no app parlamentares adicionados loggins no app protocoloadm adicionados loggins no app redireciona_urls adicionados loggings no app relatorios adicionados loggings no app rules adicionados loggings no app api adicionados loggings nos apps crud e compilacao Fix typo Adicionando informação de host no log (em progresso) Comentando trecho com problema correcao do logger, tirando-o das funcoes e colocando na classe correcao do logger, tirando-o das funcoes e colocando na classe concluido Conserta log errado no import Remove arquivo desnecessário Remove arquivo desnecessário Remove chamada ao pdb Adiciona logger ausente em DevolverProposicaoForm correcoes nos loggins para api, audiencia e base correcoes nos loggins para comissoes correcoes nos loggins para compilacao correcoes nos loggins para crud correcoes nos loggins para materia correcoes nos loggings para o arquivo views.py de norma correção de bugs. Correção de bugs no funcionamento do log. Informação de IP do host ainda não funciona corretamente. Com endereço IP. Faltando confirmar se o endereço está correto. correcoes nos loggings para o app norma correcoes nos loggings para os apps painel e parlamentares correcoes nos loggings para o app protocoloadm mais correcoes nos loggings para o app protocoloadm correcoes nos loggings para o app redireciona_urls correcoes nos loggins para o app relatorios correcoes nos loggins em forms de parlamentares correcoes nos loggins em views de protocoloadm correcao nos loggings de sessao inserido o hostname no log testando logger com username Inserção username no log. Incompleto. logging username nos apps materia, norma e painel alteracao no padrao de logging até painel alteracao no padrao de logging novas correcoes nos loggings * correções
6 years ago
username = self.request.user.username
try:
Adiciona logging em nível de aplicação (#2309) * Mudanças no arquivo settings para uso de Log Loggers inseridos em sessao/views.py alteracao no gitignore adicionados loggers em audiencia e base terminados os logs de comissoes loggers na view do app materia loggers feitos nos forms de materia e no app norma adicionado logging no app painel adicionados loggins no app parlamentares adicionados loggins no app protocoloadm adicionados loggins no app redireciona_urls adicionados loggings no app relatorios adicionados loggings no app rules adicionados loggings no app api adicionados loggings nos apps crud e compilacao Fix typo Adicionando informação de host no log (em progresso) Comentando trecho com problema correcao do logger, tirando-o das funcoes e colocando na classe correcao do logger, tirando-o das funcoes e colocando na classe concluido Conserta log errado no import Remove arquivo desnecessário Remove arquivo desnecessário Remove chamada ao pdb Adiciona logger ausente em DevolverProposicaoForm correcoes nos loggins para api, audiencia e base correcoes nos loggins para comissoes correcoes nos loggins para compilacao correcoes nos loggins para crud correcoes nos loggins para materia correcoes nos loggings para o arquivo views.py de norma correção de bugs. Correção de bugs no funcionamento do log. Informação de IP do host ainda não funciona corretamente. Com endereço IP. Faltando confirmar se o endereço está correto. correcoes nos loggings para o app norma correcoes nos loggings para os apps painel e parlamentares correcoes nos loggings para o app protocoloadm mais correcoes nos loggings para o app protocoloadm correcoes nos loggings para o app redireciona_urls correcoes nos loggins para o app relatorios correcoes nos loggins em forms de parlamentares correcoes nos loggins em views de protocoloadm correcao nos loggings de sessao inserido o hostname no log testando logger com username Inserção username no log. Incompleto. logging username nos apps materia, norma e painel alteracao no padrao de logging até painel alteracao no padrao de logging novas correcoes nos loggings * correções
6 years ago
self.logger.debug('user=' + username + '. Tentando obter pk da reunião.')
return int(self.request.GET['pk'])
Adiciona logging em nível de aplicação (#2309) * Mudanças no arquivo settings para uso de Log Loggers inseridos em sessao/views.py alteracao no gitignore adicionados loggers em audiencia e base terminados os logs de comissoes loggers na view do app materia loggers feitos nos forms de materia e no app norma adicionado logging no app painel adicionados loggins no app parlamentares adicionados loggins no app protocoloadm adicionados loggins no app redireciona_urls adicionados loggings no app relatorios adicionados loggings no app rules adicionados loggings no app api adicionados loggings nos apps crud e compilacao Fix typo Adicionando informação de host no log (em progresso) Comentando trecho com problema correcao do logger, tirando-o das funcoes e colocando na classe correcao do logger, tirando-o das funcoes e colocando na classe concluido Conserta log errado no import Remove arquivo desnecessário Remove arquivo desnecessário Remove chamada ao pdb Adiciona logger ausente em DevolverProposicaoForm correcoes nos loggins para api, audiencia e base correcoes nos loggins para comissoes correcoes nos loggins para compilacao correcoes nos loggins para crud correcoes nos loggins para materia correcoes nos loggings para o arquivo views.py de norma correção de bugs. Correção de bugs no funcionamento do log. Informação de IP do host ainda não funciona corretamente. Com endereço IP. Faltando confirmar se o endereço está correto. correcoes nos loggings para o app norma correcoes nos loggings para os apps painel e parlamentares correcoes nos loggings para o app protocoloadm mais correcoes nos loggings para o app protocoloadm correcoes nos loggings para o app redireciona_urls correcoes nos loggins para o app relatorios correcoes nos loggins em forms de parlamentares correcoes nos loggins em views de protocoloadm correcao nos loggings de sessao inserido o hostname no log testando logger com username Inserção username no log. Incompleto. logging username nos apps materia, norma e painel alteracao no padrao de logging até painel alteracao no padrao de logging novas correcoes nos loggings * correções
6 years ago
except Exception as e:
self.logger.error('user=' + username + '. Erro ao obter pk da reunião. Retornado 0. ' + str(e))
return 0
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
reuniao_pk = self.take_reuniao_pk()
if reuniao_pk == 0:
ultima_reuniao = list(context['reuniao_list'])
if len(ultima_reuniao) > 0:
ultimo = ultima_reuniao[-1]
context['reuniao_pk'] = ultimo.pk
else:
context['reuniao_pk'] = 0
else:
context['reuniao_pk'] = reuniao_pk
context['documentoacessorio_set'] = DocumentoAcessorio.objects.filter(
reuniao__pk=context['reuniao_pk']
).order_by('id')
return context
class UpdateView(MasterDetailCrud.UpdateView):
form_class = ReuniaoForm
def get_initial(self):
return {'comissao': self.object.comissao}
class CreateView(MasterDetailCrud.CreateView):
form_class = ReuniaoForm
def get_initial(self):
comissao = Comissao.objects.get(id=self.kwargs['pk'])
return {'comissao': comissao}
class DocumentoAcessorioCrud(MasterDetailCrud):
model = DocumentoAcessorio
parent_field = 'reuniao__comissao'
public = [RP_DETAIL, ]
ListView = None
link_return_to_parent_field = True
class BaseMixin(MasterDetailCrud.BaseMixin):
list_field_names = ['nome', 'tipo', 'data', 'autor', 'arquivo']
class CreateView(MasterDetailCrud.CreateView):
form_class = DocumentoAcessorioCreateForm
def get_initial(self):
initial = super().get_initial()
initial['parent_pk'] = self.kwargs['pk']
return initial
class UpdateView(MasterDetailCrud.UpdateView):
layout_key = 'DocumentoAcessorioEdit'
form_class = DocumentoAcessorioEditForm
class DeleteView(MasterDetailCrud.DeleteView):
def delete(self, *args, **kwargs):
obj = self.get_object()
obj.delete()
return HttpResponseRedirect(
reverse('sapl.comissoes:reuniao_detail',
kwargs={'pk': obj.reuniao.pk}))