Browse Source

Fix #1215 Fix #1218

pull/1226/head
Eduardo Calil 8 years ago
parent
commit
e131c7fc5f
  1. 20
      sapl/materia/views.py
  2. 11
      sapl/templates/materia/em_lote/tramitacao.html
  3. 2
      sapl/templates/materia/tipoproposicao_form.html
  4. 15
      sapl/templates/materia/tramitacao_form.html

20
sapl/materia/views.py

@ -4,6 +4,7 @@ from string import ascii_letters, digits
from crispy_forms.helper import FormHelper from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML from crispy_forms.layout import HTML
from django import forms
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.decorators import permission_required from django.contrib.auth.decorators import permission_required
from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin
@ -923,13 +924,30 @@ class TramitacaoCrud(MasterDetailCrud):
def get_initial(self): def get_initial(self):
local = MateriaLegislativa.objects.get( local = MateriaLegislativa.objects.get(
pk=self.kwargs['pk']).tramitacao_set.last() pk=self.kwargs['pk']).tramitacao_set.order_by(
'-data_tramitacao').first()
if local: if local:
self.initial['unidade_tramitacao_local' self.initial['unidade_tramitacao_local'
] = local.unidade_tramitacao_destino.pk ] = local.unidade_tramitacao_destino.pk
else:
self.initial['unidade_tramitacao_local'] = ''
self.initial['data_tramitacao'] = datetime.now() self.initial['data_tramitacao'] = datetime.now()
return self.initial return self.initial
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
primeira_tramitacao = not(Tramitacao.objects.filter(
materia_id=int(kwargs['root_pk'])).exists())
# Se não for a primeira tramitação daquela matéria, o campo
# não pode ser modificado
if not primeira_tramitacao:
context['form'].fields[
'unidade_tramitacao_local'].widget.attrs['disabled'] = True
return context
def form_valid(self, form): def form_valid(self, form):
self.object = form.save() self.object = form.save()
tramitacao_signal.send(sender=Tramitacao, tramitacao_signal.send(sender=Tramitacao,

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

@ -39,7 +39,7 @@
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<label>Unidade Local*</label> <label>Unidade Local*</label>
<select name="unidade_tramitacao_local" class="form-control" required="True"> <select id="id_unidade_tramitacao_local" name="unidade_tramitacao_local" class="form-control" required="True">
{% if unidade_local|length > 1 %}<option></option>{% endif %} {% if unidade_local|length > 1 %}<option></option>{% endif %}
{% for u in unidade_local %} <option value="{{u.id}}">{{u}}</option> {% endfor %} {% for u in unidade_local %} <option value="{{u.id}}">{{u}}</option> {% endfor %}
</select> </select>
@ -131,5 +131,14 @@
$(this).trigger('click'); $(this).trigger('click');
}); });
} }
$(document).ready(function(){
$('#id_unidade_tramitacao_local').prop('disabled', true);
});
// Reabilita o campo, no momento do Submit, para que seu dado seja enviado
$('form').submit(function(){
$('#id_unidade_tramitacao_local').prop('disabled', false);
});
</script> </script>
{% endblock %} {% endblock %}

2
sapl/templates/materia/tipoproposicao_form.html

@ -1,6 +1,6 @@
{% extends "crud/form.html" %} {% extends "crud/form.html" %}
{% load i18n %} {% load i18n %}
aaa
{% block extra_js %} {% block extra_js %}
<script type="text/javascript"> <script type="text/javascript">

15
sapl/templates/materia/tramitacao_form.html

@ -0,0 +1,15 @@
{% extends "crud/form.html" %}
{% load i18n %}
{% block extra_js %}
<script type="text/javascript">
// Caso o campo esteja desabilitado (quando não é a primeira tramitação),
// habilita ele no momento do submit para que o valor de unidade local
// não seja enviado como vazio
$('form').submit(function(){
$('#id_unidade_tramitacao_local').prop('disabled', false);
});
</script>
{% endblock %}
Loading…
Cancel
Save