Browse Source

Restrutura branch com mudanças de arq no master

pull/590/head
LeandroRoberto 9 years ago
parent
commit
25610bd225
  1. 105
      sapl/compilacao/forms.py
  2. 6
      sapl/compilacao/models.py
  3. 48
      sapl/compilacao/templatetags/compilacao_filters.py
  4. 8
      sapl/compilacao/urls.py
  5. 12
      sapl/compilacao/utils.py
  6. 1386
      sapl/compilacao/views.py
  7. 23
      sapl/templates/compilacao/dispositivo_form.html
  8. 17
      sapl/templates/compilacao/dispositivo_form_parents.html
  9. 4
      sapl/templates/compilacao/dispositivo_form_search.html
  10. 14
      sapl/templates/compilacao/layout/dispositivo_radio.html
  11. 15
      sapl/templates/compilacao/text_edit.html
  12. 215
      sapl/templates/compilacao/text_edit_bloco.html
  13. 6
      sapl/templates/compilacao/text_edit_blocoalteracao.html
  14. 4
      sapl/templates/compilacao/text_list_bloco.html
  15. 13
      sapl/templates/compilacao/text_notificacoes.html
  16. 1
      sapl/templates/compilacao/textoarticulado_detail.html
  17. 2
      sapl/templates/compilacao/textoarticulado_menu_config.html

105
sapl/compilacao/forms.py

@ -484,6 +484,9 @@ class DispositivoEdicaoBasicaForm(ModelForm):
inst = kwargs['instance'] if 'instance' in kwargs else None
editor_type = kwargs['initial']['editor_type']\
if'editor_type' in kwargs['initial'] else ''
if inst and inst.tipo_dispositivo.formato_variacao0 in [
TipoDispositivo.FNC8, TipoDispositivo.FNCN]:
if 'rotulo' in DispositivoEdicaoBasicaForm.Meta.fields:
@ -491,6 +494,12 @@ class DispositivoEdicaoBasicaForm(ModelForm):
for i in range(6):
DispositivoEdicaoBasicaForm.Meta.fields.remove(
'dispositivo%s' % i)
elif editor_type == 'get_form_base':
if 'rotulo' in DispositivoEdicaoBasicaForm.Meta.fields:
DispositivoEdicaoBasicaForm.Meta.fields.remove('rotulo')
for i in range(6):
DispositivoEdicaoBasicaForm.Meta.fields.remove(
'dispositivo%s' % i)
else:
if 'rotulo' not in DispositivoEdicaoBasicaForm.Meta.fields:
DispositivoEdicaoBasicaForm.Meta.fields.append('rotulo')
@ -552,6 +561,46 @@ class DispositivoEdicaoBasicaForm(ModelForm):
row_texto,
css_class="col-md-12"))
if editor_type == 'get_form_base' and inst.dispositivo_atualizador_id:
if inst and inst.tipo_dispositivo.dispositivo_de_articulacao:
if 'texto_atualizador' in\
DispositivoEdicaoBasicaForm.Meta.fields:
DispositivoEdicaoBasicaForm.Meta.fields.remove(
'texto_atualizador')
DispositivoEdicaoBasicaForm.Meta.fields.remove(
'visibilidade')
else:
if 'texto_atualizador' not in\
DispositivoEdicaoBasicaForm.Meta.fields:
DispositivoEdicaoBasicaForm.Meta.fields.append(
'texto_atualizador')
DispositivoEdicaoBasicaForm.Meta.fields.append(
'visibilidade')
self.texto_atualizador = forms.CharField(
required=False,
label='',
widget=forms.Textarea())
self.visibilidade = forms.ChoiceField(
label=Dispositivo._meta.get_field(
'visibilidade').verbose_name,
choices=utils.YES_NO_CHOICES,
widget=forms.RadioSelect())
layout.append(
Fieldset(Dispositivo._meta.get_field(
'texto_atualizador').verbose_name,
to_row([(InlineRadios('visibilidade'), 12)]),
to_row([('texto_atualizador', 12)]),
css_class="col-md-12"))
else:
if 'texto_atualizador' in\
DispositivoEdicaoBasicaForm.Meta.fields:
DispositivoEdicaoBasicaForm.Meta.fields.remove(
'texto_atualizador')
DispositivoEdicaoBasicaForm.Meta.fields.remove(
'visibilidade')
fields = DispositivoEdicaoBasicaForm.Meta.fields
if fields:
self.base_fields.clear()
@ -559,12 +608,58 @@ class DispositivoEdicaoBasicaForm(ModelForm):
self.base_fields.update({f: getattr(self, f)})
self.helper = FormHelper()
self.helper.layout = SaplFormLayout(
*layout,
label_cancel=_('Ir para o Editor Sequencial'))
if not editor_type:
label_cancel = _('Ir para o Editor Sequencial')
self.helper.layout = SaplFormLayout(
*layout, label_cancel=label_cancel)
elif editor_type == "get_form_base":
getattr(self, "actions_" + editor_type)(layout, inst)
super(DispositivoEdicaoBasicaForm, self).__init__(*args, **kwargs)
def actions_get_form_base(self, layout, inst):
label_cancel = _('Fechar')
more = [
HTML('<a class="btn btn-inverse btn-fechar">%s</a>' %
label_cancel),
]
btns_excluir = []
if not inst.is_relative_auto_insert():
btns_excluir = [
HTML('<a class="btn btn-danger btn-action btn-excluir" '
'action="json_delete_item_dispositivo" '
'title="%s"'
'>%s</a>' % (_('Excluir apenas este dispositivo.'),
_('Excluir Dispositivo')))]
if inst.dispositivos_filhos_set.exists():
btns_excluir.append(
HTML(
'<a class="btn btn-danger btn-action btn-excluir" '
'action="json_delete_bloco_dispositivo" '
'title="%s"'
'>%s</a>' % (_('Excluir este dispositivo '
'e toda sua estrutura.'),
_('Excluir Bloco de Dispositivo.'))))
if btns_excluir:
css_class = 'btn-group pull-right btns-excluir'
more.append(Div(*btns_excluir, css_class=css_class))
if not inst.tipo_dispositivo.dispositivo_de_articulacao:
more.append(Submit('salvar', _('Salvar'), css_class='pull-right'))
buttons = FormActions(*more, css_class='form-group')
_fields = [to_row([(buttons, 12)])] + \
[Div(*layout, css_class="row-fluid")]
self.helper.layout = Layout(*_fields)
class DispositivoSearchModalForm(Form):
@ -624,7 +719,7 @@ class DispositivoSearchModalForm(Form):
placeholder=_('Digite palavras, letras, '
'números ou algo'
' que estejam no texto.')),
StrictButton(_('Buscar'), css_class='btn-busca')), 7))
StrictButton(_('Buscar'), css_class='btn-busca btn-primary')), 7))
)
)
@ -1082,7 +1177,7 @@ class TextNotificacoesForm(Form):
type_notificacoes = forms.ChoiceField(
label=_('Níveis de Notificações'),
choices=[('default', _('Mostrar Dispositivos sem Notificações!')),
choices=[('default', _('Dispositivos sem Notificações!')),
('success', _('Informações!')),
('info', _('Boas Práticas!')),
('warning', _('Alertas!')),

6
sapl/compilacao/models.py

@ -1112,6 +1112,12 @@ class Dispositivo(BaseModel, TimestampedMixin):
ta_id=self.ta_id).last()
return anterior_articulacao
def get_niveis_zero(self):
niveis_zero = Dispositivo.objects.order_by('ordem').filter(
nivel=0,
ta_id=self.ta_id)
return niveis_zero
def is_relative_auto_insert(self, perfil_pk=None):
if self.dispositivo_pai is not None:
# pp possiveis_pais

48
sapl/compilacao/templatetags/compilacao_filters.py

@ -10,6 +10,52 @@ from sapl.compilacao.models import Dispositivo
register = template.Library()
class DispositivoTreeNode(template.Node):
def __init__(self, template_nodes, dispositivo_list_var):
self.template_nodes = template_nodes
self.dispositivo_list_var = dispositivo_list_var
def _render_node(self, context, node):
bits_alts = []
bits_filhos = []
context.push()
for child in node['alts']:
bits_alts.append(self._render_node(context, child))
for child in node['filhos']:
bits_filhos.append(self._render_node(context, child))
context['node'] = node
context['alts'] = mark_safe(''.join(bits_alts))
context['filhos'] = mark_safe(''.join(bits_filhos))
rendered = self.template_nodes.render(context)
context.pop()
return rendered
def render(self, context):
dispositivo_list_var = self.dispositivo_list_var.resolve(context)
bits = [self._render_node(context, node)
for node in dispositivo_list_var]
return ''.join(bits)
@register.tag
def dispositivotree(parser, token):
bits = token.contents.split()
if len(bits) != 2:
raise template.TemplateSyntaxError(
_('%s tag requires a queryset') % bits[0])
dispositivo_list_var = template.Variable(bits[1])
template_nodes = parser.parse(('enddispositivotree',))
parser.delete_first_token()
return DispositivoTreeNode(template_nodes, dispositivo_list_var)
# --------------------------------------------------------------
@register.filter
def get_bloco_atualizador(pk_atualizador):
return Dispositivo.objects.order_by('ordem_bloco_atualizador').filter(
@ -34,7 +80,7 @@ def dispositivo_desativado(dispositivo, inicio_vigencia, fim_vigencia):
@register.simple_tag
def nota_automatica(dispositivo, ta_pub_list):
if dispositivo.ta_publicado is not None:
if dispositivo.ta_publicado:
d = dispositivo.dispositivo_atualizador.dispositivo_pai
ta_publicado = ta_pub_list[dispositivo.ta_publicado_id] if\

8
sapl/compilacao/urls.py

@ -34,7 +34,8 @@ urlpatterns_compilacao = [
views.DispositivoView.as_view(), name='dispositivo'),
url(r'^(?P<ta_id>[0-9]+)/text/(?P<dispositivo_id>[0-9]+)/refresh',
views.DispositivoSimpleEditView.as_view(), name='dispositivo_refresh'),
views.DispositivoDinamicEditView.as_view(),
name='dispositivo_refresh'),
url(r'^(?P<ta_id>[0-9]+)/text/(?P<pk>[0-9]+)/edit$',
views.DispositivoEdicaoBasicaView.as_view(), name='dispositivo_edit'),
@ -51,8 +52,6 @@ urlpatterns_compilacao = [
views.DispositivoDefinidorVigenciaView.as_view(),
name='dispositivo_edit_definidor_vigencia'),
url(r'^(?P<ta_id>[0-9]+)/text/(?P<dispositivo_id>[0-9]+)/actions',
views.ActionsEditView.as_view(), name='dispositivo_actions'),
url(r'^(?P<ta_id>[0-9]+)/text/'
'(?P<dispositivo_id>[0-9]+)/nota/create$',
@ -126,3 +125,6 @@ urlpatterns = [
include(VeiculoPublicacaoCrud.get_urls())),
]
"""url(r'^(?P<ta_id>[0-9]+)/text/(?P<dispositivo_id>[0-9]+)/actions',
views.ActionsEditView.as_view(), name='dispositivo_actions'),"""

12
sapl/compilacao/utils.py

@ -12,6 +12,18 @@ DISPOSITIVO_SELECT_RELATED = (
'ta_publicado',
'ta',)
DISPOSITIVO_SELECT_RELATED_EDIT = (
'ta_publicado',
'ta',
'dispositivo_atualizador',
'dispositivo_atualizador__dispositivo_pai',
'dispositivo_atualizador__dispositivo_pai__ta',
'dispositivo_atualizador__dispositivo_pai__ta__tipo_ta',
'dispositivo_pai',
'dispositivo_pai__tipo_dispositivo',
'ta_publicado',
'ta',)
def int_to_roman(int_value):
# if isinstance(int_value, type(1)):

1386
sapl/compilacao/views.py

File diff suppressed because it is too large

23
sapl/templates/compilacao/dispositivo_form.html

@ -23,16 +23,37 @@
{% endblock%}
{% block base_content %}
<div class="btn-group btn-group-sm" role="group">
<div class="cp-nav-parents btn-group btn-group-sm" role="group">
<a href="#" class="btn btn-default">
{% trans "Articulações" %}
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li>
{%for parent in object.get_niveis_zero %}
<a href="{% url view.get_url_this_view parent.ta_id parent.pk %}">
{{parent.dispositivo0}} - {{parent|nomenclatura}}
</a>
{%endfor %}
</li>
</ul>
</div>
{%for parent in object.get_parents_asc %}
{%with node=parent active=False template_name='compilacao/dispositivo_form_parents.html' %}
{%include template_name%}
{%endwith%}
{%endfor %}
{%with node=object active=True template_name='compilacao/dispositivo_form_parents.html' %}
{%include template_name%}
{%endwith%}
</div>
<br>
{%if object.ta_publicado_id %}
<a class="text-warning" href="{%url 'compilacao:ta_text' object.ta_publicado.pk %}#{{object.dispositivo_atualizador_id}}">
<small>{{ object.tipo_dispositivo.nota_automatica_prefixo_html|safe }}
{% nota_automatica object None %}
{{ object.tipo_dispositivo.nota_automatica_sufixo_html|safe }}</small></a>
{%endif%}
<br><br>
{% crispy form %}
{% endblock %}

17
sapl/templates/compilacao/dispositivo_form_parents.html

@ -4,28 +4,25 @@
<a href="{% url view.get_url_this_view node.ta_id node.pk %}" class="btn btn-default {%if active%}btn-primary{%endif%}">
{{node|nomenclatura}}
</a>
{% else %}
{% else %}
<div class="cp-nav-parents btn-group btn-group-sm" role="group">
<a href="{% url view.get_url_this_view node.ta_id node.pk %}" class="btn btn-default {%if active%}btn-primary{%endif%}">
{{node|nomenclatura}}
{% if not node.rotulo and node.nivel == 0 %}{{node.dispositivo0}} - {% endif %}{{node|nomenclatura}}
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li>
{%for parent in node.dispositivos_filhos_set.all %}
<a href="{% url view.get_url_this_view parent.ta_id parent.pk %}">
{{parent|nomenclatura}} {% if parent.dispositivo_subsequente_id %}({% trans "Alterado" %}){% endif %}
{{parent|nomenclatura}} {% if parent.ta_publicado_id %}<small class="text-warning">
{{ parent.tipo_dispositivo.nota_automatica_prefixo_html|safe }}
{% nota_automatica parent None %}
{{ parent.tipo_dispositivo.nota_automatica_sufixo_html|safe }}
</small>{% endif %}
</a>
{%endfor %}
</li>
</ul>
</div>
{% endif %}

4
sapl/templates/compilacao/dispositivo_form_search.html

@ -5,14 +5,14 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="{% trans 'Fechar' %}"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="gridSystemModalLabel">{% trans "Selecionar Dispositivo(s)" %}</h4>
<h4 class="modal-title" id="gridSystemModalLabel">{% trans "Seleção de Dispositivo(s)" %}</h4>
</div>
<div class="modal-body">
{% crispy form form.helper%}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{% trans 'Fechar' %}</button>
<button type="button" class="btn btn-primary" id="btn-modal-select">{% trans "Selecionar" %}</button>
<button type="button" class="btn btn-success" id="btn-modal-select">{% trans "Selecionar" %}</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->

14
sapl/templates/compilacao/layout/dispositivo_radio.html

@ -18,7 +18,7 @@
</div>
<div class="itemlabel dpt">
{% if dpt.nivel > 1 %}
<a class="clearfix" target="_blank" href="{% url 'sapl.compilacao:ta_text' dpt.ta.pk%}#{{dpt.pk}}" class="nomenclatura_heranca">{% trans "Herança:" %} {% heranca request dpt 1 0 %}</a>
<a class="clearfix" target="_blank" href="{% url 'sapl.compilacao:ta_text' dpt.ta.pk%}#{{dpt.pk}}" class="nomenclatura_heranca">{% trans "Herança:" %} {% heranca request dpt 0 0 %}</a>
{% endif %}
<div class="{{ dpt.tipo_dispositivo.class_css }}">
<div class="dptt {% dispositivo_desativado dpt None None %}" id="dptt{{dpt.pk}}" >
@ -29,6 +29,18 @@
id="d{% if not dpt.dispositivo_subsequente_id and dpt.dispositivo_substituido_id %}a{% endif %}{{dpt.pk}}"
pks="{{dpt.dispositivo_substituido_id|default:''}}"
pk="{{dpt.pk}}">{{ dpt.tipo_dispositivo.texto_prefixo_html|safe }}{%if dpt.texto %}{{ dpt.texto|safe }}{%else%}{%if not dpt.tipo_dispositivo.dispositivo_de_articulacao %}&nbsp;{% endif %}{% endif %}</span>
{% if dpt.ta_publicado_id and not dpt.tipo_dispositivo.dispositivo_de_articulacao %}
<a class="link_alterador" href="{%url 'compilacao:ta_text' dpt.ta_publicado.pk %}#{{dpt.dispositivo_atualizador_id}}">
{{ dpt.tipo_dispositivo.nota_automatica_prefixo_html|safe }}
{% nota_automatica dpt ta_pub_list %}
{{ dpt.tipo_dispositivo.nota_automatica_sufixo_html|safe }}
</a>
{% else %}
<div class="alert alert-info" role="alert">
{% trans "Dispositivo do Texto Original." %}
</div>
{% endif %}
</div>
</div>
</div>

15
sapl/templates/compilacao/text_edit.html

@ -11,7 +11,7 @@
{% endblock %}
{% block title%}
<h1><b>Edição:</b> {{ view.title }} - <i>{% trans 'Texto Multivigente' %}</i></h1>
<h1>{{object }}. <small><i>{% trans 'Texto Multivigente em Edição' %}</i></small></h1>
{% endblock %}
{% block actions %}
@ -19,20 +19,23 @@
<div class="actions btn-toolbar pull-right" role="toolbar">
<div class="actions btn-group" role="group">
<a href="{% url 'sapl.compilacao:ta_edit' object.pk %}" class="btn btn-default">{% trans 'Editar Metadados do Texto Articulado' %}</a>
{% include 'compilacao/textoarticulado_menu_config.html' %}
</div>
{% include 'compilacao/textoarticulado_menu_config.html' %}
</div>
</div>
{% endblock actions %}
{% block base_content %}{{block.super}}
<div id="message_block"><div id="msg">{% trans 'Aguarde... Atualizando informações!!!'%}</div></div>
<div id="wait_message"><div id="msg">{% trans 'Aguarde... Atualizando informações!!!'%}</div></div>
<div class="cp-notify hide">
<div class="message"></div>
</div>
<div id="modal-message" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="alert" role="alert">
<button type="button" class="close fa-times fa" aria-label="Close"></button>
<div id="message"></div>
@ -42,7 +45,9 @@
</div>
<div class="cp cpe">
{% include 'compilacao/text_edit_bloco.html'%}
{%include 'compilacao/text_edit_bloco.html'%}
</div>
<div class="modal fade" id="modal-help" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">

215
sapl/templates/compilacao/text_edit_bloco.html

@ -2,134 +2,106 @@
{% load compilacao_filters %}
{% load common_tags %}
{% for dpt in object_list %}
{% if dpt.tipo_dispositivo.dispositivo_de_alteracao and not dpt.tipo_dispositivo.dispositivo_de_articulacao%}
{% else %}
{% if dpt.nivel == view.flag_nivel_old %}
{% dispositivotree dispositivos_list %}
<div class="dpt" id="id{{node.dpt.id}}" pk="{{node.dpt.pk}}" ordem="{{node.dpt.ordem}}" name="{{node.dpt.pk}}" title="{{node.dpt.pk}} - {{node.dpt.ordem}}">
<div class="dpt-actions-fixed btn-group">
{% if not node.dpt.rotulo and not node.dpt.texto and node.td.dispositivo_de_articulacao%}
<a class="btn-action btn-dpt-edit btn btn-primary btn-sm" pk="{{node.dpt.pk}}">{% trans 'Editar'%} {{ node.td.nome }} {{ node.dpt.rotulo }}</a>
{% endif %}
</div>
<div class="dpt-actions btn-group"></div>
<div class="dpt-text {{node.td.class_css}} {%if node.dpt.fim_vigencia %}desativado{%endif%} {%if node.dpt.rotulo or node.dpt.texto or not node.td.dispositivo_de_articulacao %}btn-dpt-edit{%endif%}" title="{% trans 'Editar' %} {{node.td.nome}}">
{{ node.td.rotulo_prefixo_html|safe }}
{% if node.da and node in node.da.alts %}
<a class="dpt-link link-rotulo" name="{{node.dpt.pk}}" href="{% url 'compilacao:ta_text_edit' node.dpt.ta_id %}#{{node.dpt.pk}}" title="{% trans 'Abrir editor deste dispositivo em seu Texto Articulado Original'%}">{{ node.dpt.rotulo }}</a>
{% else %}
<a class="dpt-link link-rotulo" name="{{node.dpt.pk}}">{{ node.dpt.rotulo }}</a>
{% endif %}
{{ node.td.rotulo_sufixo_html|safe }}
{{ node.td.texto_prefixo_html|safe }}
{% if node.da and node in node.da.alts and not node.dpt.visibilidade %}<small>({% trans 'Dispositivo visível apenas no Texto Articulado Original'%})</small>{% endif %}
{% if not node.dpt.texto and not node.td.dispositivo_de_articulacao %}
<span class="semtexto">({{node.td}} sem texto)</span>
{%else%}
{% if node.da and node.dpt.texto_atualizador and node in node.da.alts%}{{ node.dpt.texto_atualizador|safe }}{% else %}{{ node.dpt.texto|safe }}{% endif %}
{%endif%}
{% if node.na %}
<a class="dpt-link nota-alteracao" href="{% url 'compilacao:ta_text_edit' node.da.dpt.ta_id %}#{{node.da.dpt.pk}}" title="{% trans 'Abrir Edição do Dispositivo Alterador'%}">
<small>
{{ node.td.nota_automatica_prefixo_html|safe }}
{{ node.na }}
{{ node.td.nota_automatica_sufixo_html|safe }}
</small>
</a>
{% endif %}
</div>
<div class="dpt-form clearfix"></div>
{% if node.alts or node.td.dispositivo_de_alteracao and node.td.dispositivo_de_articulacao %}
<div class="dpt-alts">{{ alts }}</div>
{% endif %}
{% if node.filhos %}
<div class="dpt-block">
{{ filhos }}
</div>
{% elif dpt.nivel < view.flag_nivel_old %}
{% close_div view.flag_nivel_old dpt.nivel 0 %}
{% endif%}
{% if forloop.first and view|isinst:'DispositivoSimpleEditView' %}
{% else %}
<div class="dpt" id="dpt{{dpt.pk}}" pk="{{dpt.pk}}">
{% endif%}
{% if view|render_actions_head:dpt %}
<div class="csform">
<form method="post" action="" action_ajax="{{dpt.pk}}/refresh">
<ul class="btns-action actions_top">
{% if not dpt.tipo_dispositivo.dispositivo_de_articulacao %}
<li class="edt-textarea"><a class="btn-top btn-action" pk="{{dpt.pk}}" action="refresh:textarea" title="{% trans 'Edição simples apenas do texto'%}">E</a></li>
<li class="edt-tinymce"><a class="btn-top btn-action" pk="{{dpt.pk}}" action="refresh:tinymce" title="{% trans 'Editar o texto com TinyMCE'%}">E+</a></li>
{%endif%}
<li class="edt-detail"><a class="btn-top" href="{% url 'sapl.compilacao:dispositivo_edit' dpt.ta_id dpt.pk %}" title="{% trans 'Edição Avançada'%}">E*</a></li>
<li class="edt-construct"><a class="btn-top btn-action" pk="{{dpt.pk}}" action="refresh:construct" title="{% trans 'Construçao da estrutura do Texto Articulado'%}">C</a></li>
</ul>
<ul class="btns-action actions_right">
<li><a class="btn-right btn-action" pk="{{dpt.pk}}" action="set_dvt" title="{% trans 'Definir como Dispositivo de Vigência para todos os Dispositivos Originais deste Texto, bem como, dos Textos Anteriores alterados por este Texto!'%}">DVt</a></li>
{% comment %}
<li><a class="btn-right btn-action" pk="{{dpt.pk}}" action="refresh" title="{% trans 'TODO: Reduzir nível do Dispositivo'%}">&#10092;</a></li>
<li><a class="btn-right btn-action" pk="{{dpt.pk}}" action="refresh" title="{% trans 'TODO: Aumentar nível do Dispositivo'%}">&#10093;</a></li>
<li><a class="btn-right btn-action" pk="{{dpt.pk}}" action="refresh" title="{% trans 'TODO: Subir uma posição'%}">&#8593;</a></li>
<li><a class="btn-right btn-action" pk="{{dpt.pk}}" action="refresh" title="{% trans 'TODO: Descer uma posição'%}">&#8595;</a></li>
<li><a class="btn-right btn-action" pk="{{dpt.pk}}" action="refresh" title="{% trans 'TODO: Subir uma posição com todos os subniveis'%}">&#8648;</a></li>
<li><a class="btn-right btn-action" pk="{{dpt.pk}}" action="refresh" title="{% trans 'TODO: Descer uma posição com todos os subniveis'%}">&#8650;</a></li>
{% endcomment %}
</ul>
<ul class="btns-action actions_left">
<li><a href ="{% url 'sapl.compilacao:ta_text' dpt.ta.pk%}#{{dpt.pk}}" class="btn-left btn-action" pk="{{dpt.pk}}" title="{% trans 'Ir para Texto'%}">T</a></li>
</ul>
<ul class="btns-action actions_bottom">
{% for perfil in perfil_estrutural_list%}
<li class="{%if request.session.perfil_estrutural == perfil.pk%}selected{%endif%}"><a class="btn-bottom btn-action" pk="{{dpt.pk}}" perfil_pk="{{perfil.pk}}" action="refresh:perfil" title="{{perfil.nome}}">{{perfil.sigla}}</a></li>
{% endfor %}
</ul>
<ul class="actions_inserts {% if not dpt.tipo_dispositivo.dispositivo_de_articulacao and not dpt.tipo_dispositivo.dispositivo_de_alteracao%}menu_flutuante{% elif dpt.tipo_dispositivo.dispositivo_de_alteracao and dpt.tipo_dispositivo.dispositivo_de_articulacao%}menu_flutuante_fixo{%endif%}">
{% if dpt.dispositivo_subsequente == None %}
{% for inserts in view|select_provaveis_inserts:request %}
{% if inserts.itens %}
<li class="{{inserts.action}}"><a class="btn-inserts" action="" pk="{{dpt.pk}}">{{inserts.icone|safe}}<span>{{inserts.tipo_insert}}</span></a>
<ul id="afe{{dpt.id}}" >
{% for item in inserts.itens %}
<li><a class="btn-inserts btn-action" action="{{inserts.action}}" pk="{{item.dispositivo_base}}" variacao="{{item.variacao}}" tipo_pk="{{item.tipo_pk}}">{{item.provavel}}</a></li>
{% endfor %}
</ul>
</li>
{% endif %}
{% endfor %}
{%endif%}
{% if not dpt|is_relative_auto_insert:request %}
<li class="menu_excluir"><a {% if not dpt.dispositivos_filhos_set.exists %}class="btn-excluir btn-action" action="delete_item_dispositivo" pk={{dpt.pk}}{%else%}class="btn-excluir"{%endif%}>&nbsp;<span>Excluir</span></a>
{% if dpt.dispositivos_filhos_set.exists %}
<ul>
<li><a href="#" class="btn-excluir btn-action" action="delete_item_dispositivo" pk={{dpt.pk}}>{% trans 'Excluir apenas este dispositivo'%}</a></li>
<li><a href="#" class="btn-excluir btn-action" action="delete_bloco_dispositivo" pk={{dpt.pk}}>{% trans 'Excluir este dispositivo e toda sua estrutura'%}</a></li>
</ul>
{% endif %}
</li>
{% endif %}
<li><a onclick="onSubmitEditForm()" class="btn-salvar">&nbsp<span>Salvar</span></a></li>
</ul>
{% endif %}
<div class="dpt-actions-bottom btn-group"></div>
</div>
{% enddispositivotree %}
{% comment %}
<div class="fields">
{% csrf_token %}
{% for item in dispositivos_list %}
{% if not dpt.tipo_dispositivo.dispositivo_de_articulacao %}
<textarea id="editdi_texto" placeholder="{% trans "Insirir o texto do dispositivo aqui... Use, nos menus das bordas de edição, 'E+' ou 'E*' para outras opções de editores."%}" name="texto" rows="7">{{ dpt.texto|safe }}</textarea>
{%endif%}
</div>
<ul class="label_status" >
<li>p: {{dpt.dispositivo_substituido_id|default:''}}</li>
<li>&#8226;</li>
<li>n: {{dpt.dispositivo_subsequente_id|default:''}}</li>
<li>&#8226;</li>
<li>Ordem: {{dpt.ordem}}</li>
<li>&#8226;</li>
<li>Nivel: {{dpt.nivel}}</li>
<li>&#8226;</li>
<li>Número: {{dpt.get_numero_completo}}</li>
<div class="dpt-alts">
{% if item.alts %}
{%with dispositivos_list=item.alts %}
{%include 'compilacao/text_edit_bloco.html'%}
{%endwith%}
{% endif %}
</div>
<<<<<<< d5a8cdb5d563a8353942e0dc3c3b2484bd636ea6:templates/compilacao/text_edit_bloco.html
=======
{% if dpt.dispositivo_vigencia %}
<li>&#8226;</li>
<li>{% field_verbose_name dpt 'dispositivo_vigencia'%}: <a href="{% url 'sapl.compilacao:ta_text_edit' dpt.dispositivo_vigencia.ta_id %}#{{ dpt.dispositivo_vigencia_id }}" action="refresh" pk="{{dpt.dispositivo_vigencia.pk}}" title="{% field_verbose_name dpt 'dispositivo_vigencia'%} {% trans 'em' %}:&#013;{{dpt.dispositivo_vigencia.ta}}">{{dpt.dispositivo_vigencia|nomenclatura}}</a> </li>
{% endif %}
>>>>>>> Fix #497 Encaps apps secundárias dentro app sapl:sapl/templates/compilacao/text_edit_bloco.html
<li>&#8226;</li>
<li><a type="button" data-toggle="modal" data-target="#modal-help">
?
</a>
</li>
</ul>
</div>
<ul class="btns-action actions_parents">
<div>Em Edição:</div>
{%for parent in dpt.get_parents_asc %}
<li><a action="refresh" pk="{{parent.pk}}" ordem="{{parent.ordem}}" name="{{parent.pk}}" title="{{parent.texto|short_string:50}}" class="btn-parents btn-action">{{parent|nomenclatura}}</a></li>
{%endfor %}
<li class="selected"><a action="refresh" pk="{{dpt.pk}}" ordem="{{dpt.ordem}}" name="{{dpt.pk}}" title="{{dpt.texto|short_string:50}}" class="btn-parents btn-action">{{dpt|nomenclatura}}</a></li>
</ul>
</form>
</div>
{% 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 and dpt.tipo_dispositivo.dispositivo_de_articulacao%}
<div class="btns-action actions_right">
<a class="btn-edit" pk="{{dpt.pk}}">{% trans 'Editar'%} {{ dpt.tipo_dispositivo.nome }} {{ dpt.rotulo }}</a>
{% endfor%}
{% for dpt in object_list %}
<div class="bloco {{ dpt.tipo_dispositivo.class_css }}">
{% spaceless %}
{% if not dpt.tipo_dispositivo.dispositivo_de_alteracao %}
<div class="de" id="id{{dpt.id}}" pk="{{dpt.pk}}" ordem="{{dpt.ordem}}" name="{{dpt.pk}}" title="{{dpt.pk}} - {{dpt.ordem}}">
{{ 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 %}
<span class="semtexto">({{dpt.tipo_dispositivo}} sem texto)</span>
{%else%}
{{ dpt.texto|safe }}
{%endif%}
</div>
{% endif %}
<<<<<<< d5a8cdb5d563a8353942e0dc3c3b2484bd636ea6:templates/compilacao/text_edit_bloco.html
{% if dpt.ta_publicado_id != None and not dpt.tipo_dispositivo.dispositivo_de_articulacao %}
<a class="link_alterador" href="{% url 'compilacao:ta_text_edit' dpt.ta_publicado.pk %}#{{dpt.dispositivo_atualizador_id}}">
{{ dpt.tipo_dispositivo.nota_automatica_prefixo_html|safe }}
{% nota_automatica dpt ta_pub_list %}
{{ dpt.tipo_dispositivo.nota_automatica_sufixo_html|safe }}
</a>
{% endif %}
{% endspaceless %}
=======
<div class="bloco {% dispositivo_desativado dpt view.inicio_vigencia view.fim_vigencia %} {{ dpt.tipo_dispositivo.class_css }}">
{% spaceless %}
{% if not dpt.tipo_dispositivo.dispositivo_de_alteracao %}
@ -150,13 +122,14 @@
{% endif%}
</div>
{% endif%}
>>>>>>> Fix #497 Encaps apps secundárias dentro app sapl:sapl/templates/compilacao/text_edit_bloco.html
{% set_nivel_old view dpt.nivel %}
{% endif%}
{% endfor %}
{% if dpt.tipo_dispositivo.dispositivo_de_alteracao %}
{%with node=dpt template_name='compilacao/text_edit_blocoalteracao.html' %}
{%include template_name%}
{%endwith%}
{% endif%}
{% if view|isinst:'DispositivoSimpleEditView' %}
{% close_div view.flag_nivel_old view.flag_nivel_ini -1 %}
{% else %}
{% close_div view.flag_nivel_old view.flag_nivel_ini 0 %}
{% endif%}
</div>
{% endfor %}
{% endcomment %}

6
sapl/templates/compilacao/text_edit_blocoalteracao.html

@ -2,9 +2,11 @@
{% load common_tags %}
{% for ch in dpt.pk|get_bloco_atualizador %}
{% spaceless %}
<div class="dpt" id="d{{ch.id}}" pk="{{ch.id}}" >
<div class="dpt" id="dpt{{ch.id}}" pk="{{ch.id}}" >
<div class="{{ ch.tipo_dispositivo.class_css }}" id="id{{ch.id}}" nivel="{{ch.nivel}}" style="margin: 0px;">
{{ ch.tipo_dispositivo.rotulo_prefixo_html|safe }}<a name="{{ch.pk}}" href="{% url 'sapl.compilacao:ta_text_edit' ch.ta.pk %}#{{ch.pk}}">{{ ch.rotulo }}</a>{{ ch.tipo_dispositivo.rotulo_sufixo_html|safe }}{{ ch.tipo_dispositivo.texto_prefixo_html|safe }}{{ ch.texto|safe }}
<div class="de-compilacao" id="id{{ch.id}}" pk="{{ch.pk}}" ordem="{{ch.ordem}}" name="{{ch.pk}}" title="{{ch.pk}} - {{ch.ordem}}">
{{ ch.tipo_dispositivo.rotulo_prefixo_html|safe }}<a name="{{ch.pk}}" href="{% url 'sapl.compilacao:ta_text_edit' ch.ta.pk %}#{{ch.pk}}">{{ ch.rotulo }}</a>{{ ch.tipo_dispositivo.rotulo_sufixo_html|safe }}{{ ch.tipo_dispositivo.texto_prefixo_html|safe }}{{ ch.texto|safe }}
</div>
</div>
</div>
{% endspaceless %}

4
sapl/templates/compilacao/text_list_bloco.html

@ -20,11 +20,11 @@
<div class="{{ dpt.tipo_dispositivo.class_css }}">
<div class="dptt {% dispositivo_desativado dpt view.inicio_vigencia view.fim_vigencia %}" id="dptt{{dpt.pk}}" >
{{ dpt.tipo_dispositivo.rotulo_prefixo_html|safe }}
<a name="{{dpt.pk}}" title="{{dpt.pk}}">{{ dpt.rotulo }}</a>
<a class="dpt-link" name="{{dpt.pk}}" title="{{dpt.pk}}">{{ dpt.rotulo }}</a>
{{ dpt.tipo_dispositivo.rotulo_sufixo_html|safe }}
<span class="dtxt" id="d{% if not dpt.dispositivo_subsequente_id and dpt.dispositivo_substituido_id %}a{% endif %}{{dpt.pk}}" pks="{{dpt.dispositivo_substituido_id|default:''}}" pk="{{dpt.pk}}">{{ dpt.tipo_dispositivo.texto_prefixo_html|safe }}{%if dpt.texto %}{{ dpt.texto|safe }}{%else%}{%if not dpt.tipo_dispositivo.dispositivo_de_articulacao %}&nbsp;{% endif %}{% endif %}</span>
{% if dpt.ta_publicado_id and not dpt.tipo_dispositivo.dispositivo_de_articulacao %}
<a class="link_alterador" href="{% url 'sapl.compilacao:ta_text' dpt.ta_publicado.pk %}#{{dpt.dispositivo_atualizador_id}}">
<a class="nota-alteracao" href="{%url 'sapl.compilacao:ta_text' dpt.ta_publicado.pk %}#{{dpt.dispositivo_atualizador_id}}">
{{ dpt.tipo_dispositivo.nota_automatica_prefixo_html|safe }}
{% nota_automatica dpt ta_pub_list %}
{{ dpt.tipo_dispositivo.nota_automatica_sufixo_html|safe }}

13
sapl/templates/compilacao/text_notificacoes.html

@ -5,10 +5,10 @@
{% block head_content %}{{block.super}}
<link rel="stylesheet" href="{% sass_src 'styles/compilacao.scss' %}" type="text/css">
{% endblock %}
{% crispy form %}
<table class="table table-striped table-hover table-notificacoes">
<thead>
<tr>
@ -30,6 +30,13 @@
id="d{% if not dpt.dispositivo_subsequente_id and dpt.dispositivo_substituido_id %}a{% endif %}{{dpt.pk}}"
pks="{{dpt.dispositivo_substituido_id|default:''}}"
pk="{{dpt.pk}}">{{ dpt.tipo_dispositivo.texto_prefixo_html|safe }}{%if dpt.texto %}{{ dpt.texto|safe }}{%else%}{%if not dpt.tipo_dispositivo.dispositivo_de_articulacao %}&nbsp;{% endif %}{% endif %}</span>
{%if dpt.ta_publicado_id %}
<a class="link_alterador clearfix" href="{%url 'compilacao:ta_text' dpt.ta_publicado.pk %}#{{dpt.dispositivo_atualizador_id}}">
{{ dpt.tipo_dispositivo.nota_automatica_prefixo_html|safe }}
{% nota_automatica dpt None %}
{{ dpt.tipo_dispositivo.nota_automatica_sufixo_html|safe }}</a>
{%endif%}
</div>
</div>
</div>

1
sapl/templates/compilacao/textoarticulado_detail.html

@ -72,7 +72,6 @@
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<div id="div_id_ementa" class="holder">

2
sapl/templates/compilacao/textoarticulado_menu_config.html

@ -1,6 +1,5 @@
{% load i18n %}
{% load common_tags %}
<div class="btn-group" role="group">
<button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-cog fa-1x fa-fw"></i>
</button>
@ -13,4 +12,3 @@
<li><a href="#">TODO: Tipo de Dispositivo</a></li>
<li><a href="#">TODO: Perfil Estrutural de Textos Articulados</a></li>
</ul>
</div>

Loading…
Cancel
Save