diff --git a/base/templatetags/common_tags.py b/base/templatetags/common_tags.py index 6bf2b7283..dc38f1014 100644 --- a/base/templatetags/common_tags.py +++ b/base/templatetags/common_tags.py @@ -29,8 +29,7 @@ def model_verbose_name_plural(class_name): @register.filter def lookup(d, key): - skey = str(key) - return d[str(key)] if skey in d else [] + return d[key] if key in d else [] @register.filter diff --git a/compilacao/forms.py b/compilacao/forms.py index c84bb224e..498da9edd 100644 --- a/compilacao/forms.py +++ b/compilacao/forms.py @@ -1,26 +1,20 @@ +from crispy_forms.bootstrap import FieldWithButtons, FormActions, StrictButton from crispy_forms.helper import FormHelper -from crispy_forms_foundation.layout import (HTML, Column, Div, Fieldset, - Layout, Row) -from crispy_forms_foundation.layout.buttons import Button -from crispy_forms_foundation.layout.fields import Field +from crispy_forms.layout import (HTML, Button, Column, Div, Field, Fieldset, + Layout, Row) from django import forms from django.core.exceptions import NON_FIELD_ERRORS from django.forms.models import ModelForm from django.utils.translation import ugettext_lazy as _ -from compilacao.models import (PARTICIPACAO_SOCIAL_CHOICES, Dispositivo, Nota, +from compilacao.models import (NOTAS_PUBLICIDADE_CHOICES, + PARTICIPACAO_SOCIAL_CHOICES, Dispositivo, Nota, Publicacao, TextoArticulado, TipoNota, TipoPublicacao, TipoTextoArticulado, TipoVide, VeiculoPublicacao, Vide) from sapl.layout import SaplFormLayout, to_column, to_row from sapl.utils import YES_NO_CHOICES - -class UpLoadImportFileForm(forms.Form): - import_file = forms.FileField( - required=True, - label=_('Arquivo formato ODF para Importanção')) - error_messages = { 'required': _('Este campo é obrigatório'), 'invalid': _('URL inválida.') @@ -145,41 +139,30 @@ class TaForm(ModelForm): class NotaForm(ModelForm): - NPRIV = 1 - NINST = 2 - NPUBL = 3 - - PUBLICIDADE_CHOICES = ( - # Only the owner of the note has visibility. - (NPRIV, _('Nota Privada')), - # All authenticated users have visibility. - (NINST, _('Nota Institucional')), - # All users have visibility. - (NPUBL, _('Nota Pública')), - ) - titulo = forms.CharField(label=' ', required=False) + + titulo = forms.CharField( + label=Nota._meta.get_field('titulo').verbose_name, required=False) texto = forms.CharField( - label='', + label=Nota._meta.get_field('texto').verbose_name, widget=forms.Textarea, error_messages=error_messages) url_externa = forms.URLField( - label='', + label=Nota._meta.get_field('url_externa').verbose_name, required=False, error_messages=error_messages) publicidade = forms.ChoiceField( required=True, - label=_('Publicidade'), - choices=PUBLICIDADE_CHOICES, + label=Nota._meta.get_field('publicidade').verbose_name, + choices=NOTAS_PUBLICIDADE_CHOICES, widget=forms.Select(attrs={'class': 'selector'})) tipo = forms.ModelChoiceField( - required=False, - label=_('Tipo da Nota'), + label=Nota._meta.get_field('tipo').verbose_name, queryset=TipoNota.objects.all(), empty_label=None) publicacao = forms.DateField( - label=_('Publicação'), + label=Nota._meta.get_field('publicacao').verbose_name, input_formats=['%d/%m/%Y'], required=True, widget=forms.DateInput( @@ -187,7 +170,7 @@ class NotaForm(ModelForm): error_messages=error_messages ) efetividade = forms.DateField( - label=_('Efetividade'), + label=Nota._meta.get_field('efetividade').verbose_name, input_formats=['%d/%m/%Y'], required=True, widget=forms.DateInput( @@ -225,20 +208,39 @@ class NotaForm(ModelForm): css_class='col-md-8')) row3 = to_row([ - ('publicidade', 3), + ('publicidade', 6), ('publicacao', 3), ('efetividade', 3), - (Button('submit', _('Salvar'), - css_class='btn btn-primary'), 3) ]) + buttons = FormActions( + HTML('' + '%s' % _('Cancelar')), + Button( + 'submit-form', + 'Salvar', + css_class='btn btn-primary pull-right') + ) + self.helper = FormHelper() self.helper.layout = Layout( - Div(HTML(_('Notas')), css_class='title_form'), - row1, - Field('texto', placeholder=_('Adicionar Nota')), - Field('url_externa', placeholder=_('URL Externa (opcional)')), - row3 + + Div( + Div(HTML(_('Notas')), css_class='panel-heading'), + Div( + row1, + to_row([(Field( + 'texto', + placeholder=_('Adicionar Nota')), 12)]), + to_row([(Field( + 'url_externa', + placeholder=_('URL Externa (opcional)')), 12)]), + row3, + to_row([(buttons, 12)]), + css_class="panel-body" + ), + css_class="panel panel-primary" + ) ) super(NotaForm, self).__init__(*args, **kwargs) @@ -256,6 +258,11 @@ class VideForm(ModelForm): label=_('Tipo do Texto Articulado'), queryset=TipoTextoArticulado.objects.all(), required=False) + + tipo_model = forms.ChoiceField( + choices=[], + label=_('Tipos de...'), required=False) + num_ta = forms.IntegerField( label=_('Núm Texto Articulado'), required=False) ano_ta = forms.IntegerField( @@ -293,54 +300,63 @@ class VideForm(ModelForm): def __init__(self, *args, **kwargs): - self.helper = FormHelper() - self.helper.layout = Layout( + buttons = FormActions( + HTML('' + '%s' % _('Cancelar')), + Button( + 'submit-form', + 'Salvar', + css_class='btn-primary pull-right') + ) - Div(HTML(_('Vides')), css_class='title_form'), + fields_form = Div( + Row(to_column((Field( + 'tipo', + placeholder=_('Selecione um Tipo de Vide')), 12))), + Row(to_column((Field( + 'texto', + 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(( - Div( - Div(to_column((Field( - 'tipo', - placeholder=_('Selecione um Tipo de Vide')), 12))), - Div(to_column(( - Field( - 'texto', - placeholder=_( - 'Texto Adicional ao Vide')), 12))), - Div(to_column(( - Button( - 'submit', - 'Salvar', - css_class='btn btn-primary'), 12))) - ), 4)), - to_column(( - Div( - Div(to_column(('tipo_ta', 6))), - Div(to_column(('num_ta', 3)), - to_column(('ano_ta', 3))), - Div(to_column( - (Field( - 'busca_dispositivo', - placeholder=_('Digite palavras, letras, ' - 'números ou algo' - ' que estejam ' - 'no rótulo ou no texto.')), 10)), - to_column(( - Button( - 'buscar', - 'Buscar', - css_class='btn btn-primary btn-busca'), 2)) - - ), - to_column( - (Div(css_class='container-busca'), 12)) - ), 8) - ) + 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))) + ) + + self.helper = FormHelper() + self.helper.layout = Layout( + Div( + Div(HTML(_('Vides')), css_class='panel-heading'), + Div( + to_column(( + fields_form, 4)), + to_column(( + fields_search, 8)), css_class="panel-body" + ), + css_class="panel panel-primary" ) ) + 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) diff --git a/compilacao/models.py b/compilacao/models.py index 3155f1de5..0f197e071 100644 --- a/compilacao/models.py +++ b/compilacao/models.py @@ -473,7 +473,7 @@ class Publicacao(TimestampedMixin): verbose_name_plural = _('Publicações') def __str__(self): - return _('%s realizada em %s \n %s') % ( + return _('%s realizada em %s \n %s') % ( self.tipo_publicacao, defaultfilters.date(self.data, "d \d\e F \d\e Y"), self.ta) @@ -624,9 +624,8 @@ class Dispositivo(BaseModel, TimestampedMixin): ) def __str__(self): - return '%(rotulo)s - %(ta)s' % { - 'rotulo': (self.rotulo if self.rotulo else self.tipo_dispositivo), - 'ta': self.ta} + return '%(rotulo)s' % { + 'rotulo': (self.rotulo if self.rotulo else self.tipo_dispositivo)} def rotulo_padrao(self, local_insert=0, for_insert_in=0): """ @@ -1145,20 +1144,25 @@ class Vide(TimestampedMixin): return _('Vide %s') % self.texto +NPRIV = 1 +NINST = 2 +NPUBL = 3 +NOTAS_PUBLICIDADE_CHOICES = ( + # Only the owner of the note has visibility. + (NPRIV, _('Nota Privada')), + # All authenticated users have visibility. + (NINST, _('Nota Institucional')), + # All users have visibility. + (NPUBL, _('Nota Pública')), +) + + class Nota(TimestampedMixin): + NPRIV = 1 NINST = 2 NPUBL = 3 - PUBLICIDADE_CHOICES = ( - # Only the owner of the note has visibility. - (NPRIV, _('Nota Privada')), - # All authenticated users have visibility. - (NINST, _('Nota Institucional')), - # All users have visibility. - (NPUBL, _('Nota Pública')), - ) - titulo = models.CharField( verbose_name=_('Título'), max_length=100, @@ -1181,7 +1185,7 @@ class Nota(TimestampedMixin): owner = models.ForeignKey(User, verbose_name=_('Dono da Nota')) publicidade = models.PositiveSmallIntegerField( - choices=PUBLICIDADE_CHOICES, + choices=NOTAS_PUBLICIDADE_CHOICES, verbose_name=_('Nível de Publicidade')) class Meta: diff --git a/compilacao/templatetags/compilacao_filters.py b/compilacao/templatetags/compilacao_filters.py index b620ed307..544223d60 100644 --- a/compilacao/templatetags/compilacao_filters.py +++ b/compilacao/templatetags/compilacao_filters.py @@ -36,15 +36,18 @@ def dispositivo_desativado(dispositivo, inicio_vigencia, fim_vigencia): @register.simple_tag -def nota_automatica(dispositivo): +def nota_automatica(dispositivo, ta_pub_list): if dispositivo.ta_publicado is not None: d = dispositivo.dispositivo_atualizador.dispositivo_pai if dispositivo.texto == Dispositivo.TEXTO_PADRAO_DISPOSITIVO_REVOGADO: - return 'Revogado pelo %s.' % d - elif not dispositivo.dispositivo_substituido: - return 'Inclusão feita pelo %s.' % d + return 'Revogado pelo %s - %s.' % ( + d, ta_pub_list[dispositivo.ta_publicado_id]) + elif not dispositivo.dispositivo_substituido_id: + return 'Inclusão feita pelo %s - %s.' % ( + d, ta_pub_list[dispositivo.ta_publicado_id]) else: - return 'Alteração feita pelo %s.' % d + return 'Alteração feita pelo %s - %s.' % ( + d, ta_pub_list[dispositivo.ta_publicado_id]) return '' diff --git a/compilacao/urls.py b/compilacao/urls.py index 93653f379..b90eb215b 100644 --- a/compilacao/urls.py +++ b/compilacao/urls.py @@ -16,6 +16,7 @@ urlpatterns_compilacao = [ url(r'^(?P[0-9]+)/text$', views.TextView.as_view(), name='ta_text'), + url(r'^(?P[0-9]+)/text/vigencia/(?P.+)/$', views.TextView.as_view(), name='ta_vigencia'), @@ -85,17 +86,19 @@ urlpatterns_compilacao = [ url(r'^config/tipo-textoarticulado/(?P[0-9]+)/delete$', views.TipoTaDeleteView.as_view(), name='tipo_ta_delete'), - url(r'^config/tipo-nota/', + +] + +urlpatterns = [ + url(r'^ta/', include(urlpatterns_compilacao, 'compilacao', 'compilacao')), + + url(r'^ta/config/tipo-nota/', include(tipo_nota_crud.urls)), - url(r'^config/tipo-vide/', + url(r'^ta/config/tipo-vide/', include(tipo_vide_crud.urls)), - url(r'^config/tipo-publicacao/', + url(r'^ta/config/tipo-publicacao/', include(tipo_publicacao_crud.urls)), - url(r'^config/veiculo-publicacao/', + url(r'^ta/config/veiculo-publicacao/', include(veiculo_publicacao_crud.urls)), ] - -urlpatterns = [ - url(r'^ta/', include(urlpatterns_compilacao)), -] diff --git a/compilacao/views.py b/compilacao/views.py index 46d084842..d9f2cc602 100644 --- a/compilacao/views.py +++ b/compilacao/views.py @@ -7,7 +7,7 @@ from django import forms from django.contrib.auth.decorators import login_required from django.contrib.contenttypes.models import ContentType from django.core.signing import Signer -from django.core.urlresolvers import reverse, reverse_lazy +from django.core.urlresolvers import reverse_lazy from django.db.models import Q from django.http.response import (HttpResponse, HttpResponseRedirect, JsonResponse) @@ -38,7 +38,9 @@ DISPOSITIVO_SELECT_RELATED = ( 'dispositivo_atualizador__dispositivo_pai__ta', 'dispositivo_atualizador__dispositivo_pai__ta__tipo_ta', 'dispositivo_pai', - 'dispositivo_pai__tipo_dispositivo') + 'dispositivo_pai__tipo_dispositivo', + 'ta_publicado', + 'ta',) tipo_nota_crud = build_crud( TipoNota, 'tipo_nota', [ @@ -174,7 +176,8 @@ class IntegracaoTaView(TemplateView): ta.save() - return redirect(to=reverse_lazy('ta_text', kwargs={'ta_id': ta.pk})) + return redirect(to=reverse_lazy('compilacao:ta_text', + kwargs={'ta_id': ta.pk})) class Meta: abstract = True @@ -193,17 +196,18 @@ def get_integrations_view_names(): return result -def choice_extenal_views(): +def choice_models_in_extenal_views(): integrations_view_names = get_integrations_view_names() result = [(None, '-------------'), ] for item in integrations_view_names: - ct = ContentType.objects.filter( - model=item.model.__name__.lower(), - app_label=item.model._meta.app_label) - if ct.exists(): - result.append(( - ct[0].pk, - item.model._meta.verbose_name_plural)) + if hasattr(item, 'model') and hasattr(item, 'model_type_foreignkey'): + ct = ContentType.objects.filter( + model=item.model.__name__.lower(), + app_label=item.model._meta.app_label) + if ct.exists(): + result.append(( + ct[0].pk, + item.model._meta.verbose_name_plural)) return result @@ -228,7 +232,7 @@ class TipoTaListView(ListView): @property def create_url(self): - return reverse_lazy('tipo_ta_create') + return reverse_lazy('compilacao:tipo_ta_create') class TipoTaCreateView(FormMessagesMixin, CreateView): @@ -242,17 +246,18 @@ class TipoTaCreateView(FormMessagesMixin, CreateView): self.object = None form = self.get_form() form.fields['content_type'] = forms.ChoiceField( - choices=choice_extenal_views(), + choices=choice_models_in_extenal_views(), label=_('Modelo Integrado'), required=False) return self.render_to_response(self.get_context_data(form=form)) def get_success_url(self): - return reverse_lazy('tipo_ta_detail', kwargs={'pk': self.object.id}) + return reverse_lazy('compilacao:tipo_ta_detail', + kwargs={'pk': self.object.id}) @property def cancel_url(self): - return reverse_lazy('tipo_ta_list') + return reverse_lazy('compilacao:tipo_ta_list') class TipoTaDetailView(CompMixin, DetailView): @@ -268,28 +273,31 @@ class TipoTaUpdateView(CompMixin, UpdateView): self.object = self.get_object() form = self.get_form() form.fields['content_type'] = forms.ChoiceField( - choices=choice_extenal_views(), + choices=choice_models_in_extenal_views(), label=_('Modelo Integrado'), required=False) return self.render_to_response(self.get_context_data(form=form)) def get_success_url(self): - return reverse_lazy('tipo_ta_detail', kwargs={'pk': self.kwargs['pk']}) + return reverse_lazy('compilacao:tipo_ta_detail', + kwargs={'pk': self.kwargs['pk']}) @property def cancel_url(self): - return reverse_lazy('tipo_ta_detail', kwargs={'pk': self.kwargs['pk']}) + return reverse_lazy('compilacao:tipo_ta_detail', + kwargs={'pk': self.kwargs['pk']}) class TipoTaDeleteView(CompMixin, DeleteView): model = TipoTextoArticulado - template_name = "compilacao/confirm_delete.html" + template_name = "crud/confirm_delete.html" @property def detail_url(self): - return reverse_lazy('tipo_ta_detail', kwargs={'pk': self.kwargs['pk']}) + return reverse_lazy('compilacao:tipo_ta_detail', + kwargs={'pk': self.kwargs['pk']}) def get_success_url(self): - return reverse_lazy('tipo_ta_list') + return reverse_lazy('compilacao:tipo_ta_list') class TaListView(ListView): @@ -303,7 +311,7 @@ class TaListView(ListView): @property def create_url(self): - return reverse_lazy('ta_create') + return reverse_lazy('compilacao:ta_create') def get_context_data(self, **kwargs): context = super(TaListView, self).get_context_data(**kwargs) @@ -321,7 +329,8 @@ class TaDetailView(DetailView): def title(self): if self.get_object().content_object: return _( - 'Metadados para o Texto Articulado da %s - %s') % ( + 'Metadados para o Texto Articulado de %s\n' + '%s') % ( self.get_object().content_object._meta.verbose_name_plural, self.get_object().content_object) else: @@ -336,11 +345,12 @@ class TaCreateView(FormMessagesMixin, CreateView): form_invalid_message = _('O registro não foi criado.') def get_success_url(self): - return reverse_lazy('ta_detail', kwargs={'pk': self.object.id}) + return reverse_lazy('compilacao:ta_detail', + kwargs={'pk': self.object.id}) @property def cancel_url(self): - return reverse_lazy('ta_list') + return reverse_lazy('compilacao:ta_list') class TaUpdateView(CompMixin, UpdateView): @@ -357,23 +367,26 @@ class TaUpdateView(CompMixin, UpdateView): return self.render_to_response(self.get_context_data(form=form)) def get_success_url(self): - return reverse_lazy('ta_detail', kwargs={'pk': self.kwargs['pk']}) + return reverse_lazy('compilacao:ta_detail', + kwargs={'pk': self.kwargs['pk']}) @property def cancel_url(self): - return reverse_lazy('ta_detail', kwargs={'pk': self.kwargs['pk']}) + return reverse_lazy('compilacao:ta_detail', + kwargs={'pk': self.kwargs['pk']}) class TaDeleteView(CompMixin, DeleteView): model = TextoArticulado - template_name = "compilacao/confirm_delete.html" + template_name = "crud/confirm_delete.html" @property def detail_url(self): - return reverse_lazy('ta_detail', kwargs={'pk': self.kwargs['pk']}) + return reverse_lazy('compilacao:ta_detail', + kwargs={'pk': self.kwargs['pk']}) def get_success_url(self): - return reverse_lazy('ta_list') + return reverse_lazy('compilacao:ta_list') class TextView(ListView, CompMixin): @@ -444,9 +457,9 @@ class TextView(ListView, CompMixin): context['cita'] = {} for c in cita: - if str(c.dispositivo_base_id) not in context['cita']: - context['cita'][str(c.dispositivo_base_id)] = [] - context['cita'][str(c.dispositivo_base_id)].append(c) + if c.dispositivo_base_id not in context['cita']: + context['cita'][c.dispositivo_base_id] = [] + context['cita'][c.dispositivo_base_id].append(c) citado = Vide.objects.filter( Q(dispositivo_ref__ta_id=self.kwargs['ta_id'])).\ @@ -458,9 +471,9 @@ class TextView(ListView, CompMixin): context['citado'] = {} for c in citado: - if str(c.dispositivo_ref_id) not in context['citado']: - context['citado'][str(c.dispositivo_ref_id)] = [] - context['citado'][str(c.dispositivo_ref_id)].append(c) + if c.dispositivo_ref_id not in context['citado']: + context['citado'][c.dispositivo_ref_id] = [] + context['citado'][c.dispositivo_ref_id].append(c) notas = Nota.objects.filter( dispositivo__ta_id=self.kwargs['ta_id']).select_related( @@ -468,9 +481,19 @@ class TextView(ListView, CompMixin): context['notas'] = {} for n in notas: - if str(n.dispositivo_id) not in context['notas']: - context['notas'][str(n.dispositivo_id)] = [] - context['notas'][str(n.dispositivo_id)].append(n) + if n.dispositivo_id not in context['notas']: + context['notas'][n.dispositivo_id] = [] + context['notas'][n.dispositivo_id].append(n) + + tas_pub = [d.ta_publicado for d in self.object_list if d.ta_publicado] + tas_pub = set(tas_pub) + ta_pub_list = {} + for ta in tas_pub: + ta_pub_list[ta.pk] = str(ta) + context['ta_pub_list'] = ta_pub_list + + # context['vigencias'] = self.get_vigencias() + return context def get_queryset(self): @@ -601,7 +624,7 @@ class DispositivoView(TextView): return itens -class TextEditView(TextView): +class TextEditView(ListView, CompMixin): template_name = 'compilacao/text_edit.html' flag_alteradora = -1 @@ -611,14 +634,27 @@ class TextEditView(TextView): pk_edit = 0 pk_view = 0 - """ + def get(self, request, *args, **kwargs): - self.object_list = self.get_queryset() - context = self.get_context_data( - object_list=self.object_list) + return ListView.get(self, request, *args, **kwargs) - return self.render_to_response(context)""" + def get_context_data(self, **kwargs): + context = super(TextEditView, self).get_context_data(**kwargs) + + ta = TextoArticulado.objects.get(pk=self.kwargs['ta_id']) + self.object = ta + + context['object'] = self.object + + tas_pub = [d.ta_publicado for d in self.object_list if d.ta_publicado] + tas_pub = set(tas_pub) + ta_pub_list = {} + for ta in tas_pub: + ta_pub_list[ta.pk] = str(ta) + context['ta_pub_list'] = ta_pub_list + + return context def get_queryset(self): self.pk_edit = 0 @@ -722,7 +758,8 @@ class DispositivoEditView(TextEditView): if not dnext.exists(): dnext = [] - dnext[0] = d + dnext.append(d) + pais = [d.dispositivo_pai_id, ] else: if dnext[0].nivel > d.nivel: @@ -1385,8 +1422,8 @@ class ActionsEditView(ActionsEditMixin, TemplateView): class DispositivoSuccessUrlMixin(object): def get_success_url(self): - return reverse( - 'dispositivo', kwargs={ + return reverse_lazy( + 'compilacao:dispositivo', kwargs={ 'ta_id': self.kwargs[ 'ta_id'], 'dispositivo_id': self.kwargs[ @@ -1428,6 +1465,7 @@ class NotasCreateView(NotaMixin, CreateView): return super(NotasCreateView, self).get(request, *args, **kwargs) def post(self, request, *args, **kwargs): + self.object = None try: ta_id = kwargs.pop('ta_id') dispositivo_id = kwargs.pop('dispositivo_id') @@ -1487,30 +1525,58 @@ class VideMixin(DispositivoSuccessUrlMixin): return super(VideMixin, self).dispatch(*args, **kwargs) +def choice_model_type_foreignkey_in_extenal_views(id_tipo_ta=None): + result = [(None, '-------------'), ] + + if not id_tipo_ta: + return result + + tipo_ta = TipoTextoArticulado.objects.get(pk=id_tipo_ta) + + integrations_view_names = get_integrations_view_names() + for item in integrations_view_names: + if hasattr(item, 'model_type_foreignkey'): + if (tipo_ta.content_type.model == item.model.__name__.lower() and + 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 post_old(self, request, *args, **kwargs): - try: - self.object = None - ta_id = kwargs.pop('ta_id') - dispositivo_id = kwargs.pop('dispositivo_id') - form = VideForm(request.POST, request.FILES, **kwargs) - kwargs['ta_id'] = ta_id - kwargs['dispositivo_id'] = dispositivo_id + def get(self, request, *args, **kwargs): + self.object = None - if form.is_valid(): - vd = form.save(commit=False) - vd.save() - self.kwargs['pk'] = vd.pk - return self.form_valid(form) - else: - return self.form_invalid(form) - except Exception as e: - print(e) - return HttpResponse("error post") + 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) + + form = self.get_form() + return self.render_to_response(self.get_context_data(form=form)) + + def get_form_kwargs(self): + + kwargs = super(VideCreateView, self).get_form_kwargs() + + if 'choice_model_type_foreignkey_in_extenal_views' not in kwargs: + kwargs.update({ + 'choice_model_type_foreignkey_in_extenal_views': + choice_model_type_foreignkey_in_extenal_views + }) + + return kwargs class VideEditView(VideMixin, UpdateView): @@ -1589,7 +1655,59 @@ class DispositivoSearchFragmentFormView(ListView): q = q & Q(pk=initial_ref) n = 50 - return Dispositivo.objects.filter(q)[:n] + result = Dispositivo.objects.filter(q).select_related('ta') + + if 'tipo_model' not in self.request.GET: + return result[:n] + + tipo_model = self.request.GET['tipo_model'] + if not tipo_model: + return result[:n] + + integrations_view_names = get_integrations_view_names() + + tipo_ta = TipoTextoArticulado.objects.get(pk=tipo_ta) + + model_class = None + for item in integrations_view_names: + if hasattr(item, 'model_type_foreignkey') and\ + hasattr(item, 'model'): + if (tipo_ta.content_type.model == + item.model.__name__.lower() and + tipo_ta.content_type.app_label == + item.model._meta.app_label): + + model_class = item.model + model_type_class = item.model_type_foreignkey + tipo_model = item.model_type_foreignkey.objects.get( + pk=tipo_model) + break + + if not model_class: + return result[:n] + + column_field = '' + for field in model_class._meta.fields: + if field.related_model == model_type_class: + column_field = field.column + break + + if not column_field: + return result[:n] + + r = [] + + for d in result: + if not d.ta.content_object or\ + not hasattr(d.ta.content_object, column_field): + continue + + if tipo_model.pk == getattr(d.ta.content_object, column_field): + r.append(d) + + if len(r) == n: + break + return r except Exception as e: print(e) @@ -1613,7 +1731,7 @@ class PublicacaoListView(ListView): @property def create_url(self): return reverse_lazy( - 'ta_pub_create', + 'compilacao:ta_pub_create', kwargs={'ta_id': self.kwargs['ta_id']}) def get_queryset(self): @@ -1635,7 +1753,7 @@ class PublicacaoCreateView(FormMessagesMixin, CreateView): def get_success_url(self): return reverse_lazy( - 'ta_pub_detail', + 'compilacao:ta_pub_detail', kwargs={ 'pk': self.object.id, 'ta_id': self.kwargs['ta_id']}) @@ -1643,7 +1761,7 @@ class PublicacaoCreateView(FormMessagesMixin, CreateView): @property def cancel_url(self): return reverse_lazy( - 'ta_pub_list', + 'compilacao:ta_pub_list', kwargs={'ta_id': self.kwargs['ta_id']}) def get_initial(self): @@ -1668,7 +1786,7 @@ class PublicacaoUpdateView(CompMixin, UpdateView): return self.render_to_response(self.get_context_data(form=form)) def get_success_url(self): - return reverse_lazy('ta_pub_detail', + return reverse_lazy('compilacao:ta_pub_detail', kwargs={ 'pk': self.object.id, 'ta_id': self.kwargs['ta_id']}) @@ -1680,15 +1798,15 @@ class PublicacaoUpdateView(CompMixin, UpdateView): class PublicacaoDeleteView(CompMixin, DeleteView): model = Publicacao - template_name = "compilacao/confirm_delete.html" + template_name = "crud/confirm_delete.html" @property def detail_url(self): - return reverse_lazy('ta_pub_detail', + return reverse_lazy('compilacao:ta_pub_detail', kwargs={ 'pk': self.object.id, 'ta_id': self.kwargs['ta_id']}) def get_success_url(self): - return reverse_lazy('ta_pub_list', + return reverse_lazy('compilacao:ta_pub_list', kwargs={'ta_id': self.kwargs['ta_id']}) diff --git a/materia/views.py b/materia/views.py index 1f63def44..178016862 100644 --- a/materia/views.py +++ b/materia/views.py @@ -1486,7 +1486,9 @@ class ProposicaoView(FormMixin, GenericView): class MateriaTaView(IntegracaoTaView): model = MateriaLegislativa + model_type_foreignkey = TipoMateriaLegislativa class ProposicaoTaView(IntegracaoTaView): model = Proposicao + model_type_foreignkey = TipoProposicao diff --git a/norma/urls.py b/norma/urls.py index 862e535ed..b770223fa 100644 --- a/norma/urls.py +++ b/norma/urls.py @@ -3,17 +3,17 @@ from django.conf.urls import include, url from norma.views import (NormaIncluirView, NormaTaView, assunto_norma_crud, norma_temporario_crud, tipo_norma_crud) -norma_url_patterns = norma_temporario_crud.urlpatterns # norma_url_patterns = norma_crud.urlpatterns + [] +norma_url_patterns = norma_temporario_crud.urlpatterns + [ + url(r'^norma/(?P[0-9]+)/ta$', + NormaTaView.as_view(), name='ta') +] urlpatterns = [ url(r'^norma/', include(norma_url_patterns, norma_temporario_crud.namespace, norma_temporario_crud.namespace)), - url(r'^norma/(?P[0-9]+)/ta$', - NormaTaView.as_view(), name='norma_ta'), - url(r'^sistema/norma/tipo/', include(tipo_norma_crud.urls)), url(r'^sistema/norma/assunto/', include(assunto_norma_crud.urls)), diff --git a/norma/views.py b/norma/views.py index e937446f7..9a630a515 100644 --- a/norma/views.py +++ b/norma/views.py @@ -125,3 +125,4 @@ class NormaIncluirView(FormMixin, GenericView): class NormaTaView(IntegracaoTaView): model = NormaJuridica + model_type_foreignkey = TipoNormaJuridica diff --git a/sapl/layout.py b/sapl/layout.py index a779b20e5..6d0c4c7f5 100644 --- a/sapl/layout.py +++ b/sapl/layout.py @@ -23,7 +23,8 @@ def to_fieldsets(fields): def form_actions(more=[], save_label=_('Salvar')): - return FormActions(Submit('salvar', save_label), *more) + return FormActions( + Submit('salvar', save_label, css_class='pull-right'), *more) class SaplFormLayout(Layout): diff --git a/static/js/app.js b/static/js/app.js index 7f00d4398..87d7b099f 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -13,7 +13,7 @@ function refreshMask() { $('.rg').mask("0.000.000", {placeholder:"_.___.___"}); $('.titulo_eleitor').mask("0000.0000.0000.0000", {placeholder:"____.____.____.____"}); $('.hora').mask("00:00", {placeholder:"hh:mm"}); - $('.hora_hms').mask("00:00:00", {placeholder:"hh:mm:ss"}); + $('.hora_hms').mask("00:00:00", {placeholder:"hh:mm:ss"}); } $(document).ready(function(){ diff --git a/static/js/compilacao.js b/static/js/compilacao.js index 2a76a1acb..b36783c66 100644 --- a/static/js/compilacao.js +++ b/static/js/compilacao.js @@ -1,40 +1,40 @@ function initTinymce() { - tinymce.init({ - mode : "textareas", - force_br_newlines : false, - force_p_newlines : false, - forced_root_block : '', - plugins: ["table save code"], - menubar: "edit format table tools", - toolbar: "save | undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent", - tools: "inserttable", - save_onsavecallback: onSubmitEditForm, - border_css: "/static/styles/compilacao_tinymce.css", - content_css: "/static/styles/compilacao_tinymce.css" - }); + tinymce.init({ + mode : "textareas", + force_br_newlines : false, + force_p_newlines : false, + forced_root_block : '', + plugins: ["table save code"], + menubar: "edit format table tools", + toolbar: "save | undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent", + tools: "inserttable", + save_onsavecallback: onSubmitEditForm, + border_css: "/static/styles/compilacao_tinymce.css", + content_css: "/static/styles/compilacao_tinymce.css" + }); } function SetCookie(cookieName,cookieValue,nDays) { - var today = new Date(); - var expire = new Date(); - if (nDays==null || nDays==0) nDays=1; - expire.setTime(today.getTime() + 3600000*24*nDays); - document.cookie = cookieName+"="+escape(cookieValue) - + ";expires="+expire.toGMTString(); + var today = new Date(); + var expire = new Date(); + if (nDays==null || nDays==0) nDays=1; + expire.setTime(today.getTime() + 3600000*24*nDays); + document.cookie = cookieName+"="+escape(cookieValue) + + ";expires="+expire.toGMTString(); } function ReadCookie(cookieName) { - var theCookie=" "+document.cookie; - var ind=theCookie.indexOf(" "+cookieName+"="); - if (ind==-1) ind=theCookie.indexOf(";"+cookieName+"="); - if (ind==-1 || cookieName=="") return ""; - var ind1=theCookie.indexOf(";",ind+1); - if (ind1==-1) ind1=theCookie.length; - return unescape(theCookie.substring(ind+cookieName.length+2,ind1)); + var theCookie=" "+document.cookie; + var ind=theCookie.indexOf(" "+cookieName+"="); + if (ind==-1) ind=theCookie.indexOf(";"+cookieName+"="); + if (ind==-1 || cookieName=="") return ""; + var ind1=theCookie.indexOf(";",ind+1); + if (ind1==-1) ind1=theCookie.length; + return unescape(theCookie.substring(ind+cookieName.length+2,ind1)); } function insertWaitAjax(element) { - //jQuery(element).append('
'); - jQuery(element).append('
'); + //jQuery(element).append('
'); + jQuery(element).append('
'); } diff --git a/static/js/compilacao_edit.js b/static/js/compilacao_edit.js index 44ad142ba..a5f720e33 100644 --- a/static/js/compilacao_edit.js +++ b/static/js/compilacao_edit.js @@ -3,255 +3,255 @@ var editortype = "textarea"; var gets = 0; var onSubmitEditForm = function(event) { - var texto = ''; - var editorTiny = tinymce.get('editdi_texto'); - - if (editorTiny != null) - texto = editorTiny.getContent(); - else - texto = $('#editdi_texto').val(); - - var formData = { - 'csrfmiddlewaretoken' : $('input[name=csrfmiddlewaretoken]').val(), - 'texto' : texto - }; - - var url = $('.csform form').attr( "action_ajax" ); - $("#message_block").css("display", "block"); - - $.post(url, formData) - .done(function(data) { - - if (typeof data == "string") { - $('.dpt-selected').html(data); - clearEditSelected(); - reloadFunctionClicks(); - return; - } - - clearEditSelected(); - - if (data.pk != null) - refreshScreenFocusPk(data); - else { - alert('Erro na inserção!'); - flag_refresh_all = false; - } - - }).always(function() { - $("#message_block").css("display", "none"); - }); - if (event != null) - event.preventDefault(); + var texto = ''; + var editorTiny = tinymce.get('editdi_texto'); + + if (editorTiny != null) + texto = editorTiny.getContent(); + else + texto = $('#editdi_texto').val(); + + var formData = { + 'csrfmiddlewaretoken' : $('input[name=csrfmiddlewaretoken]').val(), + 'texto' : texto + }; + + var url = $('.csform form').attr( "action_ajax" ); + $("#message_block").css("display", "block"); + + $.post(url, formData) + .done(function(data) { + + if (typeof data == "string") { + $('.dpt-selected').html(data); + clearEditSelected(); + reloadFunctionClicks(); + return; + } + + clearEditSelected(); + + if (data.pk != null) + refreshScreenFocusPk(data); + else { + alert('Erro na inserção!'); + flag_refresh_all = false; + } + + }).always(function() { + $("#message_block").css("display", "none"); + }); + if (event != null) + event.preventDefault(); } var clickEditDispositivo = function(event) { - var _pk = event.currentTarget.getAttribute('pk'); - if ($('#dpt'+_pk).hasClass("dpt-selected")) { - clearEditSelected(); - return; - } - clearEditSelected(); - clickUpdateDispositivo(event); + var _pk = event.currentTarget.getAttribute('pk'); + if ($('#dpt'+_pk).hasClass("dpt-selected")) { + clearEditSelected(); + return; + } + clearEditSelected(); + clickUpdateDispositivo(event); } var clickUpdateDispositivo = function(event, __pk_refresh, __pk_edit, __action, flag_actions_vibible, flag_refresh_all) { - var pk_refresh = __pk_refresh; - var pk_edit = __pk_edit; - var _action = __action; - var _variacao = ''; - var _tipo_pk = ''; - var _perfil_pk = ''; - - if (event != null) { - pk_refresh = event.currentTarget.getAttribute('pk'); - _action = $(this).attr('action'); - _variacao = $(this).attr('variacao'); - _tipo_pk = $(this).attr('tipo_pk'); - _perfil_pk = $(this).attr('perfil_pk'); - } - - if (pk_edit == null) - pk_edit = pk_refresh; - - var url = ''; - if (_action == '') - return; - else if ( _action == null) { - url = pk_refresh+'/refresh?edit='+pk_edit; - } - else if (_action.startsWith('refresh')) { - var str = _action.split(':'); - if (str.length > 1) { - if(_action.endsWith('perfil')) { - url = '&perfil_pk='+_perfil_pk; - $("#message_block").css("display", "block"); - } - else { - editortype = str[1]; - SetCookie("editortype", editortype, 30) - } - } - url = pk_refresh+'/refresh?edit='+pk_edit+url; - - } - else if (_action.startsWith('add_')) { - - url = pk_refresh+'/actions?action='+_action; - url += '&tipo_pk='+_tipo_pk; - url += '&variacao='+_variacao; - - $("#message_block").css("display", "block"); - - } - else if (_action.startsWith('delete_')) { - var r = confirm("Confirma Exclusão deste dispositivo?"); - if (r == true) { - x = "You pressed OK!"; - } else { - return - } - url = pk_refresh+'/actions?action='+_action; - $("#message_block").css("display", "block"); - } - - $.get(url).done(function( data ) { - if ( _action == null || _action.startsWith('refresh')) { - - if (flag_refresh_all) { + var pk_refresh = __pk_refresh; + var pk_edit = __pk_edit; + var _action = __action; + var _variacao = ''; + var _tipo_pk = ''; + var _perfil_pk = ''; + + if (event != null) { + pk_refresh = event.currentTarget.getAttribute('pk'); + _action = $(this).attr('action'); + _variacao = $(this).attr('variacao'); + _tipo_pk = $(this).attr('tipo_pk'); + _perfil_pk = $(this).attr('perfil_pk'); + } + + if (pk_edit == null) + pk_edit = pk_refresh; + + var url = ''; + if (_action == '') + return; + else if ( _action == null) { + url = pk_refresh+'/refresh?edit='+pk_edit; + } + else if (_action.startsWith('refresh')) { + var str = _action.split(':'); + if (str.length > 1) { + if(_action.endsWith('perfil')) { + url = '&perfil_pk='+_perfil_pk; + $("#message_block").css("display", "block"); + } + else { + editortype = str[1]; + SetCookie("editortype", editortype, 30) + } + } + url = pk_refresh+'/refresh?edit='+pk_edit+url; + + } + else if (_action.startsWith('add_')) { + + url = pk_refresh+'/actions?action='+_action; + url += '&tipo_pk='+_tipo_pk; + url += '&variacao='+_variacao; + + $("#message_block").css("display", "block"); + + } + else if (_action.startsWith('delete_')) { + var r = confirm("Confirma Exclusão deste dispositivo?"); + if (r == true) { + x = "You pressed OK!"; + } else { + return + } + url = pk_refresh+'/actions?action='+_action; + $("#message_block").css("display", "block"); + } + + $.get(url).done(function( data ) { + if ( _action == null || _action.startsWith('refresh')) { + + if (flag_refresh_all) { if (flag_actions_vibible) clearEditSelected(); - $( '#dpt' + pk_refresh ).html( data); - } - else { - //console.log(pk_refresh + ' - '+pk_edit) - if (flag_actions_vibible == null || flag_actions_vibible) - clearEditSelected(); - - //$( '#dpt' + pk_refresh+' > .bloco' ).addClass('displaynone' ); - $( '#dpt' + pk_refresh ).prepend( data ); - } - - reloadFunctionClicks(); - - var _editortype = editortype; - if ( $('.edt-'+_editortype).length == 0) { - _editortype = 'construct'; - } - - if ( _editortype == 'tinymce' ) { - initTinymce(); - } - else if (_editortype == 'textarea') { - $('.csform form').submit(onSubmitEditForm); - } - else if (_editortype == 'construct') { - $('.csform .btn-salvar').parent().addClass("displaynone"); - $('.csform .btn-salvar, .csform .fields').addClass("displaynone"); - $('#dpt'+pk_refresh).css('min-height', $('.actions_right').height()*2); - $('.actions_inserts').removeClass('menu_flutuante'); - } - else if (_editortype == 'detail') { - $('.csform .btn-salvar').parent().removeClass("displaynone"); - $('.csform .btn-salvar, .csform .fields').removeClass("displaynone"); - $('#dpt'+pk_refresh).css('min-height', $('.actions_right').height()*2); - $('.actions_inserts').addClass('menu_flutuante'); - } - - $(".edt-"+_editortype).addClass('selected'); - //$(".container").addClass('class_color_container'); - - if (flag_actions_vibible == null || flag_actions_vibible) { - $('#dpt'+pk_edit).addClass('dpt-selected'); - $('html, body').animate({ - scrollTop: $('#dpt' + pk_edit ).offset().top - window.innerHeight / 9 - }, 0); - } - } - - else if (_action == 'add_next' || _action == 'add_in') { - clearEditSelected(); - if (data.pk != null) { - - if (data.alert != null) - alert(data.alert) - - refreshScreenFocusPk(data); - } - else { - alert('Erro na inserção!'); - } - } - else if (_action.startsWith('delete_')) { - $("#message_block").css("display", "block"); - clearEditSelected(); - if (data.pk != null) { - refreshScreenFocusPk(data); - } - else { - alert('Erro exclusão!'); - } - } - else { - clearEditSelected(); - reloadFunctionClicks(); - } - }).always(function() { - $("#message_block").css("display", "none"); - }); + $( '#dpt' + pk_refresh ).html( data); + } + else { + //console.log(pk_refresh + ' - '+pk_edit) + if (flag_actions_vibible == null || flag_actions_vibible) + clearEditSelected(); + + //$( '#dpt' + pk_refresh+' > .bloco' ).addClass('displaynone' ); + $( '#dpt' + pk_refresh ).prepend( data ); + } + + reloadFunctionClicks(); + + var _editortype = editortype; + if ( $('.edt-'+_editortype).length == 0) { + _editortype = 'construct'; + } + + if ( _editortype == 'tinymce' ) { + initTinymce(); + } + else if (_editortype == 'textarea') { + $('.csform form').submit(onSubmitEditForm); + } + else if (_editortype == 'construct') { + $('.csform .btn-salvar').parent().addClass("displaynone"); + $('.csform .btn-salvar, .csform .fields').addClass("displaynone"); + $('#dpt'+pk_refresh).css('min-height', $('.actions_right').height()*2); + $('.actions_inserts').removeClass('menu_flutuante'); + } + else if (_editortype == 'detail') { + $('.csform .btn-salvar').parent().removeClass("displaynone"); + $('.csform .btn-salvar, .csform .fields').removeClass("displaynone"); + $('#dpt'+pk_refresh).css('min-height', $('.actions_right').height()*2); + $('.actions_inserts').addClass('menu_flutuante'); + } + + $(".edt-"+_editortype).addClass('selected'); + //$(".container").addClass('class_color_container'); + + if (flag_actions_vibible == null || flag_actions_vibible) { + $('#dpt'+pk_edit).addClass('dpt-selected'); + $('html, body').animate({ + scrollTop: $('#dpt' + pk_edit ).offset().top - window.innerHeight / 9 + }, 0); + } + } + + else if (_action == 'add_next' || _action == 'add_in') { + clearEditSelected(); + if (data.pk != null) { + + if (data.alert != null) + alert(data.alert) + + refreshScreenFocusPk(data); + } + else { + alert('Erro na inserção!'); + } + } + else if (_action.startsWith('delete_')) { + $("#message_block").css("display", "block"); + clearEditSelected(); + if (data.pk != null) { + refreshScreenFocusPk(data); + } + else { + alert('Erro exclusão!'); + } + } + else { + clearEditSelected(); + reloadFunctionClicks(); + } + }).always(function() { + $("#message_block").css("display", "none"); + }); } function refreshScreenFocusPk(data) { - for (var pai = 0; pai < data.pai.length; pai++) - if (data.pai[pai] != -1) { - clickUpdateDispositivo(null, data.pai[pai], data.pk, 'refresh', pai == 0, true); - } - else { - href = location.href.split('#')[0] - location.href = href+'#'+data.pk - location.reload(true) - } + for (var pai = 0; pai < data.pai.length; pai++) + if (data.pai[pai] != -1) { + clickUpdateDispositivo(null, data.pai[pai], data.pk, 'refresh', pai == 0, true); + } + else { + href = location.href.split('#')[0] + location.href = href+'#'+data.pk + location.reload(true) + } } function clearEditSelected() { - $('.bloco' ).removeClass('displaynone' ); + $('.bloco' ).removeClass('displaynone' ); - $(".container").removeClass('class_color_container'); - tinymce.remove(); - $('.dpt-selected').removeClass('dpt-selected'); - $('.dpt').css('min-height', ''); - $('.csform').remove(); + $(".container").removeClass('class_color_container'); + tinymce.remove(); + $('.dpt-selected').removeClass('dpt-selected'); + $('.dpt').css('min-height', ''); + $('.csform').remove(); } function reloadFunctionClicks() { - $('.dpt .de, .btn-action, .btn-edit').off(); + $('.dpt .de, .btn-action, .btn-edit').off(); - $('.dpt .de, .btn-edit').on('click', clickEditDispositivo); + $('.dpt .de, .btn-edit').on('click', clickEditDispositivo); - $('.btn-action').on('click', clickUpdateDispositivo); + $('.btn-action').on('click', clickUpdateDispositivo); - $('#editdi_texto').focus(); + $('#editdi_texto').focus(); } $(document).ready(function() { - editortype = ReadCookie("editortype") + editortype = ReadCookie("editortype") - if (editortype == null || editortype == "") { - editortype = "textarea" - SetCookie("editortype", editortype, 30) - } + if (editortype == null || editortype == "") { + editortype = "textarea" + SetCookie("editortype", editortype, 30) + } - reloadFunctionClicks(); - $("#message_block").css("display", "none"); + reloadFunctionClicks(); + $("#message_block").css("display", "none"); - href = location.href.split('#') - if (href.length == 2) { - clickUpdateDispositivo(null, href[1], href[1], 'refresh', true); - } + href = location.href.split('#') + if (href.length == 2) { + clickUpdateDispositivo(null, href[1], href[1], 'refresh', true); + } }); diff --git a/static/js/compilacao_notas.js b/static/js/compilacao_notas.js index 8d1168acd..dd5a02c91 100644 --- a/static/js/compilacao_notas.js +++ b/static/js/compilacao_notas.js @@ -1,179 +1,200 @@ -function onEventsDneExec(pk) { - - $('html, body').animate({ - scrollTop: $('#dne' + pk ).offset().top - window.innerHeight / 5 - }, 300); - - $('.dateinput').fdatepicker({ - // TODO localize - format: 'dd/mm/yyyy', - language: 'pt', - endDate: '31/12/2100', - todayBtn: true - }); - - $('#dne'+pk+" .primary").click(onSubmitEditForm); - $('#dne'+pk+" .btn-close-container").click(function(){ - $(this).closest('.dne-nota').removeClass('dne-nota'); - $(this).closest('.dne-form').html(''); - }); - - $('#dne'+pk+" select[name='tipo']").change(function(event) { - var url = ''; - url = 'text/'+pk+'/nota/create?action=modelo_nota&id_tipo='+this.value; - $.get(url).done(function( data ) { - $('#dne'+pk+" textarea[name='texto']").val(data); - }); - }); - - $('#dne'+pk+" select[name='tipo_norma']" - ).change(onChangeParamNorma); - - $('#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(); +function onEventsDneExec(pk, model) { + + $('html, body').animate({ + scrollTop: $('#dne' + pk ).offset().top - window.innerHeight / 5 + }, 300); + + refreshDatePicker() + + $('#dne'+pk+" #button-id-submit-form").click(onSubmitEditForm); + $('#dne'+pk+" .btn-close-container").click(function(){ + $(this).closest('.dne-nota').removeClass('dne-nota'); + $(this).closest('.dne-form').html(''); + }); + + if (model == 'nota') { + $('#dne'+pk+" select[name='tipo']").change(function(event) { + var url = ''; + url = 'text/'+pk+'/nota/create?action=modelo_nota&id_tipo='+this.value; + $.get(url).done(function( data ) { + $('#dne'+pk+" textarea[name='texto']").val(data); + }); + }); + } + 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); + } + + + }); + }); + $('#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(); + } } var onChangeParamNorma = function(event) { - var tipo_ta = $("select[name='tipo_ta']").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, - '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 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 onSubmitEditForm = function(event) { - var url = ''; - var model = 'nota'; - var id_edit = null; - var id_dispositivo = $('#id_dispositivo').val(); - - if (id_dispositivo == null) { // trata-se de um vide - $('#id_dispositivo_ref').remove(); - id_dispositivo = $('#id_dispositivo_base').val(); - model='vide'; - } - - id_edit = $('#id_pk').val(); - url = 'text/'+id_dispositivo+'/'+model+'/' - if (id_edit == null || id_edit == '') - url += 'create'; - else - url += id_edit+'/edit'; - - console.log($('#dne'+id_dispositivo+" form").serialize()); - - $.post( url, $('#dne'+id_dispositivo+" form").serialize(), function(data) { - - if (typeof data == "string") { - if (data.indexOf('= 0) { - $('#dne'+id_dispositivo+' .dne-form').html(data); - onEventsDneExec(id_dispositivo); - } - else { - $('#dne'+id_dispositivo+' .dne-form').closest('.dpt').html(data) - onReadyNotasVides(); - - $('html, body').animate({ - scrollTop: $('#dne' + id_dispositivo ).offset().top - window.innerHeight / 3 - }, 300); - - } - } - } - ); + var url = ''; + var model = 'nota'; + var id_edit = null; + var id_dispositivo = $('#id_dispositivo').val(); + + if (id_dispositivo == null) { // trata-se de um vide + $('#id_dispositivo_ref').remove(); + id_dispositivo = $('#id_dispositivo_base').val(); + model='vide'; + } + + id_edit = $('#id_pk').val(); + url = 'text/'+id_dispositivo+'/'+model+'/' + if (id_edit == null || id_edit == '') + url += 'create'; + else + url += id_edit+'/edit'; + + console.log($('#dne'+id_dispositivo+" form").serialize()); + + $.post( url, $('#dne'+id_dispositivo+" form").serialize(), function(data) { + + if (typeof data == "string") { + if (data.indexOf('= 0) { + $('#dne'+id_dispositivo+' .dne-form').html(data); + onEventsDneExec(id_dispositivo, model); + } + else { + $('#dne'+id_dispositivo+' .dne-form').closest('.dpt').html(data) + onReadyNotasVides(); + try { + $('html, body').animate({ + scrollTop: $('#dne' + id_dispositivo ).offset().top - window.innerHeight / 3 + }, 300); + } + catch(err) { + console.log(err.message); + } + + } + } + } + ); } var onDelete = function(event) { - var model = $(event).attr('model'); + var model = $(event).attr('model'); - var id_dispositivo = $(event).closest('.dn').attr('pk'); - var id_delete = $(event).attr('pk'); - var url = 'text/'+id_dispositivo+'/'+model+'/'+id_delete+'/delete'; + var id_dispositivo = $(event).closest('.dn').attr('pk'); + var id_delete = $(event).attr('pk'); + var url = 'text/'+id_dispositivo+'/'+model+'/'+id_delete+'/delete'; - $.get( url, function(data) { - $('#dne'+id_dispositivo+' .dne-form').closest('.dpt').html(data) - onReadyNotasVides(); - } - ); + $.get( url, function(data) { + $('#dne'+id_dispositivo+' .dne-form').closest('.dpt').html(data) + onReadyNotasVides(); + } + ); } function getForm(_this) { - var url = ''; - var model = $(_this).attr('model'); - var id_dispositivo = $('.dne-nota .dne-form').closest('.dne').attr('pk'); - if (id_dispositivo != null) { - $('#dne'+id_dispositivo).removeClass('dne-nota'); - $('#dne'+id_dispositivo+' .dne-form').html(''); - } - - if (_this.className.indexOf('create') >= 0 ) { - id_dispositivo = $(_this).attr('pk'); - url = 'text/'+id_dispositivo+'/'+model+'/create'; - } - else if (_this.className.indexOf('edit') >= 0 ) { - var id_edit = $(_this).attr('pk'); - id_dispositivo = $(_this).closest('.dn').attr('pk'); - url = 'text/'+id_dispositivo+'/'+model+'/'+id_edit+'/edit' - } - - $('#dne'+id_dispositivo).addClass('dne-nota'); - - $.get(url).done(function( data ) { - $('#dne'+id_dispositivo+' .dne-form').html(data); - onEventsDneExec(id_dispositivo); - }).fail(function() { - onReadyNotasVides(); - }); + var url = ''; + var model = $(_this).attr('model'); + var id_dispositivo = $('.dne-nota .dne-form').closest('.dne').attr('pk'); + if (id_dispositivo != null) { + $('#dne'+id_dispositivo).removeClass('dne-nota'); + $('#dne'+id_dispositivo+' .dne-form').html(''); + } + + if (_this.className.indexOf('create') >= 0 ) { + id_dispositivo = $(_this).attr('pk'); + url = 'text/'+id_dispositivo+'/'+model+'/create'; + } + else if (_this.className.indexOf('edit') >= 0 ) { + var id_edit = $(_this).attr('pk'); + id_dispositivo = $(_this).closest('.dn').attr('pk'); + url = 'text/'+id_dispositivo+'/'+model+'/'+id_edit+'/edit' + } + + $('#dne'+id_dispositivo).addClass('dne-nota'); + + $.get(url).done(function( data ) { + $('#dne'+id_dispositivo+' .dne-form').html(data); + onEventsDneExec(id_dispositivo, model); + }).fail(function() { + onReadyNotasVides(); + }); } function onReadyNotasVides() { - $('.dne-nota').removeClass('dne-nota'); - $('.dne-form').html(''); + $('.dne-nota').removeClass('dne-nota'); + $('.dne-form').html(''); - $('.dne .btn-action').off(); - $('.dn .btn-action').off(); + $('.dne .btn-action').off(); + $('.dn .btn-action').off(); - $('.dne .btn-action, .dn .btn-action').not('.btn-nota-delete').not('.btn-vide-delete').click(function(){ - getForm(this); - }); + $('.dne .btn-action, .dn .btn-action').not('.btn-nota-delete').not('.btn-vide-delete').click(function(){ + getForm(this); + }); - $('.dn .btn-nota-delete, .dn .btn-vide-delete').click(function(){ - onDelete(this); - }); + $('.dn .btn-nota-delete, .dn .btn-vide-delete').click(function(){ + onDelete(this); + }); } $(document).ready(function() { - onReadyNotasVides() + onReadyNotasVides() }); diff --git a/static/js/compilacao_view.js b/static/js/compilacao_view.js index f64c74e40..f83ab3311 100644 --- a/static/js/compilacao_view.js +++ b/static/js/compilacao_view.js @@ -24,23 +24,27 @@ function isElementInViewport (el) { } function textoMultiVigente(item, diff) { - var elv = null; - var ldpts = $(".dptt") - for (var i = 0; i < ldpts.length; i++) { - if ($(ldpts[i]).hasClass('displaynone')) - continue; - if (isElementInViewport( ldpts[i])) { - elv = ldpts[i]; - break; - } - } - - $(".cp .tipo-vigencias a").removeClass("selected") - $(item).addClass("selected") - $(".dptt.desativado").removeClass("displaynone"); - $(".dtxt").removeClass("displaynone"); - $(".dtxt.diff").remove(); - $(".link_alterador").removeClass("displaynone"); + var elv = null; + var ldpts = $(".dptt") + for (var i = 0; i < ldpts.length; i++) { + if ($(ldpts[i]).hasClass('displaynone')) + continue; + if (isElementInViewport( ldpts[i])) { + if (i+1 < ldpts.length) + elv = ldpts[i+1]; + else { + elv = ldpts[i]; + } + break; + } + } + + $(".cp .tipo-vigencias a").removeClass("selected") + $(item).addClass("selected") + $(".dptt.desativado").removeClass("displaynone"); + $(".dtxt").removeClass("displaynone"); + $(".dtxt.diff").remove(); + $(".link_alterador").removeClass("displaynone"); if (diff) { $(".dtxt[id^='da'").each(function() { @@ -99,61 +103,65 @@ function textoMultiVigente(item, diff) { } if (elv) { - $('html, body').animate({ - scrollTop: $(elv).parent().offset().top - 60 - }, 0); + $('html, body').animate({ + scrollTop: $(elv).parent().offset().top - 60 + }, 0); } } function textoVigente(item, link) { - var elv = null; - var ldpts = $(".dptt") - for (var i = 0; i < ldpts.length; i++) { - if ($(ldpts[i]).hasClass('displaynone')) - continue; - if (isElementInViewport( ldpts[i])) { - elv = ldpts[i]; - break; - } - } - - $(".cp .tipo-vigencias a").removeClass("selected") - $(item).addClass("selected") - - $(".dptt.desativado").addClass("displaynone"); - $(".link_alterador").removeClass("displaynone"); - if (!link) - $(".link_alterador").addClass("displaynone"); - - if (elv) { - $('html, body').animate({ - scrollTop: $(elv).parent().offset().top - 60 - }, 0); + var elv = null; + var ldpts = $(".dptt") + for (var i = 0; i < ldpts.length; i++) { + if ($(ldpts[i]).hasClass('displaynone')) + continue; + if (isElementInViewport( ldpts[i])) { + if (i+1 < ldpts.length) + elv = ldpts[i+1]; + else { + elv = ldpts[i]; + } + break; + } + } + + $(".cp .tipo-vigencias a").removeClass("selected") + $(item).addClass("selected") + + $(".dptt.desativado").addClass("displaynone"); + $(".link_alterador").removeClass("displaynone"); + if (!link) + $(".link_alterador").addClass("displaynone"); + + if (elv) { + $('html, body').animate({ + scrollTop: $(elv).parent().offset().top - 60 + }, 0); } } $(document).ready(function() { setTimeout(function() { - var href = location.href.split('#') - if (href.length == 2) { - $('html, body').animate({ + var href = location.href.split('#') + if (href.length == 2) { + $('html, body').animate({ scrollTop: $('#dptt' + href[1] ).offset().top - window.innerHeight / 9 }, 0); } }, 100); - $("#btn_font_menos").click(function() { - $(".dpt").css("font-size", "-=1"); - }); - $("#btn_font_mais").click(function() { - $(".dpt").css("font-size", "+=1"); - }); + $("#btn_font_menos").click(function() { + $(".dpt").css("font-size", "-=1"); + }); + $("#btn_font_mais").click(function() { + $(".dpt").css("font-size", "+=1"); + }); - $(".dpt").each(function() { + $(".dpt.bloco_alteracao .dpt").each(function() { var nivel = parseInt($(this).attr('nivel')); - $(this).css('z-index', 20-nivel) + $(this).css('z-index', 15-nivel) }); }); diff --git a/static/styles/compilacao.scss b/static/styles/compilacao.scss index 5b3bebf16..d4b79b424 100644 --- a/static/styles/compilacao.scss +++ b/static/styles/compilacao.scss @@ -3,1331 +3,1299 @@ $color_actions_border: #CCC; $color_buttons: #2980B9; @mixin background-top-down($top, $bottom) { - background-image: -webkit-linear-gradient(top, $top, $bottom); - background-image: -moz-linear-gradient(top, $top, $bottom); - background-image: -ms-linear-gradient(top, $top, $bottom); - background-image: -o-linear-gradient(top, $top, $bottom); - background-image: linear-gradient(to bottom, $top, $bottom); + background-image: -webkit-linear-gradient(top, $top, $bottom); + background-image: -moz-linear-gradient(top, $top, $bottom); + background-image: -ms-linear-gradient(top, $top, $bottom); + background-image: -o-linear-gradient(top, $top, $bottom); + background-image: linear-gradient(to bottom, $top, $bottom); } @mixin border-radius($radius) { - -webkit-border-radius: $radius; - -moz-border-radius: $radius; - -ms-border-radius: $radius; - -o-border-radius: $radius; - border-radius: $radius; + -webkit-border-radius: $radius; + -moz-border-radius: $radius; + -ms-border-radius: $radius; + -o-border-radius: $radius; + border-radius: $radius; } @mixin placeholder($color, $opacity, $fontsize, $fontweight) { - &::-webkit-input-placeholder { - color: $color !important; - opacity: $opacity; - font-size:$fontsize; - font-weight: $fontweight; - } - &::-moz-placeholder { - color: $color !important; - opacity: $opacity; - font-size:$fontsize; - font-weight: $fontweight; - } - &::-moz-placeholder { - color: $color !important; - opacity: $opacity; - font-size:$fontsize; - font-weight: $fontweight; - } - &:-ms-input-placeholder { - color: $color !important; - opacity: $opacity; - font-size:$fontsize; - font-weight: $fontweight; - } + &::-webkit-input-placeholder { + color: $color !important; + opacity: $opacity; + font-size:$fontsize; + font-weight: $fontweight; + } + &::-moz-placeholder { + color: $color !important; + opacity: $opacity; + font-size:$fontsize; + font-weight: $fontweight; + } + &::-moz-placeholder { + color: $color !important; + opacity: $opacity; + font-size:$fontsize; + font-weight: $fontweight; + } + &:-ms-input-placeholder { + color: $color !important; + opacity: $opacity; + font-size:$fontsize; + font-weight: $fontweight; + } } a:link:after, a:visited:after { - content: ""; + content: ""; } @mixin li_flutuante() { - & > ul { - transform: translateY(30px); - transition: transform 0.1s linear, opacity 0.1s linear, clip 0s 0.3s; - clip: rect(0, 0, 0, 0); - opacity: 0; - position:absolute; - margin-left: 0.5em; - box-shadow: 0px 6px 18px rgba(0, 0, 0, 0.19), 0px 2px 6px rgba(0, 0, 0, 0.23); - - -webkit-transition-delay: 0.4s; /* Safari */ - transition-delay: 0.4s; - li { - a { - border-right: 0px !important; - } - - - &:first-child { - - &::before { - border-width: 0.375rem; - border-style: inset inset solid; - content: ""; - display: block; - height: 0px; - width: 0px; - border-color: transparent transparent #3385CA; - position: absolute; - top: -0.71rem; - left: 0.9375rem; - } - &:hover::before { - border-color: transparent transparent #0A5EA4; - } - } + & > ul { + transform: translateY(30px); + transition: transform 0.1s linear, opacity 0.1s linear, clip 0s 0.3s; + clip: rect(0, 0, 0, 0); + opacity: 0; + position:absolute; + margin-left: 0.5em; + box-shadow: 0px 6px 18px rgba(0, 0, 0, 0.19), 0px 2px 6px rgba(0, 0, 0, 0.23); + + -webkit-transition-delay: 0.4s; /* Safari */ + transition-delay: 0.4s; + li { + a { + border-right: 0px !important; + } + + + &:first-child { + + &::before { + border-width: 0.375rem; + border-style: inset inset solid; + content: ""; + display: block; + height: 0px; + width: 0px; + border-color: transparent transparent #3385CA; + position: absolute; + top: -0.71rem; + left: 0.9375rem; } - // This bridges the gap between the top bar and a dropdown. - &::after { - content: ""; - position: absolute; - z-index: -1; - left: 0; - top: rem-calc(-25px); - height: rem-calc(25px); - width: 100%; - // This transition is for hover-on. - transition: all 0.3s cubic-bezier(0.55,0,0.1,1); + &:hover::before { + border-color: transparent transparent #0A5EA4; } + } + } + // This bridges the gap between the top bar and a dropdown. + &::after { + content: ""; + position: absolute; + z-index: -1; + left: 0; + top: rem-calc(-25px); + height: rem-calc(25px); + width: 100%; + // This transition is for hover-on. + transition: all 0.3s cubic-bezier(0.55,0,0.1,1); } - &:hover > ul { + } + &:hover > ul { - transform: translateY(7px); - // This transition is actually for when we hover-out of the dropdown. - transition: transform 0.4s linear, - opacity 0.4s linear, - clip 0s 0.2s; - opacity: 1; - clip: rect(-100px, 2000px, 2000px, -100px); + transform: translateY(7px); + // This transition is actually for when we hover-out of the dropdown. + transition: transform 0.4s linear, + opacity 0.4s linear, + clip 0s 0.2s; + opacity: 1; + clip: rect(-100px, 2000px, 2000px, -100px); - } + } } .test_import:nth-child(even) { - background-color: #ccc; + background-color: #ccc; } #message_block { - display: block; - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - background-color: rgba(220, 220, 220, 0.75); - z-index:99; - - #msg{ - position: relative; - margin: 20% auto; - padding: 1.2em 2em; - max-width: 600px; - text-align: center; - font-size: 1.5em; - color: #677; - - border: 1px solid #eee; - background-color: #fff !important; - box-shadow: 0 1px 2px #999; - } + display: block; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: rgba(220, 220, 220, 0.75); + z-index:99; + + #msg{ + position: relative; + margin: 20% auto; + padding: 1.2em 2em; + max-width: 600px; + text-align: center; + font-size: 1.5em; + color: #677; + + border: 1px solid #eee; + background-color: #fff !important; + box-shadow: 0 1px 2px #999; + } } .cp { + .desativado, .desativado * { + text-decoration: line-through; + color: #999 !important; + + table, table td { + border: 1px dotted #ccc; + } + } + + a { + text-decoration: none; + cursor: pointer; + } + .diff { .desativado, .desativado * { - text-decoration: line-through; - color: #999 !important; + text-decoration: line-through; + color: #ddd !important; + font-size: 90%; + } + .added { + color: #04DE2C; + } + } - table, table td { - border: 1px dotted #ccc; - } + .dpt { + font-size:1em; + transition: all 0.2s ease-in-out; + position: relative; + + + .ementa { + padding: 4em 0em 3em 35%; + font-weight: bold; } - .diff { - .desativado, .desativado * { - text-decoration: line-through; - color: #dbb !important; - } - .added { - color: #018; - } + + .titulo_generico { + text-align: center; + font-weight: bold; + margin-bottom: 1em; + font-size: 1.5em; + margin-top: 3em; + } + + .anexo, + .disp_preliminares, + .disp_gerais, + .disp_transitorias, + .disp_finais, + .parte, + .livro { + @extend .titulo_generico; + } + + .titulo { + @extend .titulo_generico; + margin-top: 2em; + } + + .capitulo { + @extend .titulo_generico; + margin-top: 1.5em; + font-size: 1.3em; + } + + .secao { + @extend .titulo_generico; + margin-top: 1.2em; + margin-bottom: 0.7em; + font-size: 1.2em; + } + + .subsecao, + .itemsecao { + @extend .titulo_generico; + margin-top: 1em; + margin-bottom: 0.6em; + font-size: 1.2em; + font-style: italic; } - .dpt { - font-size:1em; - transition: all 0.2s ease-in-out; + .artigo { + font-size: 1.15em; + float:left; + .dptt { position: relative; + } + } + .caput { + margin-top: 0.3333em; + font-size: 1.15em; + } - .ementa { - padding: 4em 0em 3em 35%; - font-weight: bold; - } + .paragrafo { + padding-left: 1.5em; + font-size: 1.1em; + margin-top: 0.2222em; + } - .titulo_generico { - text-align: center; - font-weight: bold; - margin-bottom: 1em; - font-size: 1.5em; - margin-top: 3em; - } + .inciso { + font-size: 1.1em; + padding-left: 2.5em; + margin-top: 0.1667em; + } - .anexo, - .disp_preliminares, - .disp_gerais, - .disp_transitorias, - .disp_finais, - .parte, - .livro { - @extend .titulo_generico; - } + .alinea { + font-size: 1.0em; + padding-left: 3.5em; + margin-top: 2px; + } - .titulo { - @extend .titulo_generico; - margin-top: 2em; - } + .item { + font-size: 1.0em; + padding-left: 4.5em; + margin-top: 2px; + } - .capitulo { - @extend .titulo_generico; - margin-top: 1.5em; - font-size: 1.3em; - } - .secao { - @extend .titulo_generico; - margin-top: 1.2em; - margin-bottom: 0.7em; - font-size: 1.2em; + + .bloco_alteracao { + padding-left: 10%; + font-style: italic; + color: #018; + + a { + text-decoration: underline; + } + + a, table, table td { + color: #018 !important; + } + } + + .dn { /* Notas de Dispositivo*/ + font-weight: normal; + position: relative; + font-size: 70%; + p, ul { + font-weight: normal; + margin: 0 0 0 0; + list-style: none; + padding: 0; + } + + .dnl { /* Lista Notas de Dispositivo*/ + display: block; + text-align: left !important; + + * { + display: inline; } - .subsecao, - .itemsecao { - @extend .titulo_generico; - margin-top: 1em; - margin-bottom: 0.6em; - font-size: 1.2em; - font-style: italic; + .bullet { + padding: 0 0.333em; + display: inline-block; } + .dnli { + min-height: 2.5em; + &:hover { + ul { + transition: opacity 0.5s linear, clip 0s 0.3s; + clip: auto; + opacity: 1; + background: rgba(230,230,230, 0.9); + } + } - .artigo { - font-size: 1.15em; - float:left; - .dptt { - position: relative; + ul { + transition: opacity 0.5s linear, clip 0s 0.3s; + clip: rect(0, 0, 0, 0); + opacity: 0; + position: absolute; + background: transparent; + right: 0; + padding: 0.2em 0.5em 0em 0.5em; + border: 1px solid #c7e3d3; + border-top: 0px; + font-size: 1.5rem; + li { + display: table-cell; + color: #aaa; + + &:hover { + color: #787; + a{ + color: #27AE60 !important; + } + } + .nowner { + color: #27AE60 !important; + } } - } + } - .caput { - margin-top: 0.3333em; - font-size: 1.15em; - } + .ntitulo { + font-weight: bold; + color: #03A203; + text-decoration: none; + a { + color: #294 !important; + } + } + .ntexto { - .paragrafo { - padding-left: 1.5em; - font-size: 1.1em; - margin-top: 0.2222em; + color: #06D806; + a{ + color: #03A203 !important; + } + } } + &:hover { + display: block; - .inciso { - font-size: 1.1em; - padding-left: 2.5em; - margin-top: 0.1667em; - } - .alinea { - font-size: 1.0em; - padding-left: 3.5em; - margin-top: 2px; + * { + display: block; + } + & > .bullet { + display: none; + } + .dnli { + margin-top: 0.5em; + border-top: 1px solid #c7e3d3; + } } + } + + } - .item { - font-size: 1.0em; - padding-left: 4.5em; - margin-top: 2px; + .dptt { + + & > a { + color: #444444; + &.link_alterador { + color: #2980B9; + font-size: 0.75em; + &:hover { + text-decoration: underline; + } + } + &.desativado { + @extend .desativado; } + } - a { - color: #444444; - &.link_alterador { - color: #2980B9; - font-size: 0.75em; - &:hover { - text-decoration: underline; - } + .dne { + position: absolute; + display: block; + right: 0; + left: 0; + top: 0; + height: 0; + transform: scaleX(0); + transform-origin: right; + transition: all 0.3s ease; + border-top: 1px solid $color_buttons; + ul.btns-action { + list-style: none; + padding: 0; + position: absolute; + right: 0; + background-color: $color_buttons; + li { + float: left; + &:hover { + background-color: rgba(#000, 0.1); } - &.desativado { - @extend .desativado; + a { + color: white; + padding: 0.15em 1em 0; + display: inline-block; + &:hover { + } } + } } + } - .bloco_alteracao { - padding-left: 10%; - font-style: italic; - color: #018; - - a { - text-decoration: underline; - } + .dne-nota { + position: relative; + transform: scaleX(1); + height: auto; + border-top: 0px; - a, table, table td { - color: #018 !important; - } + ul.btns-action { + display: none; } - .dn { /* Notas de Dispositivo*/ - font-size: 0.8rem; - font-weight: normal; - line-height: 1rem; - position: relative; - p, ul { - font-size: 0.8rem; - font-weight: normal; - line-height: 1rem; - margin: 0 0 0 0; - list-style: none; - } + .dne-form { + margin: 1em -2em 0em; + text-align: left; + font-size: 1.6rem; - .dnl { /* Lista Notas de Dispositivo*/ - display: block; - text-align: left !important; + .container-busca { + ul{ + list-style: none; + display: table; + margin-left: 0; + border-collapse:separate; + border-spacing:1px; + padding: 0px; - * { - display: inline; - } + li { + display: table-row; + + &:nth-child(even) { + background-color: rgba(0, 0, 0, 0.05); - .bullet { - padding: 0 0.333em; - padding-bottom: 0.2em; - display: inline-block; - } - .dnli { - min-height: 2.5em; - &:hover { - ul { - transition: opacity 0.5s linear, clip 0s 0.3s; - clip: auto; - opacity: 1; - background: rgba(230,230,230, 0.9); - } - } - - ul { - transition: opacity 0.5s linear, clip 0s 0.3s; - clip: rect(0, 0, 0, 0); - opacity: 0; - position: absolute; - background: transparent; - right: 0; - padding: 0.5em 0.5em 0em 0.5em; - border: 1px solid #c7e3d3; - border-top: 0px; - li { - display: table-cell; - color: #aaa; - - &:hover { - color: #787; - a{ - color: #27AE60 !important; - } - } - .nowner { - color: #27AE60 !important; - } - } - } - - .ntitulo { - font-weight: bold; - color: #676; - font-size: 90%; - text-decoration: none; - a{ - color: #294 !important; - } - } - .ntexto { - color: #787; - a{ - color: #294 !important; - } - } } - &:hover { - display: block; - - - * { - display: block; - } - & > .bullet { - display: none; - } - .dnli { - margin-top: 0.5em; - border-top: 1px solid #c7e3d3; - } + &:nth-child(odd) { + background-color: rgba(0, 0, 0, 0.08); + } - } - } + .iteminput { + display: table-cell; + padding: 0.5em; + vertical-align: middle; + text-align: center; - .dptt { - .dne { - text-decoration: none; - position: absolute; - display: block; - font-size: 0.8rem; - font-weight: normal; - line-height: 1rem; - text-align: left; - height: 0; - transform: scaleX(0); - transform-origin: right; - transition: all 0.3s ease; - top: 0; - left: -1.6em; - right: -1.6em; - background-color: #2980b9; - z-index: 18; - - * { - font-size: 0.8rem; - font-weight: normal; - line-height: 1rem; - text-decoration: none !important; + input { + margin: 0; + } } - ul.btns-action { - position: absolute; - margin: 0 0 0 0; - display: table; - list-style: none; - clip: rect(0,0,0,0); - opacity: 0; - transition: opacity 1.5s linear, clip 1s linear; - border-collapse:separate; - border-spacing: 0; - top: 0px; - right: 0px; - z-index: 19; - li { - display: table-cell; - background-color: $color_buttons; - a { - font-size: 155%; - padding: 0.4em 0.8em; - display: inline-block; - float: right; - color: #fff !important; - &:hover { - background-color: rgba(0, 0, 0, 0.15); - } - } - } + .itemlabel { + display: table-cell; + padding: 0.5em; + vertical-align: middle; + width: 100%; + label { + line-height: 1; + font-family: "SourceSansPro", Helvetica, Arial, sans-serif; + } } + } } - .dne-nota { - 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-form { - .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; - } - } - } + .ta_title { + padding: 0.15em 0.7em; + background-color: rgba(0, 0, 0, 0.15); + margin: 0.1em 0.08em 0 0.1em; } - &:hover { - .dne { - height: 0.1667rem; - transform: scaleX(1); - transition-delay: 1s; - - ul.btns-action { - clip: rect(-100px, 2000px, 2000px, -100px); - opacity: 1; - transition: opacity 0.5s linear, clip 0s 0.3s; - li { - a { - } - } - } - } - .dne-nota { - height: auto; - transition-delay: 0s; - } + .nomenclatura_heranca { + font-size: 90%; + color: #057dba; } + } } - } /* and dpt */ + } - .top-bar { - line-height: 1.6rem; + &:hover { + .dne { + height: 0.1667rem; + transform: scaleX(1); + transition-delay: 1s; + } + .dne-nota { + height: auto; + 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; - background: #2980B9; - z-index:1; - margin: 0 auto; - max-width: 62.5rem; - } + 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); + } + } - .top-bar-section { - li:not(.has-form) { - a:not(.button) { + .textarea { + @extend .input; + resize: vertical; + font-weight: normal; + } - @extend .top-bar; - padding: 0 0.43333rem; + .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); - &.selected, &:hover { - background: #1056A0; } + &: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; + } + } } + } } - - ul.nav { - background: #2980B9; - display:block; - width: 100%; - z-index:1; + } /* and dpt */ + .tipo-vigencias { + list-style: none; + position: fixed; + bottom: 0px; + left: 50%; + transform: translate(-50%, 0); + margin: 0; + padding: 0; + background-color: $color_buttons; + z-index: 1000; + + opacity: 0.9; + transition: all 0.3s ease-in-out; + + li { + display: inline-block; + border-left: 1px solid #fff; + float: left; + a { + color: white; + padding: 0.3em 1em 0; + display: inline-block; + font-size: 110%; + cursor: pointer; + &.selected { + background-color: rgba(0, 0, 0, 0.5); + } + } + &:hover { + background-color: rgba(0, 0, 0, 0.2); + } } - - .tipo-vigencias { - border-top: 1px solid #62B5B5; - position: fixed; - bottom: 0; - transform: translate(-50%,0); - left: 50%; + &:hover { + opacity: 1; } + } - .vigencias { - margin: 2.5em 0 0 0; - transition: all .4s ease-in-out; - background: #2980B9; - clear:both; - } +} /* end cp */ - .fixed{ +.cp.cpe { - z-index:98; - opacity: 0.2; - transition: all 2s ease-in-out; - -webkit-transition-delay: 3s; /* Safari */ - transition-delay: 3s; - &:hover { - -webkit-transition-delay: 0s; /* Safari */ - transition-delay: 0s; - transition: all 0.3s ease-in-out; - opacity: 0.9; - - &::-webkit-scrollbar { - width: 10px; - height: 10px; - } + margin-bottom: 15em; + margin-left: 0.8em; + a { + text-decoration: none; + cursor: pointer; + } - &::-webkit-scrollbar-thumb:vertical { - height: 30px; - background-color: rgba(0, 0, 0, 0.1); - } + .dpt { + position: relative; + display:block; - } + .semtexto { + font-weight: bold; + color: #BFD1F6; } -} /* end cp */ -.cpe { + .artigo { + float: none; + } + & > .actions_left { + color: #fff; + position: absolute; + left: -2.6em; + opacity: 0; + transition: all 0.4s ease-in-out; + a { + &.btn-edit { + @include background-top-down(#3498DB, #2980C9); + @include border-radius(7px); + color: #ffffff !important; + font-weight: bold; + padding: 2px 7px 2px 7px; + + &:hover { + @include background-top-down(#3cb0fd, #3498DB); + } + } + } + } - @extend .cp; + &:hover > .actions_left { + opacity: 0.5; + background-color: transparent !important; + &::before { + content: ""; + border: inset 0.375rem; + border-color: transparent transparent transparent #3cb0fd; + position: absolute; + display: block; + height: 0; + width: 0; + top: 0.4rem; + right: -0.73rem; + } + &:hover { + opacity: 1; + &::before { + border-color: transparent transparent transparent #3cf0ff; + } + } + } - margin-bottom: 15em; - margin-left: 0.8em; - a { - text-decoration: none; + .bloco { + display: block; + clear: both; + *:hover { + color: #27AE60; + } + .de { + cursor: pointer; + } } - - .dpt { - position: relative; + .articulacao{ + margin-left: -0.8em; + margin-top: 2em; + &::before { + content: "Articulação"; + background-color: #eee; + border-bottom: 1px solid #aaa; + padding: 0.333em; + padding-left: 1em; display:block; + } + } + .bloco_alteracao { + @extend .articulacao; + margin: 0; + padding-top: 3em; + padding-left: 0em; + background: #ddd; + &::before { + content: "Bloco de Alteração"; + + display: block; + } + } - .semtexto { - font-weight: bold; - color: #BFD1F6; - } + } /* fim dpt */ - .artigo { - float: none; - } - & > .actions_left { - color: #fff; - position: absolute; - left: -2.6em; - opacity: 0; - transition: all 0.4s ease-in-out; - a { - &.btn-edit { - @include background-top-down(#3498DB, #2980C9); - @include border-radius(7px); - color: #ffffff !important; - font-weight: bold; - padding: 2px 7px 2px 7px; - - &:hover { - @include background-top-down(#3cb0fd, #3498DB); - } - } - } - } + .dpt-selected { + font-size: 1em; + border: 0px solid $color_actions_border; + margin: 1em -2em 1em -2.8em; + padding: 2.2em 2.2em 1.6em 2.2em; + box-shadow: -4px 15px 15px rgba(0, 0, 0, 0.1), 0px 6px 6px rgba(0, 0, 0, 0.23); - &:hover > .actions_left { - opacity: 0.5; - background-color: transparent !important; - &::before { - content: ""; - border: inset 0.375rem; - border-color: transparent transparent transparent #3cb0fd; - position: absolute; - display: block; - height: 0; - width: 0; - top: 0.4rem; - right: -0.73rem; - } - &:hover { - opacity: 1; - &::before { - border-color: transparent transparent transparent #3cf0ff; - } - } - } + @include background-top-down(#eaeaee, #ddd); - .bloco { - display: block; - clear: both; - *:hover { - color: #27AE60; - } - .de { - cursor: pointer; - } - } - .articulacao{ - margin-left: -0.8em; - margin-top: 2em; - &::before { - content: "Articulação"; - background-color: #eee; - border-bottom: 1px solid #aaa; - padding: 0.333em; - padding-left: 1em; - display:block; - } - } - .bloco_alteracao { - @extend .articulacao; - margin: 0; - padding-top: 3em; - padding-left: 0em; - background: #ddd; - &::before { - content: "Bloco de Alteração"; - display: block; - } - } + ul { + list-style: none; + margin: 0; + padding: 0; + } - } /* fim dpt */ + .semtexto { + color: #999; + } - .dpt-selected { - font-size: 1em; - border: 0px solid $color_actions_border; - margin: 1em -2em 1em -2.8em; - padding: 2.2em 2.2em 1.6em 2.2em; - box-shadow: -4px 15px 15px rgba(0, 0, 0, 0.1), 0px 6px 6px rgba(0, 0, 0, 0.23); + .bloco { + opacity: 0.5; + &:hover { + opacity: 1; + } + a:hover { + background: transparent; + } + } - @include background-top-down(#eaeaee, #ddd); + & > .bloco { + padding: 1em 0; + opacity: 1; + margin: 0 !important; + } - ul { - list-style: none; - margin: 0; - padding: 0; - } + & > .dpt { + padding: 0; + &:last-child { + padding-bottom: 1em; + } + } - .semtexto { - color: #999; - } + & > .actions_left { + display: none; + } - .bloco { - opacity: 0.5; - &:hover { - opacity: 1; - } - a:hover { - background: transparent; - } + .csform { /* compilacao simple form */ + display: block; + clear: both; + z-index: 9; + position: static; - } + .btns-action { + -webkit-animation: fadeIn 1s ease-in-out; + -moz-animation: fadeIn 1s ease-in-out; + -o-animation: fadeIn 1s ease-in-out; + opacity: 1; + position: absolute; + display: table; + transition: all 0.4s ease-in-out; - & > .bloco { - padding: 1em 0; - opacity: 1; - margin: 0 !important; + a { + color: $color_actions; + display: block; + background: transparent; + vertical-align: middle; + text-align: center; + font-weight: normal; + text-shadow: 0 0 10px rgba(0,0,0,0.3); + padding: 0.33em 0.4em; } - & > .dpt { - padding: 0; - &:last-child { - padding-bottom: 1em; + & > li { + position: relative; + display: table-cell; + vertical-align: top; + &:hover { + background-color: rgba(255, 255, 255, 0.5); + & > a { + text-shadow: 0 0 5px #777; + color: #0a5; } + } } + } - & > .actions_left { - display: none; + .label_status { + position: absolute; + bottom: 0; + right: 0; + color: #889; + padding: 0.3em; + font-size: 80%; + text-align: right; + z-index: 15; + display: table; + li { + display: table-cell; } + } - .csform { /* compilacao simple form */ - display: block; - clear: both; - z-index: 9; - position: static; + .actions_parents { + z-index: 11; + top: 0em; + left: 0em; + a { + padding: 0.62em; + } + div, li { + font-size: 80%; + display: table-cell; + vertical-align: middle; + border-right: 1px solid $color_actions_border; + } + div { + padding: 0 0.4em; + font-stretch: condensed; + font-variant: small-caps; + font-weight: bold; + text-shadow: 0 0 10px #fff; + } + & > li { + &:hover a{ + color: $color_actions; + font-weight: normal; + } + } + } - .btns-action { - -webkit-animation: fadeIn 1s ease-in-out; - -moz-animation: fadeIn 1s ease-in-out; - -o-animation: fadeIn 1s ease-in-out; - opacity: 1; + .actions_top { + top: 0em; + right: 0em; + a { + padding-right: 1em; + padding-left: 1em; + } + li { + display: table-cell; + vertical-align: middle; + border-left: 1px solid $color_actions_border; + } + } - position: absolute; - display: table; - transition: all 0.4s ease-in-out; + .actions_bottom { + @extend .actions_top; + top: auto; + left: 0; + bottom: 0; + display: inline-block; + border-top: 1px solid $color_actions_border; + a { + padding: 0 0.4em; + } + li { + border: 0px; + border-right: 1px solid $color_actions_border; + } + } - a { - color: $color_actions; - display: block; - background: transparent; - vertical-align: middle; - text-align: center; - font-weight: normal; - text-shadow: 0 0 10px rgba(0,0,0,0.3); - padding: 0.33em 0.4em; - } + .actions_right { + top: 2.2em; + right: 0em; + bottom:0; + display: block; + li { + width: 2.2em; + display: block; + border-bottom: 1px solid $color_actions_border; + &:first-child { + border-top: 1px solid $color_actions_border; + } + } + } - & > li { - position: relative; - display: table-cell; - vertical-align: top; - &:hover { - background-color: rgba(255, 255, 255, 0.5); - & > a { - text-shadow: 0 0 5px #777; - color: #0a5; - } - } - } - } + .actions_left { + @extend .actions_right; + right: auto; + left: 0em; + } - .label_status { - position: absolute; - bottom: 0; - right: 0; - color: #889; - padding: 0.3em; - font-size: 80%; - text-align: right; - z-index: 15; - display: table; - li { - display: table-cell; - } - } - .actions_parents { - z-index: 11; - top: 0em; - left: 0em; - a { - padding: 0.62em; - } - div, li { - font-size: 80%; - display: table-cell; - vertical-align: middle; - border-right: 1px solid $color_actions_border; - } - div { - padding: 0 0.4em; - font-stretch: condensed; - font-variant: small-caps; - font-weight: bold; - text-shadow: 0 0 10px #fff; - } - & > li { - &:hover a{ - color: $color_actions; - font-weight: normal; - } - } - } - .actions_top { - top: 0em; - right: 0em; - a { - padding-right: 1em; - padding-left: 1em; - } - li { - display: table-cell; - vertical-align: middle; - border-left: 1px solid $color_actions_border; - } - } - .actions_bottom { - @extend .actions_top; - top: auto; - left: 0; - bottom: 0; - display: inline-block; - border-top: 1px solid $color_actions_border; - a { - padding: 0 0.4em; - } - li { - border: 0px; - border-right: 1px solid $color_actions_border; - } - } - .actions_right { - top: 2.2em; - right: 0em; - bottom:0; - display: block; - li { - width: 2.2em; - display: block; - border-bottom: 1px solid $color_actions_border; - &:first-child { - border-top: 1px solid $color_actions_border; - } - } - } - .actions_left { - @extend .actions_right; - right: auto; - left: 0em; - } + .actions_inserts { + background: transparent; + position: relative; + z-index: 19; + display: table; + width: 100%; + & > li { + display: table-cell; + &:hover > a { + @include background-top-down(#1c81c4, #0b6dad); + } + & > a { + @include background-top-down(#3498DB, #2980C9); + border-right: 1px solid #fff; + padding: 0.2em; + display: block; + color: white; + text-align: center; + white-space: nowrap; + &.btn-excluir { + text-align: left; + background: #A70808; + color: #c99; + padding-left: 1.7em; + position: relative; - .actions_inserts { - background: transparent; - position: relative; - z-index: 19; - display: table; - width: 100%; - - & > li { - display: table-cell; - - &:hover > a { - @include background-top-down(#1c81c4, #0b6dad); - } - & > a { - @include background-top-down(#3498DB, #2980C9); - border-right: 1px solid #fff; - padding: 0.2em; - display: block; - color: white; - text-align: center; - white-space: nowrap; - - - &.btn-excluir { - - text-align: left; - background: #A70808; - color: #c99; - padding-left: 1.7em; - position: relative; - - &:hover { - background-color: #c70808; - color: #ecc; - } - - &::before { - z-index: 20; - position: absolute; - background: url(/static/img/icon_delete_white.png) no-repeat 50% 50%; - content:""; - top: 0; - left: 0; - display: block; - color: black; - margin-left: 0.4em; - height: 100%; - width: 2em; - } - - } /* btn-excluir */ - - &.btn-salvar { - @extend .btn-excluir; - background: #1f8b4d; - color: white; - &:hover { - background: #2d9c5c; - color: white; - } - &::before { - background: url(/static/img/icon_save_white.png) no-repeat 50% 50%; - } - } - span { - padding: 0 0.7em; - } - } - - &:last-child > a{ - border-right: 0px solid #fff; - } - - & > ul { - li { - &:nth-child(even) a { - background: #3385CA; - } - a { - border-right: 1px solid #fff; - display: block; - color: white; - background: #2980C9; - font-size: 80%; - padding: 0.23em 1em; - &:hover { - background: #0a5ea4; - } - } - - } - } - &.add_prior { - @include li_flutuante(); - table-layout: fixed; - } - &.menu_excluir { - @include li_flutuante(); - display: block; - position: static; - - - & > ul { - right: 0.5em; - li { - a { - background-color: #A70808; - &:hover { - background: #c70808; - } - } - &:first-child { - &::before { - border-color: transparent transparent #A70808; - right: 10%; - left: auto; - } - &:hover::before { - border-color: transparent transparent #c70808; - } - } - } - } - - } + &:hover { + background-color: #c70808; + color: #ecc; + } + &::before { + z-index: 20; + position: absolute; + background: url(/static/img/icon_delete_white.png) no-repeat 50% 50%; + content:""; + top: 0; + left: 0; + display: block; + color: black; + margin-left: 0.4em; + height: 100%; + width: 2em; + } + + } /* btn-excluir */ + + &.btn-salvar { + @extend .btn-excluir; + background: #1f8b4d; + color: white; + &:hover { + background: #2d9c5c; + color: white; + } + &::before { + background: url(/static/img/icon_save_white.png) no-repeat 50% 50%; + } + } + span { + padding: 0 0.7em; + } + } + + &:last-child > a{ + border-right: 0px solid #fff; + } + + & > ul { + li { + &:nth-child(even) a { + background: #3385CA; + } + a { + border-right: 1px solid #fff; + display: block; + color: white; + background: #2980C9; + font-size: 80%; + padding: 0.23em 1em; + &:hover { + background: #0a5ea4; } - } /* actions_inserts */ - - - .menu_flutuante { - & > li { - @include li_flutuante(); - - - &.menu_excluir { - & > ul { - li { - &:first-child { - &::before { - right: auto; - left: 0.9375rem; - } - } - } - } - } - } + } + } + } + &.add_prior { + @include li_flutuante(); + table-layout: fixed; + } + &.menu_excluir { + @include li_flutuante(); + display: block; + position: static; - textarea { - margin: 0; - resize: vertical; - min-height: 12.6em; - border: 0px; - font-size: 120%; - &:focus { - background: #fff; - } - &::-webkit-input-placeholder { - color: #c70808; - opacity: 0.6; - font-size: 80%; - } - &:-moz-placeholder { /* Firefox 18- */ - color: #c70808; - } - &::-moz-placeholder { /* Firefox 19+ */ - color: #c70808; + + & > ul { + right: 0.5em; + li { + a { + background-color: #A70808; + &:hover { + background: #c70808; + } } - &:-ms-input-placeholder { - color: #c70808; - opacity: 0.6; + &:first-child { + &::before { + border-color: transparent transparent #A70808; + right: 10%; + left: auto; + } + &:hover::before { + border-color: transparent transparent #c70808; + } } + } } - } /* fim csform*/ - } - .selected { - background-color: rgba(255, 255, 255, 0.5); - a { - &:hover { - color: $color_actions !important; - font-weight: normal !important; - } + } + } - } -} -.btn-busca { - background-color: #0093dd; - &:hover { - background-color: #007ebe; - } - &:focus { - background-color: #036190; - } -} + } /* actions_inserts */ -.btn-close-container{ - position: absolute; - background-color: #AAA; - width: 2em; - height: 2em; - border: 0.3em solid #FFF; - top: -0.9em; - right: -0.9em; - border-radius: 50%; - cursor: pointer; - opacity: 0.7; - transform: rotate(45deg); - z-index: 98; - .icon-close{ - background: #FFF; - height: 1.2em; - position: absolute; - width: 0.2em; - top: 0.15em; - left: 0.66em; + .menu_flutuante { + & > li { + @include li_flutuante(); - &::after { - background: #FFF; - content: ""; - height: 0.2em; - left: -0.5em; - position: absolute; - top: 0.48em; - width: 1.2em; + &.menu_excluir { + & > ul { + li { + &:first-child { + &::before { + right: auto; + left: 0.9375rem; + } + } + } + } + } } + } + + textarea { + margin: 0; + resize: vertical; + min-height: 12.6em; + border: 0px; + font-size: 120%; + width: 100%; + &:focus { + background: #fff; + } + &::-webkit-input-placeholder { + color: #c70808; + opacity: 0.6; + font-size: 80%; + } + &:-moz-placeholder { /* Firefox 18- */ + color: #c70808; + } + &::-moz-placeholder { /* Firefox 19+ */ + color: #c70808; + } + &:-ms-input-placeholder { + color: #c70808; + opacity: 0.6; + } + } + } /* fim csform*/ + } + + .selected { + background-color: rgba(255, 255, 255, 0.5); + a { + &:hover { + color: $color_actions !important; + font-weight: normal !important; + } } - &:hover{ - opacity: 1; - } + } } + .class_color_container { - background: #ddd !important; + background: #ddd !important; } .clear { - clear:both; + clear:both; } .mce-panel { - border: 0px solid #ccc !important; + border: 0px solid #ccc !important; } .mce-btn button:hover { - background-color: rgba(0,0,0,0.1) !important; - text-shadow: 0 0 5px #fff; - box-shadow: 0 0 5px #777; + background-color: rgba(0,0,0,0.1) !important; + text-shadow: 0 0 5px #fff; + box-shadow: 0 0 5px #777; } .mce-menu { - background: #eee !important; + background: #eee !important; } .displaynone { - display: none !important; + display: none !important; } @media only screen and (max-width: 40.0625em) { - .cp .fixed{ - z-index:98; - position: relative; - } + .cp .fixed{ + z-index:98; + position: relative; + } - .cpe { - .dpt-selected { - margin:1em -1em 1em -1.8em; - - .csform { - .actions_parents, .label_status { - font-size: 80%; - position:static !important; - display: block !important; - padding: 0em; - height: auto !important; - div, li { - display: inline-block !important; - } - } + .cpe { + .dpt-selected { + margin:1em -1em 1em -1.8em; + + .csform { + .actions_parents, .label_status { + font-size: 80%; + position:static !important; + display: block !important; + padding: 0em; + height: auto !important; + div, li { + display: inline-block !important; + } + } - .actions_inserts { - & > li { - @include li_flutuante(); - - & > a { - span { - display: none; - } - &.btn-excluir, &.btn-salvar { - padding-left: 0; - min-width: 1em; - &::before { - width: 100%; - margin: 0; - } - } - } - &.add_in, &.add_next, &.add_prior { - position: static; - } - &.add_in > ul { - left: 1em !important; - right: 1em !important; - margin-left: 0; - li:first-child::before { - left: 37%; - } - } - &.add_next > ul { - left: 0 !important; - right: 1em !important; - } - &.add_prior > ul { - left: 1em !important; - right: 0 !important; - margin-left: 0; - margin-right: 0.5em; - li:first-child::before { - right: 42%; - left: auto; - } - } - &.menu_excluir > ul { - left: 10% !important; - right: 0 !important; - margin-left: 0; - margin-right: 0.5em; - li:first-child::before { - right: 27%; - left: auto; - } - } - } + .actions_inserts { + & > li { + @include li_flutuante(); + + & > a { + span { + display: none; + } + &.btn-excluir, &.btn-salvar { + padding-left: 0; + min-width: 1em; + &::before { + width: 100%; + margin: 0; } + } + } + &.add_in, &.add_next, &.add_prior { + position: static; } + &.add_in > ul { + left: 1em !important; + right: 1em !important; + margin-left: 0; + li:first-child::before { + left: 37%; + } + } + &.add_next > ul { + left: 0 !important; + right: 1em !important; + } + &.add_prior > ul { + left: 1em !important; + right: 0 !important; + margin-left: 0; + margin-right: 0.5em; + li:first-child::before { + right: 42%; + left: auto; + } + } + &.menu_excluir > ul { + left: 10% !important; + right: 0 !important; + margin-left: 0; + margin-right: 0.5em; + li:first-child::before { + right: 27%; + left: auto; + } + } + } } + } } + } } @media print { - .cp .vigencias, .toggle-topbar, .menu-icon, .button { - display:none; - } + .cp .vigencias, .toggle-topbar, .menu-icon, .button { + display:none; + } } diff --git a/templates/base.html b/templates/base.html index 5d4a6d9d9..8fdcaa365 100644 --- a/templates/base.html +++ b/templates/base.html @@ -154,9 +154,13 @@ {% endblock %} {% block title %} - {% if view.title %} -

{{ view.title|linebreaksbr }}

- {% endif %} +

+ {% if view.title %} + {{ view.title|safe|linebreaksbr }} + {% else %} + {{ title|safe|linebreaksbr }} + {% endif %} +

{% endblock %} @@ -217,15 +221,18 @@ {% block foot_js %} - + - - - + + + + + + {% block extra_js %}{% endblock %} diff --git a/templates/compilacao/ajax_form.html b/templates/compilacao/ajax_form.html index 52cbf0e30..8daf9e789 100644 --- a/templates/compilacao/ajax_form.html +++ b/templates/compilacao/ajax_form.html @@ -1,3 +1,2 @@ {% load crispy_forms_tags %} -
{% crispy form form.helper%} diff --git a/templates/compilacao/confirm_delete.html b/templates/compilacao/confirm_delete.html deleted file mode 100644 index 354db7f00..000000000 --- a/templates/compilacao/confirm_delete.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends "base.html" %} -{% load i18n %} - -{% block base_content %} -
{% csrf_token %} -
- -

- {% blocktrans %} - Confirma exclusão de
"{{ object }}"? - {% endblocktrans %} -

- - -
-
-{% endblock %} diff --git a/templates/compilacao/dispositivo_search_fragment_form.html b/templates/compilacao/dispositivo_search_fragment_form.html index be999ad8d..385096057 100644 --- a/templates/compilacao/dispositivo_search_fragment_form.html +++ b/templates/compilacao/dispositivo_search_fragment_form.html @@ -2,39 +2,38 @@ {% load compilacao_filters %} {% if object_list.count >= 100 %} -
- {% trans 'Use argumentos para simplificar listagem...' %} -
+
+ {% trans 'Use argumentos para simplificar listagem...' %} +
{% endif %} {% for dpt in object_list %} - {% ifchanged dpt.ta%} - {% if not forloop.first %}{% endif %} -
{{dpt.ta}}
-
    - {% endifchanged %} + {% ifchanged dpt.ta%} + {% if not forloop.first %}
{% endif %} +
{{dpt.ta}}
+
    + {% endifchanged %} - {% if dpt.is_relative_auto_insert and dpt.dispositivo_pai.nivel != 0 %} -
  • -
    - -
    -
    - - {% nomenclatura_heranca dpt 1 1 %} -
    -
  • - {% elif not dpt.tipo_dispositivo.dispositivo_de_articulacao %} -
  • -
    - -
    -
    - - {% nomenclatura_heranca dpt 1 1 %} -
    -
  • - {% endif%} - - {% if forloop.last %}
{% endif %} + {% if dpt.is_relative_auto_insert and dpt.dispositivo_pai.nivel != 0 %} +
  • +
    + +
    +
    + + {% nomenclatura_heranca dpt 1 1 %} +
    +
  • + {% elif not dpt.tipo_dispositivo.dispositivo_de_articulacao %} +
  • +
    + +
    +
    + + {% nomenclatura_heranca dpt 1 1 %} +
    +
  • + {% endif%} + {% if forloop.last %}{% endif %} {% endfor %} diff --git a/templates/compilacao/publicacao_detail.html b/templates/compilacao/publicacao_detail.html index c7e5a9ea1..8f026d35b 100644 --- a/templates/compilacao/publicacao_detail.html +++ b/templates/compilacao/publicacao_detail.html @@ -1,92 +1,91 @@ -{% extends "base.html" %} {% load i18n %} {% load compilacao_filters %} +{% extends "base.html" %} +{% load i18n %} +{% load compilacao_filters %} {% load common_tags %} -{% block base_content %} {# FIXME is this the best markup to use? #} -
    +{% block base_content %} +
    {% block actions %} - - {% endblock actions %}
    - {% block sections_nav %} - {% endblock %} + {% trans 'Editar' %} + {% trans 'Excluir' %}
    -
    + {% endblock actions %} +
    +
    + {% block sections_nav %} + {% endblock %} +
    - {% block detail_content %} {# TODO replace fieldset for something semantically correct, but with similar visual grouping style #} + {% block detail_content %} {# TODO replace fieldset for something semantically correct, but with similar visual grouping style #}
    - {%trans 'Identificação Básica'%} - -
    -
    -
    - -

    {{ object.tipo_publicacao}}

    -
    -
    -
    -
    - -

    {{ object.veiculo_publicacao}}

    -
    -
    -
    -
    - -

    {{ object.ano}}

    -
    -
    + {%trans 'Identificação Básica'%} +
    +
    +
    + +

    {{ object.tipo_publicacao}}

    +
    -
    -
    -
    - -

    {{ object.data}}

    -
    -
    -
    -
    - -

    {{ object.hora|time:"H:i:s"}}

    -
    -
    -
    -
    - -

    {{ object.numero|default:''}}

    -
    -
    -
    -
    - -

    {{ object.edicao|default:''}}

    -
    -
    +
    +
    + +

    {{ object.veiculo_publicacao}}

    +
    -
    -
    -
    - -

    {{ object.pagina_inicio|default:''}}

    -
    -
    -
    -
    - -

    {{ object.pagina_fim|default:''}}

    -
    -
    -
    -
    - -

    {{ object.url_externa|default:''}}

    -
    -
    - +
    +
    + +

    {{ object.ano}}

    +
    +
    +
    +
    +
    +
    + +

    {{ object.data}}

    +
    +
    +
    +
    + +

    {{ object.hora|time:"H:i:s"}}

    +
    +
    +
    + +

    {{ object.numero|default:''}}

    +
    +
    +
    +
    + +

    {{ object.edicao|default:''}}

    +
    +
    +
    +
    +
    +
    + +

    {{ object.pagina_inicio|default:''}}

    +
    +
    +
    +
    + +

    {{ object.pagina_fim|default:''}}

    +
    +
    +
    +
    + +

    {{ object.url_externa|default:''}}

    +
    +
    +
    - {% endblock detail_content %} - + {% endblock detail_content %} {% endblock base_content %} diff --git a/templates/compilacao/publicacao_list.html b/templates/compilacao/publicacao_list.html index abcb696d0..fb80695b6 100644 --- a/templates/compilacao/publicacao_list.html +++ b/templates/compilacao/publicacao_list.html @@ -5,45 +5,44 @@ {% block base_content %} - - -{% if not object_list %} -

    {{ NO_ENTRIES_MSG }}

    -{% else %} - - + {% if not object_list %} +

    {{ NO_ENTRIES_MSG }}

    + {% else %} +
    + - - - - - - - + + + + + + + - - + + {% for pub in object_list %} - - + + - + {% endfor %} - -
    {% fieldclass_verbose_name 'compilacao.models.Publicacao' 'data' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'hora' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'numero' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'ano' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'edicao' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'veiculo_publicacao' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'tipo_publicacao' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'data' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'hora' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'numero' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'ano' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'edicao' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'veiculo_publicacao' %}{% fieldclass_verbose_name 'compilacao.models.Publicacao' 'tipo_publicacao' %}
    {{ pub.data }}
    {{ pub.data }} {{ pub.hora|time:'H:i:s' }} {{ pub.numero|default:'' }} {{ pub.ano|default:'' }} {{ pub.edicao|default:'' }} {{ pub.veiculo_publicacao }} {{ pub.tipo_publicacao}}
    -{%endif%} -{% include 'paginacao.html'%} + + + {%endif%} + {% include 'paginacao.html'%} {% endblock %} diff --git a/templates/compilacao/text_edit.html b/templates/compilacao/text_edit.html index 04a8f0b4d..41df0d905 100644 --- a/templates/compilacao/text_edit.html +++ b/templates/compilacao/text_edit.html @@ -6,26 +6,36 @@ {% load crispy_forms_tags %} {% load common_tags %} - {% block head_content %}{{block.super}} - - - + {% endblock %} - {% block title%}

    Edição: {{ view.title }} - {% trans 'Texto Multivigente' %}

    {% endblock %} - -{% block base_content %}{{block.super}} - -
    {% trans 'Aguarde... Atualizando informações!!!'%}
    +{% block actions %} +
    + +
    +{% endblock actions %} -
    - {% include 'compilacao/text_edit_bloco.html'%} -
    +{% block base_content %}{{block.super}} + +
    + {% include 'compilacao/text_edit_bloco.html'%} +
    {% endblock base_content %} + +{% block foot_js %} + {{block.super}} + + +{% endblock %} diff --git a/templates/compilacao/text_edit_bloco.html b/templates/compilacao/text_edit_bloco.html index 7f22d15f4..92facce03 100644 --- a/templates/compilacao/text_edit_bloco.html +++ b/templates/compilacao/text_edit_bloco.html @@ -3,133 +3,128 @@ {% load common_tags %} {% for dpt in object_list %} - {% if dpt.nivel == view.flag_nivel_old %} - - {% elif dpt.nivel < view.flag_nivel_old %} - {% close_div view.flag_nivel_old dpt.nivel 0 %} - {% endif%} - - {% if forloop.first and view|isinst:'DispositivoEditView' %} - {% else %} -
    - {% endif%} - - - {% if view|render_actions_head:dpt %} -
    -
    -
      - {% if not dpt.tipo_dispositivo.dispositivo_de_articulacao %} -
    • E
    • -
    • E+
    • - {%endif%} -
    • E*
    • -
    • C
    • -
    - - -
      -
    • T
    • -
    -
      - {% for perfil in perfil_estrutural_list%} -
    • {{perfil.sigla}}
    • - {% endfor %} -
    - - - -
    - {% csrf_token %} - - - {% if not dpt.tipo_dispositivo.dispositivo_de_articulacao %} - - {%endif%} - -
    - -
      -
    • Ordem: {{dpt.ordem}}, Nivel: {{dpt.nivel}}, Número: {{dpt.get_numero_completo}}
    • -
    • .
    • -
    - - -
    + {% if dpt.nivel == view.flag_nivel_old %} +
    + {% elif dpt.nivel < view.flag_nivel_old %} + {% close_div view.flag_nivel_old dpt.nivel 0 %} + {% endif%} + + {% if forloop.first and view|isinst:'DispositivoEditView' %} + {% else %} +
    + {% endif%} + + {% if view|render_actions_head:dpt %} +
    +
    +
      + {% if not dpt.tipo_dispositivo.dispositivo_de_articulacao %} +
    • E
    • +
    • E+
    • + {%endif%} +
    • E*
    • +
    • C
    • +
    + + +
      +
    • T
    • +
    +
      + {% for perfil in perfil_estrutural_list%} +
    • {{perfil.sigla}}
    • + {% endfor %} +
    + + + +
    + {% csrf_token %} + + {% if not dpt.tipo_dispositivo.dispositivo_de_articulacao %} + + {%endif%} +
    + +
      +
    • Ordem: {{dpt.ordem}}, Nivel: {{dpt.nivel}}, Número: {{dpt.get_numero_completo}}
    • +
    • .
    • +
    + + +
    - {% endif%} - - {% if view.pk_view == 0 and view.pk_edit == 0 or view.pk_edit != view.pk_view %} - - {% if not dpt.rotulo and not dpt.texto %} -
    - E -
    - {% endif %} -
    - {% spaceless %} -
    {{ dpt.tipo_dispositivo.rotulo_prefixo_html|safe }}{{ dpt.rotulo }}{{ dpt.tipo_dispositivo.rotulo_sufixo_html|safe }}{{ dpt.tipo_dispositivo.texto_prefixo_html|safe }}{% if dpt.texto == '' and not dpt.tipo_dispositivo.dispositivo_de_articulacao %}({{dpt.tipo_dispositivo}} sem texto){%else%}{{ dpt.texto|safe }}{%endif%}
    - {% if dpt.ta_publicado_id != None and not dpt.tipo_dispositivo.dispositivo_de_articulacao %} - - {{ dpt.tipo_dispositivo.nota_automatica_prefixo_html|safe }} - {% nota_automatica dpt %} - {{ dpt.tipo_dispositivo.nota_automatica_sufixo_html|safe }} - - {% endif %} - {% endspaceless %} - {% if view.is_ta_alterador and dpt.tipo_dispositivo.class_css == 'bloco_alteracao'%} - {%with node=dpt template_name='compilacao/text_edit_blocoalteracao.html' %} - {%include template_name%} - {%endwith%} - {% endif%} -
    - {% endif%} + {% endif%} + + {% if view.pk_view == 0 and view.pk_edit == 0 or view.pk_edit != view.pk_view %} + {% if not dpt.rotulo and not dpt.texto %} +
    + E +
    + {% endif %} +
    + {% spaceless %} +
    {{ dpt.tipo_dispositivo.rotulo_prefixo_html|safe }}{{ dpt.rotulo }}{{ dpt.tipo_dispositivo.rotulo_sufixo_html|safe }}{{ dpt.tipo_dispositivo.texto_prefixo_html|safe }}{% if dpt.texto == '' and not dpt.tipo_dispositivo.dispositivo_de_articulacao %}({{dpt.tipo_dispositivo}} sem texto){%else%}{{ dpt.texto|safe }}{%endif%}
    + {% if dpt.ta_publicado_id != None and not dpt.tipo_dispositivo.dispositivo_de_articulacao %} + + {{ dpt.tipo_dispositivo.nota_automatica_prefixo_html|safe }} + {% nota_automatica dpt ta_pub_list %} + {{ dpt.tipo_dispositivo.nota_automatica_sufixo_html|safe }} + + {% endif %} + {% endspaceless %} + {% if view.is_ta_alterador and dpt.tipo_dispositivo.class_css == 'bloco_alteracao'%} + {%with node=dpt template_name='compilacao/text_edit_blocoalteracao.html' %} + {%include template_name%} + {%endwith%} + {% endif%} +
    + {% endif%} - {% set_nivel_old view dpt.nivel %} + {% set_nivel_old view dpt.nivel %} {% endfor %} {% if view|isinst:'DispositivoEditView' %} - {% close_div view.flag_nivel_old view.flag_nivel_ini -1 %} + {% close_div view.flag_nivel_old view.flag_nivel_ini -1 %} {% else %} - {% close_div view.flag_nivel_old view.flag_nivel_ini 0 %} + {% close_div view.flag_nivel_old view.flag_nivel_ini 0 %} {% endif%} diff --git a/templates/compilacao/text_edit_blocoalteracao.html b/templates/compilacao/text_edit_blocoalteracao.html index 156d2770a..d9cb1f05c 100644 --- a/templates/compilacao/text_edit_blocoalteracao.html +++ b/templates/compilacao/text_edit_blocoalteracao.html @@ -1,11 +1,11 @@ {% load compilacao_filters %} {% load common_tags %} {% for ch in dpt.pk|get_bloco_atualizador %} -{% spaceless %} -
    -
    - {{ ch.tipo_dispositivo.rotulo_prefixo_html|safe }}{{ ch.rotulo }}{{ ch.tipo_dispositivo.rotulo_sufixo_html|safe }}{{ ch.tipo_dispositivo.texto_prefixo_html|safe }}{{ ch.texto|safe }} -
    -
    -{% endspaceless %} + {% spaceless %} +
    +
    + {{ ch.tipo_dispositivo.rotulo_prefixo_html|safe }}{{ ch.rotulo }}{{ ch.tipo_dispositivo.rotulo_sufixo_html|safe }}{{ ch.tipo_dispositivo.texto_prefixo_html|safe }}{{ ch.texto|safe }} +
    +
    + {% endspaceless %} {% endfor %} diff --git a/templates/compilacao/text_list.html b/templates/compilacao/text_list.html index ea718981f..218befe22 100644 --- a/templates/compilacao/text_list.html +++ b/templates/compilacao/text_list.html @@ -5,94 +5,102 @@ {% load staticfiles %} {% load sass_tags %} -{% block head_content %}{{block.super}} - - - - - - - {% if perms.compilacao.add_nota %} - - {% endif %} +{% block head_content %} + {{block.super}} + {% endblock %} - - -{% block base_content %}{{block.super}} - -
    - {% if object_list %} -
    -{% endblock base_content %} +{% block foot_js %} + {{block.super}} + + + {% if perms.compilacao.add_nota %} + + {% endif %} +{% endblock %} diff --git a/templates/compilacao/text_list_bloco.html b/templates/compilacao/text_list_bloco.html index 36a886092..fd467cc25 100644 --- a/templates/compilacao/text_list_bloco.html +++ b/templates/compilacao/text_list_bloco.html @@ -2,166 +2,177 @@ {% load compilacao_filters %} {% load common_tags %} -
    - {% for dpt in object_list %} - {% if dpt.nivel == view.flag_nivel_old %} -
    - {% elif dpt.nivel < view.flag_nivel_old %} - {% close_div view.flag_nivel_old dpt.nivel 0 %} - {% endif%} - + {% if dpt.nivel == view.flag_nivel_old %} +
    + {% elif dpt.nivel < view.flag_nivel_old %} + {% close_div view.flag_nivel_old dpt.nivel 0 %} + {% endif%} - {% if forloop.first and view|isinst:'DispositivoView' %} - {% else %} -
    - {% endif%} + {% if forloop.first and view|isinst:'DispositivoView' %} + {% else %} +
    + {% endif%} - {% spaceless %} -
    -
    - {{ dpt.tipo_dispositivo.rotulo_prefixo_html|safe }}{{ dpt.rotulo }}{{ dpt.tipo_dispositivo.rotulo_sufixo_html|safe }}{{ dpt.tipo_dispositivo.texto_prefixo_html|safe }}{%if dpt.texto%}{{ dpt.texto|safe }}{%else%} {%endif%} - {% if dpt.ta_publicado_id != None and not dpt.tipo_dispositivo.dispositivo_de_articulacao %} - - {{ dpt.tipo_dispositivo.nota_automatica_prefixo_html|safe }} - {% nota_automatica dpt %} - {{ dpt.tipo_dispositivo.nota_automatica_sufixo_html|safe }} - - {% endif %} - {% if user.is_authenticated and not dpt.tipo_dispositivo.dispositivo_de_articulacao%} - {% if perms.compilacao.add_nota or perms.compilacao.add_vide or perms.compilacao.change_dispositivo%} -
    {# TODO: User - dne - Dispostivo Nota Editor - tratar permissão de usuário#} -
      - {% if perms.compilacao.change_dispositivo %}
    • Ed
    • {% endif %} - {% if perms.compilacao.add_nota %}
    • N
    • {% endif %} - {% if perms.compilacao.add_vide %}
    • V
    • {% endif %} -
    -
    -
    - {% endif %} - {% endif%} -
    + {% spaceless %} +
    +
    + {{ dpt.tipo_dispositivo.rotulo_prefixo_html|safe }} + {{ dpt.rotulo }} + {{ dpt.tipo_dispositivo.rotulo_sufixo_html|safe }} + {{ dpt.tipo_dispositivo.texto_prefixo_html|safe }}{%if dpt.texto %}{{ dpt.texto|safe }}{%else%}{%if not dpt.tipo_dispositivo.dispositivo_de_articulacao %} {% endif %}{% endif %} + {% if dpt.ta_publicado_id and not dpt.tipo_dispositivo.dispositivo_de_articulacao %} + + {{ dpt.tipo_dispositivo.nota_automatica_prefixo_html|safe }} + {% nota_automatica dpt ta_pub_list %} + {{ dpt.tipo_dispositivo.nota_automatica_sufixo_html|safe }} + + {% endif %} + {% if user.is_authenticated and not dpt.tipo_dispositivo.dispositivo_de_articulacao%} + {% if perms.compilacao.add_nota or perms.compilacao.add_vide or perms.compilacao.change_dispositivo%} +
    +
      + {% if perms.compilacao.change_dispositivo %}
    • Ed
    • {% endif %} + {% if perms.compilacao.add_nota %}
    • N
    • {% endif %} + {% if perms.compilacao.add_vide %}
    • V
    • {% endif %} +
    +
    +
    + {% endif %} + {% endif %} +
    - {% if not dpt.tipo_dispositivo.dispositivo_de_articulacao%} -
    {# Dispostivo Nota e Vides #} -
      {# Dispostivo Nota Lista#} + {% if not dpt.tipo_dispositivo.dispositivo_de_articulacao%} +
      {# Dispostivo Nota e Vides #} +
        {# Dispostivo Nota Lista#} + {% if cita and cita|lookup:dpt.pk %} + {% for vide in cita|lookup:dpt.pk %} - {% if cita and cita|lookup:dpt.pk %} - {% for vide in cita|lookup:dpt.pk %} + {%if not forloop.first %} +
      • + {% endif %} +
      • - {%if not forloop.first %}
      • {%endif%} -
      • +
          + {% if user.is_authenticated %} + {% if perms.compilacao.change_vide %} +
        • Editar
        • +
        • + {% endif %} + {% if perms.compilacao.delete_vide %} +
        • Excluir
        • +
        • + {% endif %} + {% endif %} +
        • {{vide.tipo.nome}}
        • +
        • +
        • {{vide.created|date:"d M Y"}}
        • +
        +
        Vide:
        +
        + {% if vide.dispositivo_ref.dispositivo_pai.nivel != 0 and vide.dispositivo_ref.dispositivo_pai.tipo_dispositivo.dispositivo_de_articulacao %} + {{ vide.dispositivo_ref.dispositivo_pai}} + {% else %} + {{ vide.dispositivo_ref}} + {% endif %} + {% if vide.texto %} - {{vide.texto}}{% endif %} +
        +
      • + {% endfor %} + {% endif %} -
          - {% if user.is_authenticated %} - {% if perms.compilacao.change_vide %} -
        • Editar
        • -
        • - {%endif%} - {% if perms.compilacao.delete_vide %} -
        • Excluir
        • -
        • - {%endif%} - {% endif %} -
        • {{vide.tipo.nome}}
        • -
        • -
        • {{vide.created|date:"d M Y"}}
        • -
        -
        Vide:
        -
        - {% if vide.dispositivo_ref.dispositivo_pai.nivel != 0 and vide.dispositivo_ref.dispositivo_pai.tipo_dispositivo.dispositivo_de_articulacao %} - {{ vide.dispositivo_ref.dispositivo_pai}} - {% else %} - {{ vide.dispositivo_ref}} - {% endif %} - {% if vide.texto %} - {{vide.texto}}{% endif %} -
        - - {% endfor %} - {% endif %} + {% if citado and citado|lookup:dpt.pk %} + {% if cita and cita|lookup:dpt.pk %} +
      • + {% endif %} - {% if citado and citado|lookup:dpt.pk %} - {% if cita and cita|lookup:dpt.pk %}
      • {%endif%} - {% for vide in citado|lookup:dpt.pk %} - {%if not forloop.first %}
      • {%endif%} -
      • -
          -
        • {{vide.tipo.nome}}
        • -
        • -
        • {{vide.created|date:"d M Y"}}
        • -
        -
        Citado em:
        -
        - {% if vide.dispositivo_base.dispositivo_pai.nivel != 0 and vide.dispositivo_base.dispositivo_pai.tipo_dispositivo.dispositivo_de_articulacao%} - {{ vide.dispositivo_base.dispositivo_pai}} - {% else %} - {{ vide.dispositivo_base}} - {% endif %} - {% if vide.texto %} - {{vide.texto}}{% endif %} -
        -
      • - {% endfor %} - {% endif %} - {%if notas and notas|lookup:dpt.pk and cita and cita|lookup:dpt.pk or notas and notas|lookup:dpt.pk and citado and citado|lookup:dpt.pk %}
      • {%endif%} - {% if notas and notas|lookup:dpt.pk %} - {% for nota in notas|lookup:dpt.pk %} + {% for vide in citado|lookup:dpt.pk %} + {%if not forloop.first %} +
      • + {% endif %} +
      • +
          +
        • {{vide.tipo.nome}}
        • +
        • +
        • {{vide.created|date:"d M Y"}}
        • +
        +
        Citado em:
        +
        + {% if vide.dispositivo_base.dispositivo_pai.nivel != 0 and vide.dispositivo_base.dispositivo_pai.tipo_dispositivo.dispositivo_de_articulacao%} + {{ vide.dispositivo_base.dispositivo_pai}} + {% else %} + {{ vide.dispositivo_base}} + {% endif %} + {% if vide.texto %} - {{vide.texto}}{% endif %} +
        +
      • + {% endfor %} + {% endif %} + {%if notas and notas|lookup:dpt.pk and cita and cita|lookup:dpt.pk or notas and notas|lookup:dpt.pk and citado and citado|lookup:dpt.pk %} +
      • + {% endif %} + {% if notas and notas|lookup:dpt.pk %} + {% for nota in notas|lookup:dpt.pk %} - {% if user.is_superuser or nota.publicidade == nota.NPUBL or nota.publicidade == nota.NINST and user.is_authenticated or nota.publicidade = nota.NPRIV and nota.owner == user %} - {%if not forloop.first %}
      • {%endif%} -
      • -
          - {% if user.is_authenticated %} - {% if user == nota.owner and perms.compilacao.change_nota or user.is_superuser%} -
        • Editar
        • -
        • - {% endif %} - {% if user == nota.owner and perms.compilacao.delete_nota or user.is_superuser %} -
        • Excluir
        • -
        • - {% endif %} - {% endif %} -
        • {{nota.tipo.nome}}
        • -
        • -
        • {%if nota.owner.first_name%}{{nota.owner.first_name}}{%else%}{{nota.owner}}{%endif%}
        • -
        • -
        • {{nota.publicacao|date:"d M Y"}}
        • -
        + {% if user.is_superuser or nota.publicidade == nota.NPUBL or nota.publicidade == nota.NINST and user.is_authenticated or nota.publicidade == nota.NPRIV and nota.owner == user %} + {%if not forloop.first %} +
      • + {% endif %} +
      • +
          + {% if user.is_authenticated %} + {% if user == nota.owner and perms.compilacao.change_nota or user.is_superuser%} +
        • Editar
        • +
        • + {% endif %} + {% if user == nota.owner and perms.compilacao.delete_nota or user.is_superuser %} +
        • Excluir
        • +
        • + {% endif %} + {% endif %} +
        • {{nota.tipo.nome}}
        • +
        • +
        • {%if nota.owner.first_name%}{{nota.owner.first_name}}{%else%}{{nota.owner}}{% endif %}
        • +
        • +
        • {{nota.publicacao|date:"d M Y"}}
        • +
        - {%if nota.titulo %} -
        - {%if nota.url_externa %}{%endif%}{{nota.titulo}} - {%if nota.url_externa %}{%endif%} -
        - {%endif%} -
        - {%if nota.url_externa %}{%endif%}{{ nota.texto}}{%if nota.url_externa %}{%endif%} -
        + {%if nota.titulo %} +
        + {%if nota.url_externa %}{% endif %}{{nota.titulo}} - {%if nota.url_externa %}{% endif %} +
        + {% endif %} +
        + {%if nota.url_externa %}{% endif %}{{ nota.texto}}{%if nota.url_externa %}{% endif %} +
        - {%comment%} -
          -
        • {{nota.efetividade|date:"d M Y"}}
        • -
        • -
        • {{nota.get_publicidade_display}}
        • -
        - {%endcomment%} -
      • - {% endif %} - {% endfor %} - {% endif %} -
      -
      - {% endif%} -
    - {% endspaceless %} - {% if view.is_ta_alterador and dpt.tipo_dispositivo.class_css == 'bloco_alteracao'%} - {%with node=dpt template_name='compilacao/text_list_blocoalteracao.html' %} - {%include template_name%} - {%endwith%} - {% endif%} - {% set_nivel_old view dpt.nivel %} + {%comment%} +
      +
    • {{nota.efetividade|date:"d M Y"}}
    • +
    • +
    • {{nota.get_publicidade_display}}
    • +
    + {%endcomment%} + + {% endif %} + {% endfor %} + {% endif %} + +
    + {% endif%} +
    + {% endspaceless %} + {% if dpt.tipo_dispositivo.class_css == 'bloco_alteracao'%} + {%with node=dpt template_name='compilacao/text_list_blocoalteracao.html' %} + {%include template_name%} + {%endwith%} + {% endif%} + {% set_nivel_old view dpt.nivel %} {% endfor %} + {% if view|isinst:'DispositivoView' %} - {% close_div view.flag_nivel_old view.flag_nivel_ini -1 %} + {% close_div view.flag_nivel_old view.flag_nivel_ini -1 %} {% else %} - {% close_div view.flag_nivel_old view.flag_nivel_ini 0 %} + {% close_div view.flag_nivel_old view.flag_nivel_ini 0 %} {% endif%} diff --git a/templates/compilacao/text_list_blocoalteracao.html b/templates/compilacao/text_list_blocoalteracao.html index e3bc1e76e..402859487 100644 --- a/templates/compilacao/text_list_blocoalteracao.html +++ b/templates/compilacao/text_list_blocoalteracao.html @@ -1,14 +1,13 @@ {% load compilacao_filters %} {% load common_tags %} - {% for ch in dpt.pk|get_bloco_atualizador %} -{% spaceless %} + {% spaceless %} {% if ch.visibilidade %} -
    +
    - {{ ch.tipo_dispositivo.rotulo_prefixo_html|safe }}{{ ch.rotulo }}{{ ch.tipo_dispositivo.rotulo_sufixo_html|safe }}{{ ch.tipo_dispositivo.texto_prefixo_html|safe }}{{ ch.texto|safe }} + {{ ch.tipo_dispositivo.rotulo_prefixo_html|safe }}{{ ch.rotulo }}{{ ch.tipo_dispositivo.rotulo_sufixo_html|safe }}{{ ch.tipo_dispositivo.texto_prefixo_html|safe }}{{ ch.texto|safe }}
    -
    +
    {%endif%} -{% endspaceless %} + {% endspaceless %} {% endfor %} diff --git a/templates/compilacao/textoarticulado_detail.html b/templates/compilacao/textoarticulado_detail.html index 7c8e834ce..bae6dc16f 100644 --- a/templates/compilacao/textoarticulado_detail.html +++ b/templates/compilacao/textoarticulado_detail.html @@ -3,98 +3,83 @@ {% load compilacao_filters %} {% load common_tags %} - {% block sections_nav %} - {%if object %} -
    +{% block sections_nav %} + +{% endblock %} - {% model_verbose_name_plural 'compilacao.models.Publicacao' %} +{% block base_content %} - {% trans 'Texto' %} - {% trans 'Edição do Texto' %} + {% block actions %} +
    + - {%endif %} - {% endblock %} - -{% block base_content %} {# FIXME is this the best markup to use? #} - - -{% block detail_content %} {# TODO replace fieldset for something semantically correct, but with similar visual grouping style #} -
    - {%trans 'Identificação Básica'%} - -
    +
    + {% endblock actions %} -
    + {% block detail_content %} {# TODO replace fieldset for something semantically correct, but with similar visual grouping style #} +
    + {%trans 'Identificação Básica'%} +
    +
    - -

    {{ object.tipo_ta}}

    + +

    {{ object.tipo_ta}}

    -
    +
    - {% if object.content_object and object.content_object.tipo%} -
    -
    + {% if object.content_object and object.content_object.tipo%} +
    +

    {{ object.content_object.tipo}}

    +
    -
    - {%endif%} + {%endif%} -
    +
    - -

    {{ object.numero}}

    + +

    {{ object.numero}}

    -
    +
    -
    +
    - -

    {{ object.ano}}

    + +

    {{ object.ano}}

    -
    +
    -
    +
    - -

    {{ object.data}}

    + +

    {{ object.data}}

    +
    -
    -
    -
    -
    +
    +
    +
    - -

    {{ object.ementa|safe}}

    + +

    {{ object.ementa|safe}}

    +
    -
    -
    -{% endblock detail_content %} {% endblock base_content %} +
    + {% endblock detail_content %} +{% endblock base_content %} diff --git a/templates/compilacao/textoarticulado_list.html b/templates/compilacao/textoarticulado_list.html index 7df007eb7..7381af217 100644 --- a/templates/compilacao/textoarticulado_list.html +++ b/templates/compilacao/textoarticulado_list.html @@ -4,43 +4,39 @@ {% load common_tags %} {% block base_content %} - {% block actions %}{{block.super}} + {% block detail_content %} + {% endblock detail_content %} - {% endblock actions %} -{% block detail_content %} -{% endblock detail_content %} -
    - - {% trans 'Adicionar'%} {%model_verbose_name 'compilacao.models.TextoArticulado'%} - + {% block actions %} +
    + + {% trans 'Adicionar'%} {%model_verbose_name 'compilacao.models.TextoArticulado'%} + + {% include 'compilacao/textoarticulado_menu_config.html' %} +
    + {% endblock actions %} - - {% block more_buttons %} - - {% endblock more_buttons %} -
    - - +
    - - - - - - - + + + + + + + - {% for ta in object_list %} + {% for ta in object_list %} - - - - - + + + + + - {% endfor %} + {% endfor %} -
    {% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'tipo_ta' %}{% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'numero' %}{% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'ano' %}{% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'data' %}{% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'ementa' %}
    {% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'tipo_ta' %}{% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'numero' %}{% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'ano' %}{% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'data' %}{% fieldclass_verbose_name 'compilacao.models.TextoArticulado' 'ementa' %}
    {{ ta.tipo_ta }}{{ ta.numero }}{{ ta.ano }}{{ ta.data }}{{ ta.ementa|safe }}{{ ta.tipo_ta }}{{ ta.numero }}{{ ta.ano }}{{ ta.data }}{{ ta.ementa|safe }}
    -{% include 'paginacao.html'%} + + {% include 'paginacao.html'%} {% endblock %} diff --git a/templates/compilacao/textoarticulado_menu_config.html b/templates/compilacao/textoarticulado_menu_config.html new file mode 100644 index 000000000..d73ae5ac1 --- /dev/null +++ b/templates/compilacao/textoarticulado_menu_config.html @@ -0,0 +1,16 @@ +{% load i18n %} +{% load common_tags %} + diff --git a/templates/compilacao/tipotextoarticulado_detail.html b/templates/compilacao/tipotextoarticulado_detail.html index 02807e505..62089a736 100644 --- a/templates/compilacao/tipotextoarticulado_detail.html +++ b/templates/compilacao/tipotextoarticulado_detail.html @@ -1,54 +1,51 @@ {% extends "base.html" %} {% load i18n %} {% load compilacao_filters %} {% load common_tags %} -{% block base_content %} {# FIXME is this the best markup to use? #} +{% block base_content %} - {% block sections_nav %} - {% endblock %} -
    + {% block sections_nav %} + {% endblock %} + +
    {% block actions %} - + {% endblock actions %} - -
    - - {% block detail_content %} {# TODO replace fieldset for something semantically correct, but with similar visual grouping style #} -
    - {%trans 'Identificação Básica'%} - -
    - -
    -
    - -

    {{ object.sigla}}

    -
    -
    - -
    -
    - -

    {{ object.descricao}}

    -
    -
    - -
    -
    - -

    {{ object.content_type|default:""}}

    -
    -
    -
    -
    - -

    {{ object.get_participacao_social_display}}

    -
    -
    -
    -
    - {% endblock detail_content %} - +
    + + {% block detail_content %} {# TODO replace fieldset for something semantically correct, but with similar visual grouping style #} +
    + {%trans 'Identificação Básica'%} +
    +
    +
    + +

    {{ object.sigla}}

    +
    +
    + +
    +
    + +

    {{ object.descricao}}

    +
    +
    + +
    +
    + +

    {{ object.content_type|default:""}}

    +
    +
    +
    +
    + +

    {{ object.get_participacao_social_display}}

    +
    +
    +
    +
    + {% endblock detail_content %} {% endblock base_content %} diff --git a/templates/compilacao/tipotextoarticulado_list.html b/templates/compilacao/tipotextoarticulado_list.html index d8f89d7ad..189cea406 100644 --- a/templates/compilacao/tipotextoarticulado_list.html +++ b/templates/compilacao/tipotextoarticulado_list.html @@ -4,37 +4,35 @@ {% load common_tags %} {% block base_content %} + {% block actions %} + + {% endblock actions %} -
    - - {% trans 'Adicionar'%} {%model_verbose_name 'compilacao.models.TipoTextoArticulado'%} - - {% block more_buttons %} - - {% endblock more_buttons %} -
    - -{% if not object_list %} -

    {{ NO_ENTRIES_MSG }}

    -{% else %} - - - - - - - - - - {% for tipo_ta in object_list %} - - - - - - {% endfor %} - -
    {% fieldclass_verbose_name 'compilacao.models.TipoTextoArticulado' 'sigla' %}{% fieldclass_verbose_name 'compilacao.models.TipoTextoArticulado' 'descricao' %}{% fieldclass_verbose_name 'compilacao.models.TipoTextoArticulado' 'content_type' %}
    {{ tipo_ta.sigla }}{{ tipo_ta.descricao }}{{ tipo_ta.content_type }}
    - {%endif%} -{% include 'paginacao.html'%} + {% if not object_list %} +

    {{ NO_ENTRIES_MSG }}

    + {% else %} + + + + + + + + + + {% for tipo_ta in object_list %} + + + + + + {% endfor %} + +
    {% fieldclass_verbose_name 'compilacao.models.TipoTextoArticulado' 'sigla' %}{% fieldclass_verbose_name 'compilacao.models.TipoTextoArticulado' 'descricao' %}{% fieldclass_verbose_name 'compilacao.models.TipoTextoArticulado' 'content_type' %}
    {{ tipo_ta.sigla }}{{ tipo_ta.descricao }}{{ tipo_ta.content_type }}
    + {%endif%} + {% include 'paginacao.html'%} {% endblock %} diff --git a/templates/crud/confirm_delete.html b/templates/crud/confirm_delete.html index c42f8536f..703afe2a2 100644 --- a/templates/crud/confirm_delete.html +++ b/templates/crud/confirm_delete.html @@ -1,21 +1,24 @@ {% extends "base.html" %} {% load i18n %} -{% block base_content %} -
    {% csrf_token %} -
    - -

    - {% blocktrans %} - Tem certeza que deseja apagar
    "{{ object }}"? - {% endblocktrans %} -

    - - +{% block title %} + {% with object as title %} + {{ block.super }} + {% endwith %} +{% endblock %} -
    -
    +{% block base_content %} +
    {% csrf_token %} +
    +
    + {% blocktrans %} + Confirma exclusão de "{{ object }}"? + {% endblocktrans %} +
    + +
    +
    {% endblock %} diff --git a/templates/norma/normajuridica_detail.html b/templates/norma/normajuridica_detail.html index 70e5131c1..1b0b041b8 100644 --- a/templates/norma/normajuridica_detail.html +++ b/templates/norma/normajuridica_detail.html @@ -1,8 +1,11 @@ {% extends "crud/detail.html" %} {% load i18n %} {% block sections_nav %} -
    - {% trans 'Início' %} + +
    +
  • {% trans 'Texto da Norma' %}
  • + {% endblock sections_nav %}