Browse Source

Inserindo anexada em lote em subnav de materia

pull/2584/head
ricardocanela 7 years ago
parent
commit
66331c91ea
  1. 2
      sapl/materia/urls.py
  2. 36
      sapl/materia/views.py
  3. 14
      sapl/templates/materia/anexada_list.html
  4. 46
      sapl/templates/materia/em_lote/anexada.html

2
sapl/materia/urls.py

@ -94,7 +94,7 @@ urlpatterns_materia = [
url(r'^materia/acessorio-em-lote', DocumentoAcessorioEmLoteView.as_view(), url(r'^materia/acessorio-em-lote', DocumentoAcessorioEmLoteView.as_view(),
name='acessorio_em_lote'), name='acessorio_em_lote'),
url(r'^materia/anexada-em-lote', MateriaAnexadaEmLoteView.as_view(), url(r'^materia/(?P<pk>\d+)/anexada-em-lote', MateriaAnexadaEmLoteView.as_view(),
name='anexada_em_lote'), name='anexada_em_lote'),
url(r'^materia/primeira-tramitacao-em-lote', url(r'^materia/primeira-tramitacao-em-lote',
PrimeiraTramitacaoEmLoteView.as_view(), PrimeiraTramitacaoEmLoteView.as_view(),

36
sapl/materia/views.py

@ -2006,14 +2006,17 @@ class MateriaAnexadaEmLoteView(PermissionRequiredMixin, FilterView):
context = super(MateriaAnexadaEmLoteView, context = super(MateriaAnexadaEmLoteView,
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
context['root_pk'] = self.kwargs['pk']
context['subnav_template_name'] = 'materia/subnav.yaml'
context['title'] = _('Matérias Anexadas em Lote') context['title'] = _('Matérias Anexadas em Lote')
# Verifica se os campos foram preenchidos # Verifica se os campos foram preenchidos
if not self.filterset.form.is_valid(): if not self.filterset.form.is_valid():
return context return context
qr = self.request.GET.copy() qr = self.request.GET.copy()
# context['tipos_docs'] = TipoDocumento.objects.all()
import ipdb; ipdb.set_trace()
context['object_list'] = context['object_list'].order_by( context['object_list'] = context['object_list'].order_by(
'ano', 'numero') 'ano', 'numero')
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
@ -2030,22 +2033,25 @@ class MateriaAnexadaEmLoteView(PermissionRequiredMixin, FilterView):
messages.add_message(request, messages.ERROR, msg) messages.add_message(request, messages.ERROR, msg)
return self.get(request, self.kwargs) return self.get(request, self.kwargs)
tipo = TipoDocumento.objects.get(descricao=request.POST['tipo']) data_anexacao = datetime.strptime(
request.POST['data_anexacao'], "%d/%m/%Y").date()
tz = timezone.get_current_timezone() if request.POST['data_desanexacao'] == '':
data_desanexacao = None
else:
data_desanexacao = datetime.strptime(
request.POST['data_desanexacao'], "%d/%m/%Y").date()
for materia_id in marcadas: for materia_id in marcadas:
doc = DocumentoAcessorio()
doc.materia_id = materia_id anexada = Anexada()
doc.tipo = tipo anexada.materia_principal = MateriaLegislativa.objects.get(pk = kwargs['pk'])
doc.arquivo = request.FILES['arquivo'] anexada.materia_anexada = MateriaLegislativa.objects.get(pk = materia_id)
doc.nome = request.POST['nome'] anexada.data_anexacao = data_anexacao
doc.data = tz.localize(datetime.strptime( anexada.data_desanexacao = data_desanexacao
request.POST['data'], "%d/%m/%Y")) anexada.save()
doc.autor = request.POST['autor']
doc.ementa = request.POST['ementa'] msg = _('Materia(s) anexada(s).')
doc.save()
msg = _('Documento(s) criado(s).')
messages.add_message(request, messages.SUCCESS, msg) messages.add_message(request, messages.SUCCESS, msg)
return self.get(request, self.kwargs) return self.get(request, self.kwargs)

14
sapl/templates/materia/anexada_list.html

@ -0,0 +1,14 @@
{% extends "crud/list.html" %}
{% load i18n %}
{% load common_tags %}
{% block more_buttons %}
{% if perms|get_add_perm:view %}
<a href="{% url 'sapl.materia:anexada_em_lote' root_pk %}" class="btn btn-outline-primary">
{% trans "Adicionar Anexada em Lote" %}
</a>
{% endif %}
{% endblock more_buttons %}

46
sapl/templates/materia/em_lote/anexada.html

@ -16,65 +16,31 @@
{% endif %} {% endif %}
<form method="POST" enctype="multipart/form-data"> <form method="POST" enctype="multipart/form-data">
{% csrf_token %} {% csrf_token %}
<fieldset> <fieldset>
<legend>Documento Acessório</legend>
<div class="row"> <div class="row">
<div class="col-md-4">
<div class="form-group">
<label>Tipo*</label>
<select name="tipo" class="form-control" required="True">
{% for t in tipos_docs %} <option>{{t}}</option> {% endfor %}
</select>
</div>
</div>
<div class="col-md-4"> <div class="col-md-4">
<div class="form-group"> <div class="form-group">
<label>Nome*</label> <label>Data Anexação*</label>
<input type="text" name="nome" class="form-control" required="True"> <input type="text" name="data_anexacao" class="form-control dateinput" required="True">
</div> </div>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<div class="form-group"> <div class="form-group">
<label>Data*</label> <label>Data Desanexação</label>
<input type="text" name="data" class="form-control dateinput" required="True"> <input type="text" name="data_desanexacao" class="form-control dateinput">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Autor:</label>
<input type="text" name="autor" class="form-control" required="False">
</div> </div>
</div> </div>
</div> </div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Ementa</label>
<textarea name="ementa" class="textarea form-control" cols="40" rows="10"></textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Texto Integral*</label>
<input type="file" name="arquivo" required="True">
</div>
</div>
</div>
</fieldset> </fieldset>
<br /> <br />
<fieldset> <fieldset>
<legend>Matérias para inclusão do Documento Acessório</legend> <legend>Matérias para Anexar em Lote</legend>
<table class="table table-striped table-hover"> <table class="table table-striped table-hover">
<div class="controls"> <div class="controls">
<div class="checkbox"> <div class="checkbox">

Loading…
Cancel
Save