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. 109
      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 import views
from sapl.compilacao.views import (TipoDispositivoCrud, TipoNotaCrud, from sapl.compilacao.views import (TipoDispositivoCrud, TipoNotaCrud,
TipoPublicacaoCrud, TipoVideCrud, TipoPublicacaoCrud, TipoVideCrud,
VeiculoPublicacaoCrud) VeiculoPublicacaoCrud,
TipoTextoArticuladoCrud)
from .apps import AppConfig from .apps import AppConfig
@ -113,14 +114,7 @@ urlpatterns = [
include(TipoPublicacaoCrud.get_urls())), include(TipoPublicacaoCrud.get_urls())),
url(r'^sistema/ta/config/veiculo-publicacao/', url(r'^sistema/ta/config/veiculo-publicacao/',
include(VeiculoPublicacaoCrud.get_urls())), include(VeiculoPublicacaoCrud.get_urls())),
url(r'^sistema/ta/config/tipo-textoarticulado$', url(r'^sistema/ta/config/tipo/',
views.TipoTaListView.as_view(), name='tipo_ta_list'), include(TipoTextoArticuladoCrud.get_urls())),
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'),
] ]

109
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, from sapl.compilacao.utils import (DISPOSITIVO_SELECT_RELATED,
DISPOSITIVO_SELECT_RELATED_EDIT, DISPOSITIVO_SELECT_RELATED_EDIT,
get_integrations_view_names) 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 from sapl.settings import BASE_DIR
@ -431,88 +432,32 @@ class CompMixin(PermissionRequiredMixin):
return rr return rr
class TipoTaListView(CompMixin, ListView): class TipoTextoArticuladoCrud(CrudAux):
model = TipoTextoArticulado model = TipoTextoArticulado
paginate_by = 10 public = [RP_LIST, RP_DETAIL, ]
verbose_name = model._meta.verbose_name
permission_required = 'compilacao.list_tipotextoarticulado' class CreateView(CrudAux.CreateView):
form_class = TipoTaForm
@property
def title(self): def get(self, request, *args, **kwargs):
return self.model._meta.verbose_name_plural self.object = None
form = self.get_form()
@property form.fields['content_type'] = forms.ChoiceField(
def create_url(self): choices=choice_models_in_extenal_views(),
return reverse_lazy('sapl.compilacao:tipo_ta_create') label=_('Modelo Integrado'), required=False)
return self.render_to_response(self.get_context_data(form=form))
class TipoTaCreateView(CompMixin, FormMessagesMixin, CreateView):
model = TipoTextoArticulado class UpdateView(CrudAux.UpdateView):
form_class = TipoTaForm form_class = TipoTaForm
template_name = "crud/form.html"
form_valid_message = _('Registro criado com sucesso!') def get(self, request, *args, **kwargs):
form_invalid_message = _('O registro não foi criado.') self.object = self.get_object()
permission_required = 'compilacao.add_tipotextoarticulado' form = self.get_form()
form.fields['content_type'] = forms.ChoiceField(
def get(self, request, *args, **kwargs): choices=choice_models_in_extenal_views(),
self.object = None label=_('Modelo Integrado'), required=False)
form = self.get_form() return self.render_to_response(self.get_context_data(form=form))
form.fields['content_type'] = forms.ChoiceField(
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('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
form_class = TipoTaForm
template_name = "crud/form.html"
permission_required = 'compilacao.change_tipotextoarticulado'
def get(self, request, *args, **kwargs):
self.object = self.get_object()
form = self.get_form()
form.fields['content_type'] = forms.ChoiceField(
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('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): class TaListView(CompMixin, ListView):

8
sapl/templates/compilacao/layouts.yaml

@ -37,3 +37,11 @@ TipoDispositivo:
- rotulo_separador_variacao23:5 formato_variacao3 - rotulo_separador_variacao23:5 formato_variacao3
- rotulo_separador_variacao34:5 formato_variacao4 - rotulo_separador_variacao34:5 formato_variacao4
- rotulo_separador_variacao45:5 formato_variacao5 - 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 css_class: head_title
children: children:
- title: {% trans 'Tipos de Textos Articulados' %} - title: {% trans 'Tipos de Textos Articulados' %}
url: sapl.compilacao:tipo_ta_list url: sapl.compilacao:tipotextoarticulado_list
css_class: btn btn-link css_class: btn btn-link
- title: {% trans 'Tipos de Publicação' %} - title: {% trans 'Tipos de Publicação' %}
url: sapl.compilacao:tipopublicacao_list url: sapl.compilacao:tipopublicacao_list

Loading…
Cancel
Save