Browse Source

Correções no tratamento de erros da interface mobile, no módulo de identificação de responsabilidades.

stable/1.0
Sesostris Vieira 12 years ago
parent
commit
efe360fb8c
  1. 3
      media/js/diagnosticos/diagnosticos_categorias_form.js
  2. 2
      sigi/apps/casas/models.py
  3. 2
      sigi/apps/contatos/models.py
  4. 19
      sigi/apps/diagnosticos/views.py
  5. 6
      sigi/templates/diagnosticos/diagnosticos_categoria_contatos_form.html

3
media/js/diagnosticos/diagnosticos_categorias_form.js

@ -22,7 +22,8 @@ $('#page').live('pageinit', function(event){
$("span.errors").html("");
if (data.mensagem == "erro") {
for (var campo in data.erros) {
$("#"+ campo + " span").html(data.erros[campo].join('\n'))
error = $("#" + campo);
error.html(data.erros[campo].join('\n'));
}
}
},

2
sigi/apps/casas/models.py

@ -239,7 +239,7 @@ class Funcionario(models.Model):
nome.alphabetic_filter = True
sexo = models.CharField(max_length=1, choices=SEXO_CHOICES, default="M")
nota = models.CharField(max_length=70, null=True, blank=True)
email = models.EmailField('e-mail', null=True, blank=True)
email = models.CharField('e-mail', max_length=75, blank=True)
telefones = generic.GenericRelation('contatos.Telefone')
endereco = generic.GenericRelation('contatos.Endereco')
cargo = models.CharField(max_length=100, null=True, blank=True)

2
sigi/apps/contatos/models.py

@ -138,7 +138,7 @@ class Telefone(models.Model):
class Meta:
ordering = ('numero',)
unique_together = ('numero', 'tipo')
# unique_together = ('numero', 'tipo')
def __unicode__(self):
return unicode(self.numero)

19
sigi/apps/diagnosticos/views.py

@ -15,6 +15,7 @@ from sigi.apps.diagnosticos.models import Diagnostico, Categoria, Pergunta
from sigi.apps.casas.models import Funcionario
from sigi.apps.diagnosticos.forms import (DiagnosticoMobileForm,
CasaLegislativaMobileForm, FuncionariosMobileForm)
from sigi.apps.contatos.models import Telefone
from sigi.shortcuts import render_to_pdf
@ -172,11 +173,20 @@ def categoria_contatos(request, id_diagnostico):
else:
# Montando a estrutura das mensagens de erro no formato JSON
resposta['mensagem'] = 'erro'
resposta['erros'].update(form.errors)
for key, value in form.errors.iteritems():
resposta['erros'][form.prefix + '-' + key + '-errors'] = value
for form_telefones in form.telefones.forms:
for key, value in form_telefones.errors.iteritems():
key = form_telefones.prefix + "-" + key
resposta['erros'][key] = value
if not form_telefones.is_valid():
if (form_telefones.fields['id'].initial is not None
and form_telefones.fields['tipo'].initial == 'I'
and form_telefones.fields['numero'].initial is None):
Telefone.objects.get(pk=form_telefones.fields['id'].initial).delete()
resposta['erros'][form_telefones.prefix + "-id-errors"] = u'Este telefone foi excluído da base de dados'
else:
for key, value in form_telefones.errors.iteritems():
key = form_telefones.prefix + "-id-errors"
resposta['erros'][key] = value
json = simplejson.dumps(resposta)
return HttpResponse(json, mimetype="application/json")
@ -222,6 +232,7 @@ def diagnostico_pdf(request, id_diagnostico):
})
return render_to_pdf('diagnosticos/diagnostico_pdf.html', context)
#return render_to_response('diagnosticos/diagnostico_pdf.html', context)
def graficos(request):
categorias = Categoria.objects.all()

6
sigi/templates/diagnosticos/diagnosticos_categoria_contatos_form.html

@ -24,16 +24,16 @@
<div data-role="fieldcontain">
<label class="attr" for="{{ field.name }}">{{ field.label }}</label>
{{ field }}
<span class="errors"></span>
<span id="{{ field.html_name }}-errors" class="errors"></span>
</div>
{% endfor %}
<h4>Telefones</h4>
{% for form in form.telefones.forms %}
<div class="phone" data-role="fieldcontain">
{{ form.tipo }} {{ form.numero}}
{{ form.tipo }} {{ form.numero }}
{% for field in form.hidden_fields %}
{{ field }}
<span class="errors"></span>
<span id="{{ field.html_name }}-errors" class="errors"></span>
{% endfor %}
</div>
{% endfor %}

Loading…
Cancel
Save