Browse Source

Refatora Manutenção de Tipos de Textos Articulados

pull/2490/head
Leandro Roberto 6 years ago
parent
commit
9b422f14c7
  1. 16
      sapl/compilacao/urls.py
  2. 67
      sapl/compilacao/views.py
  3. 8
      sapl/templates/compilacao/layouts.yaml
  4. 73
      sapl/templates/compilacao/tipotextoarticulado_detail.html
  5. 50
      sapl/templates/compilacao/tipotextoarticulado_list.html
  6. 2
      sapl/templates/menu_tabelas_auxiliares.yaml

16
sapl/compilacao/urls.py

@ -3,7 +3,8 @@ from django.conf.urls import include, url
from sapl.compilacao import views
from sapl.compilacao.views import (TipoDispositivoCrud, TipoNotaCrud,
TipoPublicacaoCrud, TipoVideCrud,
VeiculoPublicacaoCrud)
VeiculoPublicacaoCrud,
TipoTextoArticuladoCrud)
from .apps import AppConfig
@ -113,14 +114,7 @@ urlpatterns = [
include(TipoPublicacaoCrud.get_urls())),
url(r'^sistema/ta/config/veiculo-publicacao/',
include(VeiculoPublicacaoCrud.get_urls())),
url(r'^sistema/ta/config/tipo-textoarticulado$',
views.TipoTaListView.as_view(), name='tipo_ta_list'),
url(r'^sistema/ta/config/tipo-textoarticulado/create$',
views.TipoTaCreateView.as_view(), name='tipo_ta_create'),
url(r'^sistema/ta/config/tipo-textoarticulado/(?P<pk>[0-9]+)$',
views.TipoTaDetailView.as_view(), name='tipo_ta_detail'),
url(r'^sistema/ta/config/tipo-textoarticulado/(?P<pk>[0-9]+)/edit$',
views.TipoTaUpdateView.as_view(), name='tipo_ta_edit'),
url(r'^sistema/ta/config/tipo-textoarticulado/(?P<pk>[0-9]+)/delete$',
views.TipoTaDeleteView.as_view(), name='tipo_ta_delete'),
url(r'^sistema/ta/config/tipo/',
include(TipoTextoArticuladoCrud.get_urls())),
]

67
sapl/compilacao/views.py

@ -50,7 +50,8 @@ from sapl.compilacao.models import (STATUS_TA_EDITION, STATUS_TA_PRIVATE,
from sapl.compilacao.utils import (DISPOSITIVO_SELECT_RELATED,
DISPOSITIVO_SELECT_RELATED_EDIT,
get_integrations_view_names)
from sapl.crud.base import Crud, CrudAux, CrudListView, make_pagination
from sapl.crud.base import RP_DETAIL, RP_LIST, Crud, CrudAux, CrudListView,\
make_pagination
from sapl.settings import BASE_DIR
@ -431,28 +432,12 @@ class CompMixin(PermissionRequiredMixin):
return rr
class TipoTaListView(CompMixin, ListView):
class TipoTextoArticuladoCrud(CrudAux):
model = TipoTextoArticulado
paginate_by = 10
verbose_name = model._meta.verbose_name
permission_required = 'compilacao.list_tipotextoarticulado'
@property
def title(self):
return self.model._meta.verbose_name_plural
public = [RP_LIST, RP_DETAIL, ]
@property
def create_url(self):
return reverse_lazy('sapl.compilacao:tipo_ta_create')
class TipoTaCreateView(CompMixin, FormMessagesMixin, CreateView):
model = TipoTextoArticulado
class CreateView(CrudAux.CreateView):
form_class = TipoTaForm
template_name = "crud/form.html"
form_valid_message = _('Registro criado com sucesso!')
form_invalid_message = _('O registro não foi criado.')
permission_required = 'compilacao.add_tipotextoarticulado'
def get(self, request, *args, **kwargs):
self.object = None
@ -463,25 +448,8 @@ class TipoTaCreateView(CompMixin, FormMessagesMixin, CreateView):
return self.render_to_response(self.get_context_data(form=form))
def get_success_url(self):
return reverse_lazy('sapl.compilacao:tipo_ta_detail',
kwargs={'pk': self.object.id})
@property
def cancel_url(self):
return reverse_lazy('sapl.compilacao:tipo_ta_list')
class TipoTaDetailView(CompMixin, DetailView):
model = TipoTextoArticulado
permission_required = 'compilacao.detail_tipotextoarticulado'
class TipoTaUpdateView(CompMixin, UpdateView):
model = TipoTextoArticulado
class UpdateView(CrudAux.UpdateView):
form_class = TipoTaForm
template_name = "crud/form.html"
permission_required = 'compilacao.change_tipotextoarticulado'
def get(self, request, *args, **kwargs):
self.object = self.get_object()
@ -491,29 +459,6 @@ class TipoTaUpdateView(CompMixin, UpdateView):
label=_('Modelo Integrado'), required=False)
return self.render_to_response(self.get_context_data(form=form))
def get_success_url(self):
return reverse_lazy('sapl.compilacao:tipo_ta_detail',
kwargs={'pk': self.kwargs['pk']})
@property
def cancel_url(self):
return reverse_lazy('sapl.compilacao:tipo_ta_detail',
kwargs={'pk': self.kwargs['pk']})
class TipoTaDeleteView(CompMixin, DeleteView):
model = TipoTextoArticulado
template_name = "crud/confirm_delete.html"
permission_required = 'compilacao.delete_tipotextoarticulado'
@property
def detail_url(self):
return reverse_lazy('sapl.compilacao:tipo_ta_detail',
kwargs={'pk': self.kwargs['pk']})
def get_success_url(self):
return reverse_lazy('sapl.compilacao:tipo_ta_list')
class TaListView(CompMixin, ListView):
model = TextoArticulado

8
sapl/templates/compilacao/layouts.yaml

@ -37,3 +37,11 @@ TipoDispositivo:
- rotulo_separador_variacao23:5 formato_variacao3
- rotulo_separador_variacao34:5 formato_variacao4
- rotulo_separador_variacao45:5 formato_variacao5
TipoTextoArticulado:
{% trans 'Identificação Básica' %}:
- sigla:3 descricao:5 content_type:4
{% trans 'Funcionalidaes' %}:
- participacao_social publicacao_func
- perfis

73
sapl/templates/compilacao/tipotextoarticulado_detail.html

@ -1,73 +0,0 @@
{% extends "base.html" %} {% load i18n %} {% load compilacao_filters %}
{% load common_tags %}
{% block base_content %}
{% block sections_nav %}
{% endblock %}
<div class="clearfix">
{% block actions %}
<div class="actions btn-group pull-right" role="group">
{% if perms.compilacao.change_tipotextoarticulado %}<a class="btn btn-default" href="{% url 'sapl.compilacao:tipo_ta_edit' object.pk %}">{% trans 'Editar' %}</a>{% endif %}
{% if perms.compilacao.delete_tipotextoarticulado %}<a class="btn btn-default btn-excluir" href="{% url 'sapl.compilacao:tipo_ta_delete' object.pk %}">{% trans 'Excluir' %}</a>{% endif %}
</div>
{% endblock actions %}
</div>
{% block detail_content %} {# TODO replace fieldset for something semantically correct, but with similar visual grouping style #}
<fieldset>
<legend>{%trans 'Identificação Básica'%}</legend>
<div class="row">
<div class="col-md-3">
<div id="div_id_tipo" class="holder">
<label>{% field_verbose_name object 'sigla' %}</label>
<p>{{ object.sigla}}</p>
</div>
</div>
<div class="col-md-5">
<div id="div_id_numero" class="holder">
<label>{% field_verbose_name object 'descricao' %}</label>
<p>{{ object.descricao}}</p>
</div>
</div>
<div class="col-md-4">
<div id="div_id_ano" class="holder">
<label>{% field_verbose_name object 'content_type' %}</label>
<p>{{ object.content_type|default:""}}</p>
</div>
</div>
</fieldset>
<fieldset>
<legend>{%trans 'Funcionalidades'%}</legend>
<div class="row">
<div class="col-md-3">
<div id="div_id_ano" class="holder">
<label>{% field_verbose_name object 'participacao_social' %}</label>
<p>{{ object.get_participacao_social_display}}</p>
</div>
</div>
<div class="col-md-3">
<div id="div_id_ano" class="holder">
<label>{% field_verbose_name object 'publicacao_func' %}</label>
<p>{{ object.get_publicacao_func_display}}</p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div id="div_id_ano" class="holder">
<label>{% field_verbose_name object 'perfis' %}</label>
<ul>
{% for perfil in object.perfis.all %}
<li>{{perfil}}</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</fieldset>
{% endblock detail_content %}
{% endblock base_content %}

50
sapl/templates/compilacao/tipotextoarticulado_list.html

@ -1,50 +0,0 @@
{% extends "base.html" %}
{% load i18n compilacao_filters common_tags menus%}
{% block base_content %}
{% block actions %}
{% if perms.compilacao.add_tipotextoarticulado %}
<div class="actions btn-group pull-right" role="group">
<a href="{{ view.create_url }}" class="btn btn-default">
{% trans 'Adicionar'%} {%model_verbose_name 'sapl.compilacao.models.TipoTextoArticulado'%}
</a>
</div>
{% endif %}
{% endblock actions %}
<div class="row container-tabaux">
<div class="{% if perms.base.view_tabelas_auxiliares %}col-sm-9{% endif %}">
{% if not object_list %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover" width=100%>
<thead>
<tr>
<th>{% fieldclass_verbose_name 'sapl.compilacao.models.TipoTextoArticulado' 'sigla' %}</th>
<th>{% fieldclass_verbose_name 'sapl.compilacao.models.TipoTextoArticulado' 'descricao' %}</th>
<th>{% fieldclass_verbose_name 'sapl.compilacao.models.TipoTextoArticulado' 'content_type' %}</th>
</tr>
</thead>
<tbody>
{% for tipo_ta in object_list %}
<tr>
<td><a href="{% url 'sapl.compilacao:tipo_ta_detail' tipo_ta.pk %}">{{ tipo_ta.sigla }}</a></td>
<td>{{ tipo_ta.descricao }}</td>
<td>{{ tipo_ta.content_type }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{%endif%}
{% include 'paginacao.html'%}
</div>
{% if perms.base.view_tabelas_auxiliares %}
<div class="col-sm-3 sidebar-tabaux">
<h3>{% trans "Tabelas Auxiliares" %}</h3>
{% subnav 'menu_tabelas_auxiliares.yaml'%}
</div>
{% endif %}
</div>
{% endblock %}

2
sapl/templates/menu_tabelas_auxiliares.yaml

@ -126,7 +126,7 @@
css_class: head_title
children:
- title: {% trans 'Tipos de Textos Articulados' %}
url: sapl.compilacao:tipo_ta_list
url: sapl.compilacao:tipotextoarticulado_list
css_class: btn btn-link
- title: {% trans 'Tipos de Publicação' %}
url: sapl.compilacao:tipopublicacao_list

Loading…
Cancel
Save