diff --git a/compilacao/forms.py b/compilacao/forms.py
index cb854f9af..13c493c29 100644
--- a/compilacao/forms.py
+++ b/compilacao/forms.py
@@ -262,16 +262,6 @@ class NotaForm(ModelForm):
class DispositivoSearchFragmentForm(ModelForm):
- pass
-
-
-class VideForm(ModelForm):
- dispositivo_base = forms.ModelChoiceField(
- queryset=Dispositivo.objects.all(),
- widget=forms.HiddenInput())
- dispositivo_ref = forms.ModelChoiceField(
- queryset=Dispositivo.objects.all(),
- widget=forms.HiddenInput())
tipo_ta = forms.ModelChoiceField(
label=_('Tipo do Texto Articulado'),
@@ -287,19 +277,63 @@ class VideForm(ModelForm):
ano_ta = forms.IntegerField(
label=_('Ano Texto Articulado'), required=False)
- texto = forms.CharField(
- label='',
- widget=forms.Textarea,
+ busca_dispositivo = forms.CharField(
+ label=_('Buscar Dispositivo'),
required=False)
+
+ def __init__(self, *args, **kwargs):
+
+ if 'fields_search' in kwargs:
+ fields_search = kwargs['fields_search'].fields
+ fields_search.append(
+ Row(
+ to_column(('tipo_ta', 6)),
+ to_column(('tipo_model', 6))))
+ fields_search.append(
+ Row(
+ to_column(('num_ta', 6)),
+ to_column(('ano_ta', 6))))
+ fields_search.append(
+ Row(to_column((FieldWithButtons(
+ Field(
+ 'busca_dispositivo',
+ placeholder=_('Digite palavras, letras, '
+ 'números ou algo'
+ ' que estejam '
+ 'no rótulo ou no texto.')),
+ StrictButton(_('Buscar'), css_class='btn-busca')), 12))))
+ fields_search.append(
+ Row(to_column(
+ (Div(css_class='result-busca-dispositivo'), 12))))
+ kwargs.pop('fields_search')
+
+ if 'choice_model_type_foreignkey_in_extenal_views' in kwargs:
+ ch = kwargs.pop('choice_model_type_foreignkey_in_extenal_views')
+ if 'data' in kwargs:
+ choice = ch(kwargs['data']['tipo_ta'])
+ self.base_fields['tipo_model'].choices = choice
+ elif 'instance' in kwargs and\
+ isinstance(kwargs['instance'], Dispositivo):
+ choice = ch(kwargs['instance'].ta.tipo_ta_id)
+ self.base_fields['tipo_model'].choices = choice
+
+ super(DispositivoSearchFragmentForm, self).__init__(*args, **kwargs)
+
+
+class VideForm(DispositivoSearchFragmentForm):
+ dispositivo_base = forms.ModelChoiceField(
+ queryset=Dispositivo.objects.all(),
+ widget=forms.HiddenInput())
+ dispositivo_ref = forms.ModelChoiceField(
+ queryset=Dispositivo.objects.all(),
+ widget=forms.HiddenInput())
+
tipo = forms.ModelChoiceField(
label=TipoVide._meta.verbose_name,
queryset=TipoVide.objects.all(),
required=True,
error_messages=error_messages)
- busca_dispositivo = forms.CharField(
- label=_('Buscar Dispositivo a Referenciar'),
- required=False)
pk = forms.IntegerField(widget=forms.HiddenInput(),
required=False)
@@ -337,24 +371,7 @@ class VideForm(ModelForm):
placeholder=_('Texto Adicional ao Vide')), 12))),
Row(to_column((buttons, 12))))
- fields_search = Div(
- Row(
- to_column(('tipo_ta', 6)),
- to_column(('tipo_model', 6))),
- Row(
- to_column(('num_ta', 6)),
- to_column(('ano_ta', 6))),
- Row(to_column((FieldWithButtons(
- Field(
- 'busca_dispositivo',
- placeholder=_('Digite palavras, letras, '
- 'números ou algo'
- ' que estejam '
- 'no rótulo ou no texto.')),
- StrictButton(_('Buscar'), css_class='btn-busca')), 12))),
- Row(to_column(
- (Div(css_class='container-busca'), 12)))
- )
+ kwargs['fields_search'] = fields_search = Div()
self.helper = FormHelper()
self.helper.layout = Layout(
@@ -370,12 +387,6 @@ class VideForm(ModelForm):
)
)
- if 'choice_model_type_foreignkey_in_extenal_views' in kwargs:
- ch = kwargs.pop('choice_model_type_foreignkey_in_extenal_views')
- if 'data' in kwargs:
- choice = ch(kwargs['data']['tipo_ta'])
- self.base_fields['tipo_model'].choices = choice
-
super(VideForm, self).__init__(*args, **kwargs)
@@ -581,8 +592,12 @@ class DispositivoEdicaoBasicaForm(ModelForm):
super(DispositivoEdicaoBasicaForm, self).__init__(*args, **kwargs)
+FIELD_NAME_MAPPING = {
+ 'dispositivo_vigencia': 'dispositivo_ref',
+}
+
-class DispositivoEdicaoVigenciaForm(ModelForm):
+class DispositivoEdicaoVigenciaForm(DispositivoSearchFragmentForm):
inconstitucionalidade = forms.ChoiceField(
label=Dispositivo._meta.get_field(
@@ -590,6 +605,11 @@ class DispositivoEdicaoVigenciaForm(ModelForm):
choices=utils.YES_NO_CHOICES,
widget=forms.RadioSelect())
+ dispositivo_vigencia = forms.ModelChoiceField(
+ required=False,
+ queryset=Dispositivo.objects.all(),
+ widget=forms.HiddenInput())
+
class Meta:
model = Dispositivo
fields = ['inicio_vigencia',
@@ -597,9 +617,15 @@ class DispositivoEdicaoVigenciaForm(ModelForm):
'inicio_eficacia',
'fim_eficacia',
'publicacao',
- 'inconstitucionalidade'
+ 'inconstitucionalidade',
+ 'dispositivo_vigencia'
]
+ def add_prefix(self, field_name):
+ # look up field name; return original if not found
+ field_name = FIELD_NAME_MAPPING.get(field_name, field_name)
+ return super(DispositivoEdicaoVigenciaForm, self).add_prefix(field_name)
+
def __init__(self, *args, **kwargs):
layout = []
@@ -610,7 +636,7 @@ class DispositivoEdicaoVigenciaForm(ModelForm):
row_publicacao.fields.append(
Alert(
css_class='alert-info col-md-3',
- content='%s%s' % (
+ content='%s %s' % (
_('Dica!'), _('Inclua uma Nota de Dispositivo informando '
'sobre a Inconstitucionalidade.'))))
@@ -624,6 +650,7 @@ class DispositivoEdicaoVigenciaForm(ModelForm):
('fim_vigencia', 3),
('inicio_eficacia', 3),
('fim_eficacia', 3), ])
+
layout.append(
Fieldset(_('Datas de Controle de Vigência'),
row_datas,
@@ -631,9 +658,16 @@ class DispositivoEdicaoVigenciaForm(ModelForm):
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
- *layout,
label_cancel=_('Retornar para o Editor Sequencial'))
+ self.helper.layout.fields += layout
+
+ kwargs['fields_search'] = fields_search = Div()
+ self.helper.layout.fields.append(
+ Fieldset(_('Dispositivo de Vigência'),
+ fields_search,
+ css_class="col-md-12 dispositivo_vigencia_busca"))
+
super(DispositivoEdicaoVigenciaForm, self).__init__(*args, **kwargs)
pubs = Publicacao.objects.order_by(
diff --git a/compilacao/urls.py b/compilacao/urls.py
index 0d48376b1..bc5d22754 100644
--- a/compilacao/urls.py
+++ b/compilacao/urls.py
@@ -71,9 +71,9 @@ urlpatterns_compilacao = [
'(?P[0-9]+)/vide/(?P[0-9]+)/delete$',
views.VideDeleteView.as_view(), name='vide_delete'),
- url(r'^(?P[0-9]+)/text/search$',
+ url(r'^search_fragment_form$',
views.DispositivoSearchFragmentFormView.as_view(),
- name='search_dispositivo'),
+ name='dispositivo_fragment_form'),
url(r'^(?P[0-9]+)/publicacao$',
diff --git a/compilacao/views.py b/compilacao/views.py
index 62bdd32f4..1adf2760a 100644
--- a/compilacao/views.py
+++ b/compilacao/views.py
@@ -9,6 +9,7 @@ from django.contrib.contenttypes.models import ContentType
from django.core.signing import Signer
from django.core.urlresolvers import reverse_lazy
from django.db.models import Q
+from django.forms.models import model_to_dict
from django.http.response import (HttpResponse, HttpResponseRedirect,
JsonResponse)
from django.shortcuts import get_object_or_404, redirect
@@ -1021,7 +1022,9 @@ class ActionsEditMixin:
dvt = dvt.dispositivo_pai
try:
- Dispositivo.objects.all().update(dispositivo_vigencia=dvt)
+ Dispositivo.objects.filter(
+ ta=dvt.ta,
+ ta_publicado__isnull=True).update(dispositivo_vigencia=dvt)
return {'message': str(_('Dispositivo de Vigência atualizado '
'com sucesso!!!'))}
except:
@@ -1704,10 +1707,10 @@ class VideMixin(DispositivoSuccessUrlMixin):
def choice_model_type_foreignkey_in_extenal_views(id_tipo_ta=None):
- result = [(None, '-------------'), ]
+ yield None, '-------------'
if not id_tipo_ta:
- return result
+ return
tipo_ta = TipoTextoArticulado.objects.get(pk=id_tipo_ta)
@@ -1718,35 +1721,14 @@ def choice_model_type_foreignkey_in_extenal_views(id_tipo_ta=None):
tipo_ta.content_type.app_label ==
item.model._meta.app_label):
for i in item.model_type_foreignkey.objects.all():
- result.append((i.pk, i))
- return result
-
-
-class VideCreateView(VideMixin, CreateView):
- model = Vide
- template_name = 'compilacao/ajax_form.html'
- form_class = VideForm
-
- def get(self, request, *args, **kwargs):
- self.object = None
-
- if 'action' in request.GET and request.GET['action'] == 'get_tipos':
- result = choice_model_type_foreignkey_in_extenal_views(
- id_tipo_ta=request.GET['tipo_ta'])
+ yield i.pk, i
- itens = []
- for i in result:
- item = {}
- item[i[0] if i[0] else ''] = str(i[1])
- itens.append(item)
- return JsonResponse(itens, safe=False)
- form = self.get_form()
- return self.render_to_response(self.get_context_data(form=form))
+class DispositivoSearchMixin:
def get_form_kwargs(self):
- kwargs = super(VideCreateView, self).get_form_kwargs()
+ kwargs = super(DispositivoSearchMixin, self).get_form_kwargs()
if 'choice_model_type_foreignkey_in_extenal_views' not in kwargs:
kwargs.update({
@@ -1757,6 +1739,17 @@ class VideCreateView(VideMixin, CreateView):
return kwargs
+class VideCreateView(VideMixin, DispositivoSearchMixin, CreateView):
+ model = Vide
+ template_name = 'compilacao/ajax_form.html'
+ form_class = VideForm
+
+ def get(self, request, *args, **kwargs):
+ self.object = None
+ form = self.get_form()
+ return self.render_to_response(self.get_context_data(form=form))
+
+
class VideEditView(VideMixin, UpdateView):
model = Vide
template_name = 'compilacao/ajax_form.html'
@@ -1774,6 +1767,21 @@ class VideDeleteView(VideMixin, TemplateView):
class DispositivoSearchFragmentFormView(ListView):
template_name = 'compilacao/dispositivo_search_fragment_form.html'
+ def get(self, request, *args, **kwargs):
+
+ if 'action' in request.GET and request.GET['action'] == 'get_tipos':
+ result = choice_model_type_foreignkey_in_extenal_views(
+ id_tipo_ta=request.GET['tipo_ta'])
+
+ itens = []
+ for i in result:
+ item = {}
+ item[i[0] if i[0] else ''] = str(i[1])
+ itens.append(item)
+ return JsonResponse(itens, safe=False)
+
+ return ListView.get(self, request, *args, **kwargs)
+
def get_queryset(self):
try:
busca = ''
@@ -1827,7 +1835,8 @@ class DispositivoSearchFragmentFormView(ListView):
q = q & Q(pk=initial_ref)
n = 50
- result = Dispositivo.objects.filter(q).select_related('ta')
+ result = Dispositivo.objects.filter(q).select_related(
+ 'ta').exclude(tipo_dispositivo__dispositivo_de_alteracao=True)
if 'tipo_model' not in self.request.GET:
return result[:n]
@@ -1984,9 +1993,12 @@ class PublicacaoDeleteView(CompMixin, DeleteView):
kwargs={'ta_id': self.kwargs['ta_id']})
-class DispositivoEdicaoBasicaView(UpdateView):
+class DispositivoEdicaoBasicaView(FormMessagesMixin, UpdateView):
model = Dispositivo
form_class = DispositivoEdicaoBasicaForm
+ form_valid_message = _('Alterações no Dispositivo realizadas com sucesso!')
+ form_invalid_message = _('Houve erro em registrar '
+ 'as alterações no Dispositivo')
@property
def cancel_url(self):
@@ -2052,7 +2064,8 @@ class DispositivoEdicaoBasicaView(UpdateView):
return UpdateView.get(self, request, *args, **kwargs)
-class DispositivoEdicaoVigenciaView(DispositivoEdicaoBasicaView):
+class DispositivoEdicaoVigenciaView(
+ DispositivoSearchMixin, DispositivoEdicaoBasicaView):
model = Dispositivo
form_class = DispositivoEdicaoVigenciaForm
@@ -2074,3 +2087,27 @@ class DispositivoEdicaoVigenciaView(DispositivoEdicaoBasicaView):
_('Ocorreu erro na atualização do rótulo'))}, safe=False)
return True, JsonResponse({}, safe=False)
return False, ''
+
+ def get_initial(self):
+
+ ta = self.object.ta_publicado if self.object.ta_publicado else\
+ self.object.ta
+
+ initial = {
+ 'ano_ta': ta.ano,
+ 'num_ta': ta.numero,
+ 'tipo_ta': ta.tipo_ta,
+ }
+ if hasattr(ta, 'content_object') and\
+ ta.content_object:
+ lista_tipos = list(choice_model_type_foreignkey_in_extenal_views(
+ id_tipo_ta=ta.tipo_ta_id))
+
+ content_object = model_to_dict(ta.content_object)
+
+ for key, value in content_object.items():
+ for item in lista_tipos:
+ if getattr(ta.content_object, key) == item[1]:
+ initial['tipo_model'] = item[0]
+
+ return initial
diff --git a/static/js/compilacao.js b/static/js/compilacao.js
index 3c4a3f859..892b53858 100644
--- a/static/js/compilacao.js
+++ b/static/js/compilacao.js
@@ -21,3 +21,77 @@ function insertWaitAjax(element) {
//jQuery(element).append('');
jQuery(element).append('
');
}
+
+
+var tipo_select = '';
+var tipo_form = '';
+var configFormSearchTA = function(container, _tipo_form, _tipo_select) {
+ tipo_select = _tipo_select;
+ tipo_form = _tipo_form;
+ var ta_select = $(container+" select[name='tipo_ta']");
+ $(container+" label[for='id_tipo_model']").html('Tipos de ' + ta_select[0].children[ta_select[0].selectedIndex].innerHTML);
+
+ $(container+" select[name='tipo_ta']").change(function(event) {
+ var url = '';
+ url = '/ta/search_fragment_form?action=get_tipos&tipo_ta='+this.value;
+
+ $(container+" label[for='id_tipo_model']").html('Tipos de ' + this.children[this.selectedIndex].innerHTML);
+
+
+ var select = $(container+" select[name='tipo_model']");
+ select.empty();
+ $('').appendTo(select);
+
+ $.get(url).done(function( data ) {
+ select.empty();
+ for(var item in data) {
+ for (var i in data[item])
+ $('').appendTo(select);
+ }
+ select.change(onChangeParamTA)
+ });
+ });
+ $(container+" input[name='num_ta'], "
+ + container+" input[name='ano_ta'], "
+ + container+" select[name='tipo_model'], "
+ + container+" input[name='busca_dispositivo']"
+ ).change(onChangeParamTA);
+
+ $(container+" .btn-busca").click(onChangeParamTA);
+}
+
+var onChangeParamTA = function(event) {
+ var tipo_ta = $("select[name='tipo_ta']").val();
+ var tipo_model = $("select[name='tipo_model']").val();
+ var num_ta = $("input[name='num_ta']").val();
+ var ano_ta = $("input[name='ano_ta']").val();
+ var rotulo_dispositivo = $("input[name='rotulo_dispositivo']").val();
+ var busca_dispositivo = $("input[name='busca_dispositivo']").val();
+ var dispositivo_ref = $("#id_dispositivo_ref").val();
+ $('#id_dispositivo_ref').remove();
+
+ if (dispositivo_ref == null)
+ dispositivo_ref = ''
+
+ var url = '';
+
+ var formData = {
+ 'tipo_ta' : tipo_ta,
+ 'tipo_model' : tipo_model,
+ 'num_ta' : num_ta,
+ 'ano_ta' : ano_ta,
+ 'busca' : busca_dispositivo,
+ 'rotulo' : rotulo_dispositivo,
+ 'tipo_form' : tipo_form,
+ 'tipo_select' : tipo_select,
+ 'initial_ref' : dispositivo_ref
+ };
+
+ url = '/ta/search_fragment_form';
+ $('.result-busca-dispositivo').html('');
+ insertWaitAjax('.result-busca-dispositivo')
+ $.get(url, formData).done(function( data ) {
+ $('.result-busca-dispositivo').html(data);
+ //$("input[name='dispositivo_ref']").first().prop('checked', true);
+ });
+}
diff --git a/static/js/compilacao_notas.js b/static/js/compilacao_notas.js
index 97a4709f2..f08a4f993 100644
--- a/static/js/compilacao_notas.js
+++ b/static/js/compilacao_notas.js
@@ -5,7 +5,7 @@ function onEventsDneExec(pk, model) {
scrollTop: $('#dne' + pk ).offset().top - window.innerHeight / 5
}, 300);
- refreshDatePicker()
+ refreshDatePicker();
$('#dne'+pk+" #button-id-submit-form").click(onSubmitEditNVForm);
$('#dne'+pk+" .btn-close-container").click(function(){
@@ -23,70 +23,12 @@ function onEventsDneExec(pk, model) {
});
}
else if (model == 'vide') {
- $('#dne'+pk+" select[name='tipo_ta']").change(function(event) {
- var url = '';
- url = 'text/'+pk+'/vide/create?action=get_tipos&tipo_ta='+this.value;
-
- $('#dne'+pk+" label[for='id_tipo_model']").html('Tipos de ' + this.children[this.selectedIndex].innerHTML);
-
-
- var select = $('#dne'+pk+" select[name='tipo_model']");
- select.empty();
- $('').appendTo(select);
-
- $.get(url).done(function( data ) {
- select.empty();
- for(var item in data) {
- for (var i in data[item])
- $('').appendTo(select);
- }
-
+ configFormSearchTA('#dne'+pk, 'radio', 'select_for_vide');
- });
- });
- $('#dne'+pk+" input[name='num_norma'], "
- + '#dne'+pk+" input[name='ano_norma'], "
- + '#dne'+pk+" input[name='busca_dispositivo']"
- ).change(onChangeParamNorma);
-
- $('#dne'+pk+" .btn-busca").click(onChangeParamNorma);
-
- onChangeParamNorma();
+ onChangeParamTA();
}
}
-var onChangeParamNorma = function(event) {
- var tipo_ta = $("select[name='tipo_ta']").val();
- var tipo_model = $("select[name='tipo_model']").val();
- var num_ta = $("input[name='num_ta']").val();
- var ano_ta = $("input[name='ano_ta']").val();
- var busca_dispositivo = $("input[name='busca_dispositivo']").val();
- var dispositivo_ref = $("#id_dispositivo_ref").val();
- $('#id_dispositivo_ref').remove();
-
- if (dispositivo_ref == null)
- dispositivo_ref = ''
- var url = '';
- var pk = $("select[name='tipo_ta']").closest('.dne').attr('pk')
-
- var formData = {
- 'tipo_ta' : tipo_ta,
- 'tipo_model' : tipo_model,
- 'num_ta' : num_ta,
- 'ano_ta' : ano_ta,
- 'busca' : busca_dispositivo,
- 'tipo_form' : 'radio',
- 'initial_ref' : dispositivo_ref
- };
-
- url = 'text/search';
- $('.container-busca').html('');
- insertWaitAjax('.container-busca')
- $.get(url, formData).done(function( data ) {
- $('.container-busca').html(data);
- $("input[name='dispositivo_ref']").first().prop('checked', true);
- });
-}
var onSubmitEditNVForm = function(event) {
diff --git a/static/styles/compilacao.scss b/static/styles/compilacao.scss
index d0f7b86d3..d907e9828 100644
--- a/static/styles/compilacao.scss
+++ b/static/styles/compilacao.scss
@@ -439,63 +439,6 @@ a:link:after, a:visited:after {
margin: 1em -2em 0em;
text-align: left;
font-size: 1.6rem;
-
-
- .container-busca {
- ul{
- list-style: none;
- display: table;
- margin-left: 0;
- border-collapse:separate;
- border-spacing:1px;
- padding: 0px;
-
- li {
- display: table-row;
-
- &:nth-child(even) {
- background-color: rgba(0, 0, 0, 0.05);
-
- }
- &:nth-child(odd) {
- background-color: rgba(0, 0, 0, 0.08);
-
- }
-
- .iteminput {
- display: table-cell;
- padding: 0.5em;
- vertical-align: middle;
- text-align: center;
-
- input {
- margin: 0;
- }
- }
-
- .itemlabel {
- display: table-cell;
- padding: 0.5em;
- vertical-align: middle;
- width: 100%;
- label {
- line-height: 1;
- font-family: "SourceSansPro", Helvetica, Arial, sans-serif;
- }
- }
- }
- }
- .ta_title {
- padding: 0.15em 0.7em;
- background-color: rgba(0, 0, 0, 0.15);
- margin: 0.1em 0.08em 0 0.1em;
- }
- .nomenclatura_heranca {
- font-size: 90%;
- color: #057dba;
- }
- }
-
}
}
@@ -510,166 +453,10 @@ a:link:after, a:visited:after {
transition-delay: 0s;
}
}
-
- .dne-nota111 {
- box-shadow: -4px 15px 15px rgba(0, 0, 0, 0.1), 0px 6px 6px rgba(0, 0, 0, 0.23);
- @include background-top-down(#f5f5f5, #eee);
- position: relative;
- transform: scaleX(1);
- height: auto;
- left: 0;
- right: 0;
- margin: 1em 0 2em 0;
- padding: 0em;
- border: 0px;
- z-index: 19;
- ul.btns-action {
- display: none;
- }
-
- .dne-form111 {
- .asterisk {
- color: transparent;
- &::before {
- color: red;
- content: "\2b25";
- padding: 0 0.333em;
- vertical-align: super;
- }
- }
- .title_form {
- font-size: 2.5em;
- padding: 0.5em 0.3em 0.3em;
- background: #e5e5e5;
- color: #777;
- margin-bottom: 0.4em;
- border-bottom: 1px solid #aaa;
- }
- fieldset {
- border: 0px;
- }
- select {
- background: url(/static/img/down_arrow_select.jpg) no-repeat right #ddd;
- border: 0px;
- outline:0px;
- }
- .alert-box {
- margin-bottom: 0;
- }
- .row:first-of-type {
- margin-top: 1em;
- display: inline-block;
- }
- .columns {
- padding: 0 0.5rem;
- }
- .input {
- border: 0px;
- border-bottom: 1px solid #ccc;
- margin: 0 0 0 0 ;
- padding: 0.5em;
- background: #eee;
- height: auto;
- box-shadow: 0 0 0;
- @include placeholder(#777, 1, 100%, normal);
- &:focus {
- background: #fafafa;
- @include placeholder(#456, 1, 100%, normal);
- }
- }
- .textinput{
- @include placeholder(#777, 1, 90%, normal);
- &:focus {
- background: #fafafa;
- @include placeholder(#456, 1, 90%, normal);
- }
- }
- .textinput[name='titulo']{
- @extend .input;
- font-size:130%;
- font-weight: bold;
- border-bottom: 0;
- @include placeholder(#777, 1, 100%, bold);
- &:focus {
- background: #fafafa;
- @include placeholder(#777, 1, 100%, bold);
- }
- }
-
- .textarea {
- @extend .input;
- resize: vertical;
- font-weight: normal;
- }
-
- .urlinput {
- @extend .input;
- margin-bottom: 1em;
- }
-
- .button {
- width: 100%;
- margin-top: 1.6em;
- padding: 0;
- height: 2.835em;
- }
- .btn-busca {
- margin-top: 1.25em;
- }
- .container-busca {
- ul{
- list-style: none;
- display: table;
- margin-left: 0;
- border-collapse:separate;
- border-spacing:1px;
-
- li {
- display: table-row;
-
- &:nth-child(even) {
- background-color: rgba(0, 0, 0, 0.05);
-
- }
- &:nth-child(odd) {
- background-color: rgba(0, 0, 0, 0.08);
-
- }
-
- .iteminput {
- display: table-cell;
- padding: 0.5em;
- vertical-align: middle;
- text-align: center;
-
- input {
- margin: 0;
- }
- }
-
- .itemlabel {
- display: table-cell;
-
- padding: 0.5em;
- vertical-align: middle;
- width: 100%;
- }
- }
- }
- .ta_title {
- padding: 0.15em 0.7em;
- background-color: rgba(0, 0, 0, 0.15);
- margin: 0.1em 0.08em 0 0.1em;
- }
- .nomenclatura_heranca {
- font-size: 90%;
- color: #057dba;
- }
- }
- }
- }
}
} /* and dpt */
+
+
.tipo-vigencias {
list-style: none;
position: fixed;
@@ -1002,11 +789,6 @@ a:link:after, a:visited:after {
left: 0em;
}
-
-
-
-
-
.actions_inserts {
background: transparent;
position: relative;
@@ -1029,9 +811,7 @@ a:link:after, a:visited:after {
text-align: center;
white-space: nowrap;
-
&.btn-excluir {
-
text-align: left;
background: #A70808;
color: #c99;
@@ -1108,7 +888,6 @@ a:link:after, a:visited:after {
display: block;
position: static;
-
& > ul {
right: 0.5em;
li {
@@ -1197,6 +976,61 @@ a:link:after, a:visited:after {
}
}
+.result-busca-dispositivo {
+ ul{
+ list-style: none;
+ display: table;
+ margin-left: 0;
+ border-collapse:separate;
+ border-spacing:1px;
+ padding: 0px;
+
+ li {
+ display: table-row;
+
+ &:nth-child(even) {
+ background-color: rgba(0, 0, 0, 0.05);
+
+ }
+ &:nth-child(odd) {
+ background-color: rgba(0, 0, 0, 0.08);
+
+ }
+
+ .iteminput {
+ display: table-cell;
+ padding: 0.5em;
+ vertical-align: middle;
+ text-align: center;
+
+ input {
+ margin: 0;
+ }
+ }
+
+ .itemlabel {
+ display: table-cell;
+ padding: 0.5em;
+ vertical-align: middle;
+ width: 100%;
+ label {
+ line-height: 1;
+ font-family: "SourceSansPro", Helvetica, Arial, sans-serif;
+ }
+ }
+ }
+ }
+ .ta_title {
+ padding: 0.15em 0.7em;
+ background-color: rgba(0, 0, 0, 0.15);
+ margin: 0.1em 0.08em 0 1px;
+ }
+ .nomenclatura_heranca {
+ font-size: 90%;
+ color: #057dba;
+ display: block;
+ }
+}
.cp-nav-parents {
& > .dropdown-menu {
left: 0;
diff --git a/templates/compilacao/dispositivo_form.html b/templates/compilacao/dispositivo_form.html
index 1c5350be9..2f681de8f 100644
--- a/templates/compilacao/dispositivo_form.html
+++ b/templates/compilacao/dispositivo_form.html
@@ -7,7 +7,7 @@
{% block head_content %}{{block.super}}
{% endblock %}
-{% block sections_nav %}
+{% block sections_nav %}
{% url 'compilacao:dispositivo_edit' object.ta_id object.pk as edit_url%}
{% url 'compilacao:dispositivo_edit_vigencia' object.ta_id object.pk as edit_vigencia_url %}
@@ -37,12 +37,8 @@
{% crispy form %}
{% endblock %}
-{% block foot_js %}
- {{block.super}}
-
-{% endblock %}
-
{% block extra_js %}
+
{% endblock %}
diff --git a/templates/compilacao/dispositivo_search_fragment_form.html b/templates/compilacao/dispositivo_search_fragment_form.html
index 385096057..a0f1e5f28 100644
--- a/templates/compilacao/dispositivo_search_fragment_form.html
+++ b/templates/compilacao/dispositivo_search_fragment_form.html
@@ -13,7 +13,6 @@
{{dpt.ta}}
{% endifchanged %}
-
{% if dpt.is_relative_auto_insert and dpt.dispositivo_pai.nivel != 0 %}
-
- {% elif not dpt.tipo_dispositivo.dispositivo_de_articulacao %}
+ {% elif not dpt.tipo_dispositivo.dispositivo_de_articulacao %}
-
+ {% elif dpt.tipo_dispositivo.dispositivo_de_articulacao and request.GET.tipo_select != 'select_for_vide'%}
+ -
+
+
+
+
+
+
{% nomenclatura_heranca dpt 1 1 %}
+
+
{% endif%}
{% if forloop.last %}
{% endif %}
{% endfor %}
diff --git a/templates/compilacao/text_edit_bloco.html b/templates/compilacao/text_edit_bloco.html
index c5568fe21..f35de10b8 100644
--- a/templates/compilacao/text_edit_bloco.html
+++ b/templates/compilacao/text_edit_bloco.html
@@ -27,7 +27,7 @@