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(""); $("span.errors").html("");
if (data.mensagem == "erro") { if (data.mensagem == "erro") {
for (var campo in data.erros) { 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 nome.alphabetic_filter = True
sexo = models.CharField(max_length=1, choices=SEXO_CHOICES, default="M") sexo = models.CharField(max_length=1, choices=SEXO_CHOICES, default="M")
nota = models.CharField(max_length=70, null=True, blank=True) 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') telefones = generic.GenericRelation('contatos.Telefone')
endereco = generic.GenericRelation('contatos.Endereco') endereco = generic.GenericRelation('contatos.Endereco')
cargo = models.CharField(max_length=100, null=True, blank=True) 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: class Meta:
ordering = ('numero',) ordering = ('numero',)
unique_together = ('numero', 'tipo') # unique_together = ('numero', 'tipo')
def __unicode__(self): def __unicode__(self):
return unicode(self.numero) 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.casas.models import Funcionario
from sigi.apps.diagnosticos.forms import (DiagnosticoMobileForm, from sigi.apps.diagnosticos.forms import (DiagnosticoMobileForm,
CasaLegislativaMobileForm, FuncionariosMobileForm) CasaLegislativaMobileForm, FuncionariosMobileForm)
from sigi.apps.contatos.models import Telefone
from sigi.shortcuts import render_to_pdf from sigi.shortcuts import render_to_pdf
@ -172,11 +173,20 @@ def categoria_contatos(request, id_diagnostico):
else: else:
# Montando a estrutura das mensagens de erro no formato JSON # Montando a estrutura das mensagens de erro no formato JSON
resposta['mensagem'] = 'erro' 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 form_telefones in form.telefones.forms:
for key, value in form_telefones.errors.iteritems(): if not form_telefones.is_valid():
key = form_telefones.prefix + "-" + key if (form_telefones.fields['id'].initial is not None
resposta['erros'][key] = value 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) json = simplejson.dumps(resposta)
return HttpResponse(json, mimetype="application/json") 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_pdf('diagnosticos/diagnostico_pdf.html', context)
#return render_to_response('diagnosticos/diagnostico_pdf.html', context)
def graficos(request): def graficos(request):
categorias = Categoria.objects.all() categorias = Categoria.objects.all()

6
sigi/templates/diagnosticos/diagnosticos_categoria_contatos_form.html

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

Loading…
Cancel
Save