|
|
@ -54,7 +54,8 @@ TipoProposicaoCrud = Crud.build(TipoProposicao, 'tipo_proposicao') |
|
|
|
ProposicaoCrud = Crud.build(Proposicao, '') |
|
|
|
StatusTramitacaoCrud = Crud.build(StatusTramitacao, 'status_tramitacao') |
|
|
|
UnidadeTramitacaoCrud = Crud.build(UnidadeTramitacao, 'unidade_tramitacao') |
|
|
|
TramitacaoCrud = Crud.build(Tramitacao, '') |
|
|
|
|
|
|
|
TramitacaoCrud = MasterDetailCrud.build(Tramitacao, 'materia', '') |
|
|
|
|
|
|
|
|
|
|
|
class AutoriaCrud(MasterDetailCrud): |
|
|
@ -641,117 +642,6 @@ def do_envia_email_tramitacao(request, materia): |
|
|
|
return None |
|
|
|
|
|
|
|
|
|
|
|
class TramitacaoView(CreateView): |
|
|
|
template_name = "materia/tramitacao.html" |
|
|
|
form_class = TramitacaoForm |
|
|
|
|
|
|
|
def get(self, request, *args, **kwargs): |
|
|
|
materia = MateriaLegislativa.objects.get(id=kwargs['pk']) |
|
|
|
tramitacoes = Tramitacao.objects.filter( |
|
|
|
materia_id=kwargs['pk']).order_by('-data_tramitacao') |
|
|
|
form = self.get_form() |
|
|
|
|
|
|
|
return self.render_to_response( |
|
|
|
{'object': materia, |
|
|
|
'form': form, |
|
|
|
'tramitacoes': tramitacoes}) |
|
|
|
|
|
|
|
def post(self, request, *args, **kwargs): |
|
|
|
form = self.get_form() |
|
|
|
materia = MateriaLegislativa.objects.get(id=kwargs['pk']) |
|
|
|
tramitacoes_list = Tramitacao.objects.filter( |
|
|
|
materia_id=kwargs['pk']).order_by('-data_tramitacao') |
|
|
|
|
|
|
|
if form.is_valid(): |
|
|
|
ultima_tramitacao = Tramitacao.objects.filter( |
|
|
|
materia_id=kwargs['pk']).last() |
|
|
|
if ultima_tramitacao: |
|
|
|
destino = ultima_tramitacao.unidade_tramitacao_destino |
|
|
|
cleaned_data = form.cleaned_data['unidade_tramitacao_local'] |
|
|
|
if (destino == cleaned_data): |
|
|
|
tramitacao = form.save(commit=False) |
|
|
|
tramitacao.materia = materia |
|
|
|
tramitacao.save() |
|
|
|
else: |
|
|
|
msg = _('A origem da nova tramitação \ |
|
|
|
deve ser igual ao destino da última adicionada!') |
|
|
|
messages.add_message(request, messages.INFO, msg) |
|
|
|
return self.render_to_response( |
|
|
|
{'form': form, |
|
|
|
'object': materia, |
|
|
|
'tramitacoes': tramitacoes_list}) |
|
|
|
|
|
|
|
do_envia_email_tramitacao(request, materia) |
|
|
|
else: |
|
|
|
tramitacao = form.save(commit=False) |
|
|
|
tramitacao.materia = materia |
|
|
|
tramitacao.save() |
|
|
|
return self.form_valid(form) |
|
|
|
else: |
|
|
|
return self.render_to_response({'form': form, |
|
|
|
'object': materia, |
|
|
|
'tramitacoes': tramitacoes_list}) |
|
|
|
|
|
|
|
def get_success_url(self): |
|
|
|
pk = self.kwargs['pk'] |
|
|
|
return reverse('materia:tramitacao_materia', kwargs={'pk': pk}) |
|
|
|
|
|
|
|
|
|
|
|
class TramitacaoEditView(CreateView): |
|
|
|
template_name = "materia/tramitacao_edit.html" |
|
|
|
form_class = TramitacaoForm |
|
|
|
|
|
|
|
def get(self, request, *args, **kwargs): |
|
|
|
materia = MateriaLegislativa.objects.get(id=kwargs['pk']) |
|
|
|
tramitacao = Tramitacao.objects.get(id=kwargs['id']) |
|
|
|
form = TramitacaoForm(excluir=True, instance=tramitacao) |
|
|
|
|
|
|
|
return self.render_to_response( |
|
|
|
{'object': materia, |
|
|
|
'form': form, |
|
|
|
'tramitacao': tramitacao}) |
|
|
|
|
|
|
|
def post(self, request, *args, **kwargs): |
|
|
|
materia = MateriaLegislativa.objects.get(id=kwargs['pk']) |
|
|
|
tramitacao = Tramitacao.objects.get(id=kwargs['id']) |
|
|
|
form = self.get_form() |
|
|
|
|
|
|
|
if form.is_valid(): |
|
|
|
if 'excluir' in request.POST: |
|
|
|
if tramitacao == Tramitacao.objects.filter( |
|
|
|
materia=materia).last(): |
|
|
|
tramitacao.delete() |
|
|
|
else: |
|
|
|
msg = _('Somente a útlima tramitação pode ser deletada!') |
|
|
|
messages.add_message(request, messages.INFO, msg) |
|
|
|
return self.render_to_response( |
|
|
|
{'object': materia, |
|
|
|
'form': form, |
|
|
|
'tramitacao': tramitacao}) |
|
|
|
elif 'salvar' in request.POST: |
|
|
|
tramitacao.status = form.cleaned_data['status'] |
|
|
|
tramitacao.turno = form.cleaned_data['turno'] |
|
|
|
tramitacao.urgente = form.cleaned_data['urgente'] |
|
|
|
tramitacao.unidade_tramitacao_destino = form.cleaned_data[ |
|
|
|
'unidade_tramitacao_destino'] |
|
|
|
tramitacao.data_encaminhamento = form.cleaned_data[ |
|
|
|
'data_encaminhamento'] |
|
|
|
tramitacao.data_fim_prazo = form.cleaned_data['data_fim_prazo'] |
|
|
|
tramitacao.texto = form.cleaned_data['texto'] |
|
|
|
|
|
|
|
tramitacao.save() |
|
|
|
return redirect(self.get_success_url()) |
|
|
|
else: |
|
|
|
return self.render_to_response( |
|
|
|
{'object': materia, |
|
|
|
'form': form, |
|
|
|
'tramitacao': tramitacao}) |
|
|
|
|
|
|
|
def get_success_url(self): |
|
|
|
pk = self.kwargs['pk'] |
|
|
|
return reverse('materia:tramitacao_materia', kwargs={'pk': pk}) |
|
|
|
|
|
|
|
|
|
|
|
class ProposicaoListView(ListView): |
|
|
|
template_name = "materia/proposicao/proposicao_list.html" |
|
|
|
paginate_by = 10 |
|
|
|