Browse Source

Setar dispositivo de vigência

pull/299/head
LeandroRoberto 9 years ago
parent
commit
621ad13f73
  1. 26
      compilacao/forms.py
  2. 2
      compilacao/templatetags/compilacao_filters.py
  3. 3
      compilacao/urls.py
  4. 28
      compilacao/views.py
  5. 7
      static/js/compilacao_edit.js
  6. 3
      templates/compilacao/publicacao_list.html
  7. 11
      templates/compilacao/text_edit_bloco.html
  8. 2
      templates/compilacao/textoarticulado_detail.html

26
compilacao/forms.py

@ -136,6 +136,17 @@ class TaForm(ModelForm):
)
super(TaForm, self).__init__(*args, **kwargs)
instance = getattr(self, 'instance', None)
if instance and instance.pk:
self.fields['tipo_ta'].widget.attrs['disabled'] = True
self.fields['tipo_ta'].required = False
def clean_tipo_ta(self):
instance = getattr(self, 'instance', None)
if instance and instance.pk:
return instance.tipo_ta
else:
return self.cleaned_data['tipo_ta']
class NotaForm(ModelForm):
@ -451,3 +462,18 @@ class PublicacaoForm(ModelForm):
super(PublicacaoForm, self).__init__(*args, **kwargs)
pass
class DispositivoForm(ModelForm):
class Meta:
model = Dispositivo
fields = []
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
"""self.helper.layout = SaplFormLayout(
Fieldset(Publicacao._meta.verbose_name,
row1, row2, row3, css_class="col-md-12"))"""
super(PublicacaoForm, self).__init__(*args, **kwargs)

2
compilacao/templatetags/compilacao_filters.py

@ -93,7 +93,7 @@ def isinst(value, class_str):
@register.filter
def render_actions_head(view, d_atual):
if view.__class__.__name__ != 'DispositivoEditView':
if view.__class__.__name__ != 'DispositivoSimpleEditView':
return False
# Menu

3
compilacao/urls.py

@ -31,6 +31,9 @@ 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'),
url(r'^(?P<ta_id>[0-9]+)/text/(?P<dispositivo_id>[0-9]+)/edit',
views.DispositivoEditView.as_view(), name='dispositivo_edit'),
url(r'^(?P<ta_id>[0-9]+)/text/(?P<dispositivo_id>[0-9]+)/actions',

28
compilacao/views.py

@ -1,6 +1,6 @@
import sys
from collections import OrderedDict
from datetime import datetime, timedelta
import sys
from braces.views import FormMessagesMixin
from django import forms
@ -21,7 +21,7 @@ from django.views.generic.edit import CreateView, DeleteView, UpdateView
from django.views.generic.list import ListView
from compilacao.forms import (NotaForm, PublicacaoForm, TaForm, TipoTaForm,
VideForm)
VideForm, DispositivoForm)
from compilacao.models import (Dispositivo, Nota,
PerfilEstruturalTextoArticulado, Publicacao,
TextoArticulado, TipoDispositivo, TipoNota,
@ -29,6 +29,7 @@ from compilacao.models import (Dispositivo, Nota,
VeiculoPublicacao, Vide)
from crud.base import Crud, CrudListView, make_pagination
DISPOSITIVO_SELECT_RELATED = (
'tipo_dispositivo',
'ta_publicado',
@ -162,7 +163,7 @@ class TipoTaListView(ListView):
class TipoTaCreateView(FormMessagesMixin, CreateView):
model = TipoTextoArticulado
form_class = TipoTaForm
template_name = "compilacao/form.html"
template_name = "crud/form.html"
form_valid_message = _('Registro criado com sucesso!')
form_invalid_message = _('O registro não foi criado.')
@ -191,7 +192,7 @@ class TipoTaDetailView(CompMixin, DetailView):
class TipoTaUpdateView(CompMixin, UpdateView):
model = TipoTextoArticulado
form_class = TipoTaForm
template_name = "compilacao/form.html"
template_name = "crud/form.html"
def get(self, request, *args, **kwargs):
self.object = self.get_object()
@ -264,7 +265,7 @@ class TaDetailView(DetailView):
class TaCreateView(FormMessagesMixin, CreateView):
model = TextoArticulado
form_class = TaForm
template_name = "compilacao/form.html"
template_name = "crud/form.html"
form_valid_message = _('Registro criado com sucesso!')
form_invalid_message = _('O registro não foi criado.')
@ -280,7 +281,7 @@ class TaCreateView(FormMessagesMixin, CreateView):
class TaUpdateView(CompMixin, UpdateView):
model = TextoArticulado
form_class = TaForm
template_name = "compilacao/form.html"
template_name = "crud/form.html"
def get(self, request, *args, **kwargs):
self.object = self.get_object()
@ -662,7 +663,7 @@ class TextEditView(ListView, CompMixin):
request.session['perfil_estrutural'] = perfis[0].pk
class DispositivoEditView(TextEditView):
class DispositivoSimpleEditView(TextEditView):
template_name = 'compilacao/text_edit_bloco.html'
def post(self, request, *args, **kwargs):
@ -1012,6 +1013,9 @@ class ActionsEditMixin:
action = getattr(self, context['action'])
return JsonResponse(action(context), safe=False)
def set_dvt(self, context):
return {}
def delete_item_dispositivo(self, context):
return self.delete_bloco_dispositivo(context, bloco=False)
@ -1911,7 +1915,7 @@ class PublicacaoListView(ListView):
class PublicacaoCreateView(FormMessagesMixin, CreateView):
model = Publicacao
form_class = PublicacaoForm
template_name = "compilacao/form.html"
template_name = "crud/form.html"
form_valid_message = _('Registro criado com sucesso!')
form_invalid_message = _('O registro não foi criado.')
@ -1939,7 +1943,7 @@ class PublicacaoDetailView(CompMixin, DetailView):
class PublicacaoUpdateView(CompMixin, UpdateView):
model = Publicacao
form_class = PublicacaoForm
template_name = "compilacao/form.html"
template_name = "crud/form.html"
def get(self, request, *args, **kwargs):
self.object = self.get_object()
@ -1974,3 +1978,9 @@ class PublicacaoDeleteView(CompMixin, DeleteView):
def get_success_url(self):
return reverse_lazy('compilacao:ta_pub_list',
kwargs={'ta_id': self.kwargs['ta_id']})
class DispositivoEditView(CompMixin, UpdateView):
model = Dispositivo
form_class = DispositivoForm
template_name = "crud/form.html"

7
static/js/compilacao_edit.js

@ -105,6 +105,13 @@ var clickUpdateDispositivo = function(event, __pk_refresh, __pk_edit, __action,
$("#message_block").css("display", "block");
}
else if (_action.startsWith('set_')) {
url = pk_refresh+'/actions?action='+_action;
$("#message_block").css("display", "block");
}
else if (_action.startsWith('delete_')) {
var r = confirm("Confirma Exclusão deste dispositivo?");

3
templates/compilacao/publicacao_list.html

@ -9,9 +9,6 @@
<a href="{{ view.create_url }}" class="btn btn-default">
{% trans 'Adicionar'%} {%model_verbose_name 'compilacao.models.Publicacao'%}
</a>
<a href="{% url 'compilacao:ta_text' view.kwargs.ta_id %}" class="btn btn-default">
{% trans 'Voltar' %}
</a>
</div>
{% if not object_list %}

11
templates/compilacao/text_edit_bloco.html

@ -9,7 +9,7 @@
{% close_div view.flag_nivel_old dpt.nivel 0 %}
{% endif%}
{% if forloop.first and view|isinst:'DispositivoEditView' %}
{% if forloop.first and view|isinst:'DispositivoSimpleEditView' %}
{% else %}
<div class="dpt" id="dpt{{dpt.pk}}" pk="{{dpt.pk}}">
{% endif%}
@ -25,13 +25,18 @@
<li class="edt-detail"><a class="btn-top btn-action" pk="{{dpt.pk}}" action="refresh:detail" title="{% trans 'TODO: Edição detalhada'%}">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 deste 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">
@ -50,7 +55,7 @@
<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|lookup:'action'}}" pk="{{item.dispositivo_base}}" variacao="{{item.variacao}}" tipo_pk="{{item.tipo_pk}}">{{item.provavel}}</a></li>
<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>
@ -126,7 +131,7 @@
{% endfor %}
{% if view|isinst:'DispositivoEditView' %}
{% 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 %}

2
templates/compilacao/textoarticulado_detail.html

@ -14,7 +14,7 @@
{%endif%}
</li>
<li><a href="{% url 'compilacao:ta_pub_list' object.pk %}">{% model_verbose_name_plural 'compilacao.models.Publicacao' %}</a></li>
<li><a href="{% url 'compilacao:ta_text' object.pk %}">{% trans 'Texto da Norma' %}</a></li>
<li><a href="{% url 'compilacao:ta_text' object.pk %}">{% trans 'Texto' %}</a></li>
{%endif %}
</ul>
{% endblock %}

Loading…
Cancel
Save