Browse Source

subnav anexos

pull/2128/head
Talitha 7 years ago
parent
commit
782abc0faa
  1. 15
      sapl/norma/forms.py
  2. 5
      sapl/norma/urls.py
  3. 28
      sapl/norma/views.py
  4. 5
      sapl/templates/norma/layouts.yaml
  5. 2
      sapl/templates/norma/subnav.yaml

15
sapl/norma/forms.py

@ -97,11 +97,6 @@ class NormaJuridicaForm(ModelForm):
choices=ANO_CHOICES, choices=ANO_CHOICES,
widget=forms.Select(attrs={'autocomplete': 'off'}) widget=forms.Select(attrs={'autocomplete': 'off'})
) )
# anexos_adicionados = forms.ListField(
# label='Anexos adcionados',
# required=False,
# widget=forms.TextInput(attrs={'readonly': 'readonly'})
# )
anexo_arquivo = forms.FileField( anexo_arquivo = forms.FileField(
label='Anexo Norma Jurídica', label='Anexo Norma Jurídica',
required=False required=False
@ -186,7 +181,6 @@ class NormaJuridicaForm(ModelForm):
norma.timestamp = timezone.now() norma.timestamp = timezone.now()
norma.materia = self.cleaned_data['materia'] norma.materia = self.cleaned_data['materia']
norma = super(NormaJuridicaForm, self).save(commit=True) norma = super(NormaJuridicaForm, self).save(commit=True)
if self.cleaned_data['anexo_arquivo']: if self.cleaned_data['anexo_arquivo']:
anexo = AnexoNormaJuridica() anexo = AnexoNormaJuridica()
anexo.anexo_arquivo = self.cleaned_data['anexo_arquivo'] anexo.anexo_arquivo = self.cleaned_data['anexo_arquivo']
@ -196,6 +190,15 @@ class NormaJuridicaForm(ModelForm):
return norma return norma
class AnexoNormaJuridicaForm(ModelForm):
# class Meta:
# model = AnexoNormaJuridica
# fields = ['norma', 'anexo_arquivo']
def __init__(self, *args, **kwargs):
super(AnexoNormaJuridicaForm, self).__init__(*args, **kwargs)
class NormaRelacionadaForm(ModelForm): class NormaRelacionadaForm(ModelForm):

5
sapl/norma/urls.py

@ -1,6 +1,6 @@
from django.conf.urls import include, url from django.conf.urls import include, url
from sapl.norma.views import (AssuntoNormaCrud, NormaCrud, NormaPesquisaView, from sapl.norma.views import (AnexoNormaJuridicaCrud,AssuntoNormaCrud, NormaCrud, NormaPesquisaView,
NormaRelacionadaCrud, NormaTaView, TipoNormaCrud, NormaRelacionadaCrud, NormaTaView, TipoNormaCrud,
TipoVinculoNormaJuridicaCrud, recuperar_norma, TipoVinculoNormaJuridicaCrud, recuperar_norma,
recuperar_numero_norma) recuperar_numero_norma)
@ -12,7 +12,8 @@ app_name = AppConfig.name
urlpatterns = [ urlpatterns = [
url(r'^norma/', include(NormaCrud.get_urls() + url(r'^norma/', include(NormaCrud.get_urls() +
NormaRelacionadaCrud.get_urls())), NormaRelacionadaCrud.get_urls() +
AnexoNormaJuridicaCrud.get_urls())),
# Integração com Compilação # Integração com Compilação
url(r'^norma/(?P<pk>[0-9]+)/ta$', NormaTaView.as_view(), name='norma_ta'), url(r'^norma/(?P<pk>[0-9]+)/ta$', NormaTaView.as_view(), name='norma_ta'),

28
sapl/norma/views.py

@ -19,7 +19,7 @@ from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux,
MasterDetailCrud, make_pagination) MasterDetailCrud, make_pagination)
from sapl.utils import show_results_filter_set from sapl.utils import show_results_filter_set
from .forms import (NormaFilterSet, NormaJuridicaForm, from .forms import (AnexoNormaJuridicaForm, NormaFilterSet, NormaJuridicaForm,
NormaPesquisaSimplesForm, NormaRelacionadaForm) NormaPesquisaSimplesForm, NormaRelacionadaForm)
from .models import (AnexoNormaJuridica, AssuntoNorma, NormaJuridica, NormaRelacionada, from .models import (AnexoNormaJuridica, AssuntoNorma, NormaJuridica, NormaRelacionada,
TipoNormaJuridica, TipoVinculoNormaJuridica) TipoNormaJuridica, TipoVinculoNormaJuridica)
@ -98,6 +98,32 @@ class NormaPesquisaView(FilterView):
return context return context
class AnexoNormaJuridicaCrud(MasterDetailCrud):
model = AnexoNormaJuridica
parent_field = 'norma'
help_topic = 'anexo_normajuridica'
public = [RP_LIST, RP_DETAIL]
class BaseMixin(MasterDetailCrud.BaseMixin):
list_field_names = ['anexo_arquivo']
class CreateView(MasterDetailCrud.CreateView):
form_class = AnexoNormaJuridicaForm
class UpdateView(MasterDetailCrud.UpdateView):
form_class = AnexoNormaJuridicaForm
def get_initial(self):
initial = super(UpdateView, self).get_initial()
initial['norma'] = self.object.norma
initial['anexo_arquivo'] = self.object.anexo_arquivo
initial['ano'] = self.object.ano
return initial
class DetailView(MasterDetailCrud.DetailView):
layout_key = 'AnexoNormaJuridicaDetail'
class NormaTaView(IntegracaoTaView): class NormaTaView(IntegracaoTaView):
model = NormaJuridica model = NormaJuridica

5
sapl/templates/norma/layouts.yaml

@ -24,6 +24,11 @@ NormaJuridica:
- observacao - observacao
- assuntos - assuntos
AnexoNormaJuridica:
{% trans 'Adicionar Anexos à Norma Jurídica' %}
- anexo
- norma
NormaJuridicaCreate: NormaJuridicaCreate:
{% trans 'Identificação Básica' %}: {% trans 'Identificação Básica' %}:
- tipo ano numero - tipo ano numero

2
sapl/templates/norma/subnav.yaml

@ -5,6 +5,8 @@
- title: {% trans 'Alterações em Outras Normas' %} - title: {% trans 'Alterações em Outras Normas' %}
url: normarelacionada_list url: normarelacionada_list
check_permission: norma.list_normarelacionada check_permission: norma.list_normarelacionada
- title: {% trans 'Anexos da Norma' %}
url: anexonormajuridica_list
# Opção adicionada para chamar o TextoArticulado da norma. # Opção adicionada para chamar o TextoArticulado da norma.
# para integração foram necessárias apenas criar a url norma_ta em urls.py # para integração foram necessárias apenas criar a url norma_ta em urls.py

Loading…
Cancel
Save