diff --git a/materia/forms.py b/materia/forms.py index 48550e980..a41532a68 100644 --- a/materia/forms.py +++ b/materia/forms.py @@ -389,14 +389,14 @@ class AnexadaForm(ModelForm): ' de matérias legislativas.') raise ValidationError(msg) else: - cleaned_data['materia_anexada_id'] = materia_anexada.id + cleaned_data['materia_anexada'] = materia_anexada return cleaned_data def save(self, commit=False): anexada = super(AnexadaForm, self).save(commit) - anexada.materia_anexada_id = self.cleaned_data['materia_anexada_id'] - import ipdb; ipdb.set_trace() + anexada.materia_anexada = self.cleaned_data['materia_anexada'] + anexada.save() return anexada class Meta: diff --git a/materia/views.py b/materia/views.py index c64630270..fbc3a8540 100644 --- a/materia/views.py +++ b/materia/views.py @@ -74,6 +74,13 @@ class AnexadaCrud(MasterDetailCrud): class UpdateView(MasterDetailCrud.UpdateView): form_class = AnexadaForm + def get_initial(self, **kwargs): + self.initial['tipo'] = self.object.materia_anexada.tipo.id + self.initial['numero'] = self.object.materia_anexada.numero + self.initial['ano'] = self.object.materia_anexada.ano + + return self.initial + class DetailView(MasterDetailCrud.DetailView): @property @@ -89,165 +96,6 @@ class MateriaLegislativaCrud(Crud): list_field_names = ['tipo', 'numero', 'ano', 'data_apresentacao'] -# class MateriaAnexadaView(FormView): -# template_name = "materia/materia_anexada.html" -# form_class = MateriaAnexadaForm -# form_valid_message = _('Matéria anexada com sucesso!') -# -# def get(self, request, *args, **kwargs): -# form = MateriaAnexadaForm() -# materia = MateriaLegislativa.objects.get( -# id=kwargs['pk']) -# anexadas = Anexada.objects.filter( -# materia_principal_id=kwargs['pk']) -# -# return self.render_to_response({'object': materia, -# 'anexadas': anexadas, -# 'form': form}) -# -# def form_invalid(self, -# form, -# request, -# mat_principal, -# anexadas, -# msg='Erro ineseperado.'): -# messages.add_message(request, messages.ERROR, msg) -# return self.render_to_response( -# {'form': form, -# 'object': mat_principal, -# 'anexadas': anexadas}) -# -# def post(self, request, *args, **kwargs): -# form = self.get_form() -# -# anexadas = Anexada.objects.filter( -# materia_principal_id=kwargs['pk']) -# mat_principal = MateriaLegislativa.objects.get( -# id=kwargs['pk']) -# -# if form.is_valid(): -# tipo = form.cleaned_data['tipo'] -# numero = form.cleaned_data['numero'] -# ano = form.cleaned_data['ano'] -# data_anexacao = form.cleaned_data['data_anexacao'] -# data_desanexacao = form.cleaned_data['data_desanexacao'] -# -# try: -# mat_anexada = MateriaLegislativa.objects.get( -# numero=numero, ano=ano, tipo=tipo) -# -# if mat_principal.tipo == mat_anexada.tipo: -# msg = _('A matéria a ser anexada não pode ser do mesmo' -# ' tipo da matéria principal.') -# self.form_invalid( -# form, request, mat_principal, anexadas, msg) -# anexada = Anexada() -# anexada.materia_principal = mat_principal -# anexada.materia_anexada = mat_anexada -# anexada.data_anexacao = data_anexacao -# if data_desanexacao: -# anexada.data_desanexacao = data_desanexacao -# -# anexada.save() -# except ObjectDoesNotExist: -# msg = _('A matéria a ser anexada não existe no cadastro' -# ' de matérias legislativas.') -# self.form_invalid(form, request, mat_principal, anexadas, msg) -# return self.form_valid(form) -# else: -# return self.render_to_response( -# {'form': form, -# 'object': mat_principal, -# 'anexadas': anexadas}) -# -# def get_success_url(self): -# pk = self.kwargs['pk'] -# return reverse('materia:materia_anexada', kwargs={'pk': pk}) -# -# -# class MateriaAnexadaEditView(FormView): -# template_name = "materia/materia_anexada_edit.html" -# form_class = MateriaAnexadaForm -# -# def form_invalid(self, -# form, -# request, -# mat_principal, -# msg='Erro ineseperado.'): -# messages.add_message(request, messages.ERROR, msg) -# return self.render_to_response( -# {'form': form, 'object': mat_principal}) -# -# def get(self, request, *args, **kwargs): -# materia = MateriaLegislativa.objects.get(id=kwargs['pk']) -# anexada = Anexada.objects.get(id=kwargs['id']) -# -# data = {} -# data['tipo'] = anexada.materia_anexada.tipo -# data['numero'] = anexada.materia_anexada.numero -# data['ano'] = anexada.materia_anexada.ano -# data['data_anexacao'] = anexada.data_anexacao -# data['data_desanexacao'] = anexada.data_desanexacao -# -# form = MateriaAnexadaForm(initial=data, excluir=True) -# -# return self.render_to_response( -# {'object': materia, -# 'form': form}) -# -# def post(self, request, *args, **kwargs): -# form = self.get_form() -# -# anexada = Anexada.objects.get(id=kwargs['id']) -# mat_principal = MateriaLegislativa.objects.get( -# id=kwargs['pk']) -# if form.is_valid(): -# if 'Excluir' in request.POST: -# anexada.delete() -# return self.form_valid(form) -# elif 'salvar' in request.POST: -# -# tipo = form.cleaned_data['tipo'] -# numero = form.cleaned_data['numero'] -# ano = form.cleaned_data['ano'] -# data_anexacao = form.cleaned_data['data_anexacao'] -# -# if 'data_desanexacao' in request.POST: -# data_desanexacao = form.cleaned_data['data_desanexacao'] -# -# try: -# mat_anexada = MateriaLegislativa.objects.get( -# numero=numero, ano=ano, tipo=tipo) -# -# if mat_principal.tipo == mat_anexada.tipo: -# msg = _('A matéria a ser anexada não pode ser do mesmo \ -# tipo da matéria principal.') -# self.form_invalid(form, request, mat_principal, msg) -# -# anexada.materia_principal = mat_principal -# anexada.materia_anexada = mat_anexada -# anexada.data_anexacao = data_anexacao -# -# if data_desanexacao: -# anexada.data_desanexacao = data_desanexacao -# -# anexada.save() -# return self.form_valid(form) -# -# except ObjectDoesNotExist: -# msg = _('A matéria a ser anexada não existe no cadastro \ -# de matérias legislativas.') -# self.form_invalid(form, request, mat_principal, msg) -# else: -# return self.render_to_response( -# {'form': form, -# 'materia': mat_principal}) -# -# def get_success_url(self): -# pk = self.kwargs['pk'] -# return reverse('materia_anexada', kwargs={'pk': pk}) - - class DespachoInicialView(CreateView): template_name = "materia/despacho_inicial.html" form_class = DespachoInicialForm