Browse Source

Fix detail/update proposição

pull/534/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
402dd92a7f
  1. 5
      sapl/materia/forms.py
  2. 28
      sapl/materia/views.py
  3. 3
      sapl/templates/materia/layouts.yaml

5
sapl/materia/forms.py

@ -111,8 +111,6 @@ class ProposicaoForm(ModelForm):
if cleaned_data['tipo'].descricao == 'Parecer':
if self.instance.materia:
cleaned_data['materia'] = self.instance.materia
cleaned_data['autor'] = (
self.instance.materia.autoria_set.first().autor)
else:
try:
materia = MateriaLegislativa.objects.get(
@ -124,9 +122,6 @@ class ProposicaoForm(ModelForm):
raise ValidationError(msg)
else:
cleaned_data['materia'] = materia
cleaned_data['autor'] = materia.autoria_set.first(
).autor
return cleaned_data
def save(self, commit=False):

28
sapl/materia/views.py

@ -404,10 +404,13 @@ class ProposicaoCrud(Crud):
messages.add_message(self.request, messages.ERROR, msg)
return redirect(self.get_success_url())
except ObjectDoesNotExist:
# FIXME: Pensar em uma melhor forma
tipo = TipoAutor.objects.get(name='Externo')
autor_id = Autor.objects.create(
user=self.request.user,
nome=str(self.request.user),
tipo_id=4).id
tipo=tipo).id
return {'autor': autor_id}
else:
return {'autor': autor_id}
@ -416,6 +419,14 @@ class ProposicaoCrud(Crud):
form_class = ProposicaoForm
permission_required = permissoes_autor()
def get_initial(self):
initial = self.initial.copy()
if self.object.materia:
initial['tipo_materia'] = self.object.materia.tipo.id
initial['numero_materia'] = self.object.materia.numero
initial['ano_materia'] = self.object.materia.ano
return initial
@property
def layout_key(self):
return 'ProposicaoCreate'
@ -442,21 +453,6 @@ class ProposicaoCrud(Crud):
class DetailView(PermissionRequiredMixin, CrudDetailView):
permission_required = permissoes_autor()
def get_context_data(self, **kwargs):
context = super(DetailView, self).get_context_data(**kwargs)
if self.object.materia:
context['form'].fields['tipo_materia'].initial = (
self.object.materia.tipo.id)
context['form'].fields['numero_materia'].initial = (
self.object.materia.numero)
context['form'].fields['ano_materia'].initial = (
self.object.materia.ano)
return context
@property
def layout_key(self):
return 'ProposicaoCreate'
def has_permission(self):
perms = self.get_permission_required()
if self.request.user.has_perms(perms):

3
sapl/templates/materia/layouts.yaml

@ -98,7 +98,8 @@ ProposicaoCreate:
{% trans 'Proposição' %}:
- tipo data_envio
- descricao
{% trans 'Materia' %}:
- tipo_materia numero_materia ano_materia
{% trans 'Complemento' %}:
- texto_original

Loading…
Cancel
Save