Browse Source

Remove duplicidade do código

pull/586/head
Eduardo Edson Batista Cordeiro Alves 8 years ago
parent
commit
0ba993c77f
  1. 62
      sapl/materia/views.py
  2. 123
      sapl/templates/materia/em_lote/primeira_tramitacao.html
  3. 4
      sapl/templates/materia/em_lote/subnav.html
  4. 12
      sapl/templates/materia/em_lote/tramitacao.html

62
sapl/materia/views.py

@ -1298,7 +1298,7 @@ class DocumentoAcessorioEmLoteView(PermissionRequiredMixin, FilterView):
class PrimeiraTramitacaoEmLoteView(PermissionRequiredMixin, FilterView):
filterset_class = PrimeiraTramitacaoEmLoteFilterSet
template_name = 'materia/em_lote/primeira_tramitacao.html'
template_name = 'materia/em_lote/tramitacao.html'
permission_required = permissoes_materia()
def get_context_data(self, **kwargs):
@ -1311,11 +1311,14 @@ class PrimeiraTramitacaoEmLoteView(PermissionRequiredMixin, FilterView):
return context
# Pega somente matéria que não possuem tramitação
context['object_list'] = context['object_list'].filter(
tramitacao__isnull=True)
if (type(self.__dict__[
'filterset']).__name__ == 'PrimeiraTramitacaoEmLoteFilterSet'):
context['object_list'] = context['object_list'].filter(
tramitacao__isnull=True)
qr = self.request.GET.copy()
context['unidade_tramitacao'] = UnidadeTramitacao.objects.all()
context['unidade_destino'] = UnidadeTramitacao.objects.all()
context['unidade_local'] = UnidadeTramitacao.objects.all()
context['status_tramitacao'] = StatusTramitacao.objects.all()
context['turnos_tramitacao'] = TURNO_TRAMITACAO_CHOICES
context['urgente_tramitacao'] = YES_NO_CHOICES
@ -1363,10 +1366,8 @@ class PrimeiraTramitacaoEmLoteView(PermissionRequiredMixin, FilterView):
return self.get(request, self.kwargs)
class TramitacaoEmLoteView(PermissionRequiredMixin, FilterView):
class TramitacaoEmLoteView(PrimeiraTramitacaoEmLoteView):
filterset_class = TramitacaoEmLoteFilterSet
template_name = 'materia/em_lote/tramitacao.html'
permission_required = permissoes_materia()
def get_context_data(self, **kwargs):
context = super(TramitacaoEmLoteView, self).get_context_data(**kwargs)
@ -1377,52 +1378,11 @@ class TramitacaoEmLoteView(PermissionRequiredMixin, FilterView):
return context
qr = self.request.GET.copy()
context['unidade_tramitacao'] = UnidadeTramitacao.objects.all()
context['unidade_destino'] = UnidadeTramitacao.objects.all()
context['status_tramitacao'] = StatusTramitacao.objects.all()
context['turnos_tramitacao'] = TURNO_TRAMITACAO_CHOICES
context['urgente_tramitacao'] = YES_NO_CHOICES
context['unidade_local'] = UnidadeTramitacao.objects.get(
id=qr['tramitacao__unidade_tramitacao_local'])
context['unidade_local'] = [UnidadeTramitacao.objects.get(
id=qr['tramitacao__unidade_tramitacao_local'])]
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
return context
def post(self, request, *args, **kwargs):
marcadas = request.POST.getlist('materia_id')
if len(marcadas) == 0:
msg = _('Nenhuma máteria foi selecionada.')
messages.add_message(request, messages.ERROR, msg)
return self.get(request, self.kwargs)
if request.POST['data_encaminhamento']:
data_encaminhamento = datetime.strptime(
request.POST['data_encaminhamento'], "%d/%m/%Y")
else:
data_encaminhamento = None
if request.POST['data_fim_prazo']:
data_fim_prazo = datetime.strptime(
request.POST['data_fim_prazo'], "%d/%m/%Y")
else:
data_fim_prazo = None
import ipdb; ipdb.set_trace()
for materia_id in marcadas:
Tramitacao.objects.create(
materia_id=materia_id,
data_tramitacao=datetime.strptime(
request.POST['data_tramitacao'], "%d/%m/%Y"),
data_encaminhamento=data_encaminhamento,
data_fim_prazo=data_fim_prazo,
unidade_tramitacao_local_id=request.POST[
'unidade_tramitacao_local'],
unidade_tramitacao_destino_id=request.POST[
'unidade_tramitacao_destino'],
urgente=request.POST['urgente'],
status_id=request.POST['status'],
turno=request.POST['turno'],
texto=request.POST['texto']
)
msg = _('Tramitação completa.')
messages.add_message(request, messages.SUCCESS, msg)
return self.get(request, self.kwargs)

123
sapl/templates/materia/em_lote/primeira_tramitacao.html

@ -1,123 +0,0 @@
{% extends "crud/detail.html" %}
{% load i18n crispy_forms_tags %}
{% block actions %}{% endblock %}
{% block sections_nav %}
<ul class="nav nav-pills navbar-right">
<li class="active"><a href="{% url 'sapl.materia:primeira_tramitacao_em_lote' %}">Primeira Tramitação</a></li>
<li class=""><a href="{% url 'sapl.materia:tramitacao_em_lote' %}">Tramitação em Lote</a></li>
</ul>
{% endblock sections_nav %}
{% block detail_content %}
{% if not filter_url %}
{% crispy filter.form %}
{% endif %}
{% if filter_url %}
{% if object_list|length > 0 %}
{% if object_list|length == 1 %}
<h3 style="text-align: right;">{% trans 'Pesquisa concluída com sucesso! Foi encontrada 1 matéria.'%}</h3>
{% else %}
<h3 style="text-align: right;">Foram encontradas {{object_list|length}} matérias.</h3>
{% endif %}
{% else %}
<tr><td><h3 style="text-align: right;">Nenhuma matéria encontrada.</h3></td></tr>
{% endif %}
<form method="POST">
{% csrf_token %}
<fieldset>
<legend>1. Detalhes da tramitação:</legend>
<div class="row">
<div class="col-md-4">
<label>Data da Tramitação*</label>
<input type="text" name="data_tramitacao" class="form-control dateinput" required="True">
</div>
<div class="col-md-4">
<label>Data Encaminhamento</label>
<input type="text" name="data_encaminhamento" class="form-control dateinput">
</div>
<div class="col-md-4">
<label>Data Fim do Prazo</label>
<input type="text" name="data_fim_prazo" class="form-control dateinput">
</div>
</div>
<div class="row">
<div class="col-md-6">
<label>Unidade Local*</label>
<select name="unidade_tramitacao_local" class="form-control" required="True">
<option>----------</option>
{% for u in unidade_tramitacao %} <option value="{{u.id}}">{{u}}</option> {% endfor %}
</select>
</div>
<div class="col-md-6">
<label>Unidade Destino*</label>
<select name="unidade_tramitacao_destino" class="form-control" required="True">
<option>----------</option>
{% for u in unidade_tramitacao %} <option value="{{u.id}}">{{u}}</option> {% endfor %}
</select>
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>Status*</label>
<select name="status" class="form-control" required="True">
<option>----------</option>
{% for s in status_tramitacao %} <option value="{{s.id}}">{{s}}</option> {% endfor %}
</select>
</div>
<div class="col-md-4">
<label>Urgente?*</label>
<select name="urgente" class="form-control" required="True">
<option>----------</option>
{% for u in urgente_tramitacao %} <option value="{{u|first}}">{{u|last}}</option> {% endfor %}
</select>
</div>
<div class="col-md-4">
<label>Turno</label>
<select name="turno" class="form-control">
<option>----------</option>
{% for t in turnos_tramitacao %} <option value="{{t|first}}">{{t|last}}</option> {% endfor %}
</select>
</div>
</div>
<div class="row">
<div class="col-md-12">
<label>Texto de Ação*</label>
<textarea name="texto" class="textarea form-control" cols="40" rows="10" required="True"></textarea>
</div>
</div>
</fieldset>
<br /><br /><br />
<fieldset>
<legend>2. Selecione as matérias para primeira tramitação:</legend>
<table class="table table-striped table-hover">
<thead>
<tr><th>Matéria</th></tr>
</thead>
<tbody>
{% for materia in object_list %}
<tr>
<td>
<input type="checkbox" name="materia_id" value="{{materia.id}}" {% if check %} checked {% endif %}/>
{{materia.tipo.sigla}} {{materia.tipo.descricao}} {{materia.numero}}/{{materia.ano}}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</fieldset>
<input type="submit" value="Salvar" class="btn btn-primary"S>
</form>
{% endif %}
{% endblock detail_content %}

4
sapl/templates/materia/em_lote/subnav.html

@ -0,0 +1,4 @@
<ul class="nav nav-pills navbar-right">
<li class=""><a href="{% url 'sapl.materia:primeira_tramitacao_em_lote' %}">Primeira Tramitação</a></li>
<li class=""><a href="{% url 'sapl.materia:tramitacao_em_lote' %}">Tramitação em Lote</a></li>
</ul>

12
sapl/templates/materia/em_lote/tramitacao.html

@ -1,12 +1,7 @@
{% extends "crud/detail.html" %}
{% load i18n crispy_forms_tags %}
{% block actions %}{% endblock %}
{% block sections_nav %}
<ul class="nav nav-pills navbar-right">
<li class=""><a href="{% url 'sapl.materia:primeira_tramitacao_em_lote' %}">Primeira Tramitação</a></li>
<li class="active"><a href="{% url 'sapl.materia:tramitacao_em_lote' %}">Tramitação em Lote</a></li>
</ul>
{% endblock sections_nav %}
{% block sections_nav %} {% include 'materia/em_lote/subnav.html'%} {% endblock sections_nav %}
{% block detail_content %}
{% if not filter_url %}
@ -49,15 +44,14 @@
<div class="col-md-6">
<label>Unidade Local*</label>
<select name="unidade_tramitacao_local" class="form-control" required="True">
<option value="{{unidade_local.id}}">{{unidade_local}}</option>
{% for u in unidade_local %} <option value="{{u.id}}">{{u}}</option> {% endfor %}
</select>
</div>
<div class="col-md-6">
<label>Unidade Destino*</label>
<select name="unidade_tramitacao_destino" class="form-control" required="True">
<option>----------</option>
{% for u in unidade_tramitacao %} <option value="{{u.id}}">{{u}}</option> {% endfor %}
{% for u in unidade_destino %} <option value="{{u.id}}">{{u}}</option> {% endfor %}
</select>
</div>
</div>

Loading…
Cancel
Save