From f244c77328927427ec323a04e174a7bff121b3df Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Sat, 9 Feb 2019 23:48:40 -0200 Subject: [PATCH] =?UTF-8?q?migra=20frontend=20da=20manuten=C3=A7=C3=A3o=20?= =?UTF-8?q?de=20tipos=20de=20proposi=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/materia/forms.py | 36 ++++++++++++++----- .../migrations/0039_auto_20190209_2346.py | 21 +++++++++++ sapl/materia/models.py | 16 ++++++--- .../materia/tipoproposicao_form.html | 5 ++- 4 files changed, 62 insertions(+), 16 deletions(-) create mode 100644 sapl/materia/migrations/0039_auto_20190209_2346.py diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index 52a7fb149..aedc17570 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -5,7 +5,7 @@ import os from crispy_forms.bootstrap import Alert, InlineRadios from crispy_forms.helper import FormHelper from crispy_forms.layout import (HTML, Button, Column, Div, Field, Fieldset, - Layout) + Layout, Row) from django import forms from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist, ValidationError @@ -1191,7 +1191,8 @@ class TipoProposicaoForm(ModelForm): content_type = forms.ModelChoiceField( queryset=ContentType.objects.all(), label=TipoProposicao._meta.get_field('content_type').verbose_name, - required=True) + required=True, + help_text=TipoProposicao._meta.get_field('content_type').help_text) tipo_conteudo_related_radio = ChoiceWithoutValidationField( label="Seleção de Tipo", @@ -1215,13 +1216,30 @@ class TipoProposicaoForm(ModelForm): def __init__(self, *args, **kwargs): - tipo_select = Fieldset(TipoProposicao._meta.verbose_name, - Div(to_column(('descricao', 5)), - to_column(('content_type', 7)), - css_class='clearfix'), - to_column(('tipo_conteudo_related_radio', 6)), - - to_column(('perfis', 6))) + tipo_select = Fieldset( + TipoProposicao._meta.verbose_name, + Row( + to_column( + ( + Row( + to_column(('descricao', 12)), + to_column(('perfis', 12)), + ), + 5 + ) + ), + to_column( + ( + Row( + to_column(('content_type', 12)), + to_column(('tipo_conteudo_related_radio', 12)), + to_column(('tipo_conteudo_related', 12)), + ), + 7 + ) + ), + ) + ) self.helper = FormHelper() self.helper.layout = SaplFormLayout(tipo_select) diff --git a/sapl/materia/migrations/0039_auto_20190209_2346.py b/sapl/materia/migrations/0039_auto_20190209_2346.py new file mode 100644 index 000000000..f83290bee --- /dev/null +++ b/sapl/materia/migrations/0039_auto_20190209_2346.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-02-10 01:46 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('materia', '0038_auto_20190108_1606'), + ] + + operations = [ + migrations.AlterField( + model_name='tipoproposicao', + name='content_type', + field=models.ForeignKey(default=None, help_text='\n Quando uma proposição é incorporada, ela é convertida de proposição\n para outro elemento dentro do Sapl. Existem alguns elementos que\n uma proposição pode se tornar. Defina este meta-tipo e em seguida\n escolha um Tipo Correspondente!\n ', on_delete=django.db.models.deletion.PROTECT, to='contenttypes.ContentType', verbose_name='Conversão de Meta-Tipos'), + ), + ] diff --git a/sapl/materia/models.py b/sapl/materia/models.py index 1adb21ea5..be0c67f74 100644 --- a/sapl/materia/models.py +++ b/sapl/materia/models.py @@ -42,13 +42,21 @@ class TipoProposicao(models.Model): error_messages={ 'unique': _('Já existe um Tipo de Proposição com esta descrição.') }) - content_type = models.ForeignKey(ContentType, default=None, - on_delete=models.PROTECT, - verbose_name=_('Definição de Tipo')) + content_type = models.ForeignKey( + ContentType, default=None, + on_delete=models.PROTECT, + verbose_name=_('Conversão de Meta-Tipos'), + help_text=_(""" + Quando uma proposição é incorporada, ela é convertida de proposição + para outro elemento dentro do Sapl. Existem alguns elementos que + uma proposição pode se tornar. Defina este meta-tipo e em seguida + escolha um Tipo Correspondente! + """) + ) object_id = models.PositiveIntegerField( blank=True, null=True, default=None) tipo_conteudo_related = SaplGenericForeignKey( - 'content_type', 'object_id', verbose_name=_('Seleção de Tipo')) + 'content_type', 'object_id', verbose_name=_('T')) perfis = models.ManyToManyField( PerfilEstruturalTextoArticulado, diff --git a/sapl/templates/materia/tipoproposicao_form.html b/sapl/templates/materia/tipoproposicao_form.html index 11493e6fe..7d412a3c2 100644 --- a/sapl/templates/materia/tipoproposicao_form.html +++ b/sapl/templates/materia/tipoproposicao_form.html @@ -40,9 +40,9 @@ $(document).ready(function(){ return; } - var radios = $("#div_id_tipo_conteudo_related_radio .controls").html(''); + var radios = $("#div_id_tipo_conteudo_related_radio > div").html(''); data.forEach(function (val, index) { - var html_radio = '
'; + var html_radio = '
'; if (val.value === initial_select) initial_select=0; @@ -50,7 +50,6 @@ $(document).ready(function(){ }); }); }); - $("#div_id_tipo_conteudo_related_radio .controls").addClass('controls-radio-checkbox'); $('#id_content_type').trigger('change'); });