Browse Source

Valida localização atual

pull/425/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
dcb6820139
  1. 14
      materia/forms.py
  2. 53
      materia/views.py

14
materia/forms.py

@ -159,8 +159,22 @@ class RelatoriaForm(ModelForm):
model = Relatoria
fields = ['data_designacao_relator', 'comissao', 'parlamentar',
'data_destituicao_relator', 'tipo_fim_relatoria']
widgets = {'comissao': forms.Select(attrs={'disabled': 'disabled'})}
def clean(self):
cleaned_data = self.cleaned_data
try:
comissao = Comissao.objects.get(id=self.initial['comissao'])
except ObjectDoesNotExist:
msg = _('A localização atual deve ser uma comissão.')
raise ValidationError(msg)
else:
cleaned_data['comissao'] = comissao
return cleaned_data
class TramitacaoForm(ModelForm):

53
materia/views.py

@ -67,8 +67,21 @@ class RelatoriaCrud(MasterDetailCrud):
form_class = RelatoriaForm
def get_initial(self):
self.initial['comissao'] = 8
return self.initial
materia = MateriaLegislativa.objects.get(id=self.kwargs['pk'])
loc_atual = Tramitacao.objects.filter(
materia=materia).last()
if loc_atual is None:
localizacao = 0
else:
comissao = loc_atual.unidade_tramitacao_destino.comissao
if comissao:
localizacao = comissao.pk
else:
localizacao = 0
return {'comissao': localizacao}
class UpdateView(MasterDetailCrud.UpdateView):
form_class = RelatoriaForm
@ -400,6 +413,42 @@ class AcompanhamentoExcluirView(TemplateView):
return HttpResponseRedirect(self.get_redirect_url())
class DocumentoAcessorioEditView(CreateView):
template_name = "materia/documento_acessorio_edit.html"
form_class = DocumentoAcessorioForm
def get(self, request, *args, **kwargs):
materia = MateriaLegislativa.objects.get(id=kwargs['pk'])
documento = DocumentoAcessorio.objects.get(id=kwargs['id'])
form = DocumentoAcessorioForm(instance=documento, excluir=True)
return self.render_to_response({'object': materia, 'form': form})
def post(self, request, *args, **kwargs):
form = self.get_form()
materia = MateriaLegislativa.objects.get(id=kwargs['pk'])
documento = DocumentoAcessorio.objects.get(id=kwargs['id'])
if form.is_valid():
if 'Excluir' in request.POST:
documento.delete()
elif 'salvar' in request.POST:
documento.materia = materia
documento.tipo = form.cleaned_data['tipo']
documento.data = form.cleaned_data['data']
documento.nome = form.cleaned_data['nome']
documento.autor = form.cleaned_data['autor']
documento.ementa = form.cleaned_data['ementa']
documento.save()
return redirect(self.get_success_url())
else:
return self.render_to_response({'form': form,
'object': materia,
'doc': documento})
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('materia:documento_acessorio', kwargs={'pk': pk})
def load_email_templates(templates, context={}):
emails = []

Loading…
Cancel
Save