Browse Source

Inserindo mensagem de erro via AJAX

diagnosticos
Gilson Filho 13 years ago
parent
commit
845038b501
  1. 5
      media/css/diagnosticos/diagnosticos_categorias_form.css
  2. 11
      media/js/diagnosticos/diagnosticos_categorias_form.js
  3. 15
      setup.sh
  4. 4
      sigi/apps/diagnosticos/decorators.py
  5. 9
      sigi/apps/diagnosticos/views.py
  6. 1
      sigi/templates/diagnosticos/diagnosticos_categorias_form.html

5
media/css/diagnosticos/diagnosticos_categorias_form.css

@ -2,3 +2,8 @@
width: 80%;
display: inline-block;
}
span.errors {
display: block;
color: red;
}

11
media/js/diagnosticos/diagnosticos_categorias_form.js

@ -4,11 +4,18 @@ $('#page').live('pageinit', function(event){
url: $(location).attr('href'),
cache: false,
type: 'POST',
success: function() {
success: function(data) {
//Retirando o span existente
$("span.errors").html("");
if (data.mensagem == "erro") {
for (var campo in data.erros) {
$("#"+ campo + " span").html(data.erros[campo].join('\n'))
}
}
},
error: function(msg) {
$("#open-dialog").click()
}
},
});
// remove a resposta vazia da interface

15
setup.sh

@ -19,7 +19,6 @@ requirements="requirements.txt"
easy_install=`find /usr/bin/ -name easy_install`
pip=`find /usr/bin/ -name pip`
git=`find /usr/bin/ -name git`
if [ ! -f $easy_install ] || [ ! -f $pip ]; then
echo "O aplicativo pip é obrigatório. Favor instalar para continuar a configuração do SIGI."
@ -54,6 +53,20 @@ else
sleep 2
cd django-googlecharts
python setup.py install
# Instalando o django-geraldo
echo
echo "Fazendo o checkout do projeto django-geraldo..."
echo
sleep 2
git clone https://github.com/marinho/geraldo.git
echo
echo "Instalando o django-geraldo..."
echo
cd geraldo
python setup.py install
cp -Rvf reporting geraldo /usr/local/lib/python2.7/site-packages
fi
else
echo

4
sigi/apps/diagnosticos/decorators.py

@ -1,8 +1,12 @@
# -*- coding: utf8 -*-
from django.template import RequestContext
from django.shortcuts import render_to_response
from sigi.apps.diagnosticos.models import Diagnostico
from sigi.apps.servidores.models import Servidor
def validate_diagnostico(func):
def decorator(request, id_diagnostico, *args, **kwargs):
""" Retorna 404 caso o diagnostico esteja publicado

9
sigi/apps/diagnosticos/views.py

@ -76,15 +76,10 @@ def categoria_detalhes(request, id_diagnostico, id_categoria):
if form.is_valid():
form.save()
else:
erros = []
for field in form:
if field.errors:
campo = field.name
erros.append(field.errors)
# Montando a estrutura das mensagens de erro no formato JSON
resposta = {
'mensagem': 'erro',
'campo': campo,
'erros': erros
'erros': form.errors
}
json = simplejson.dumps(resposta)
print json

1
sigi/templates/diagnosticos/diagnosticos_categorias_form.html

@ -25,6 +25,7 @@
<div data-role="fieldcontain" id="{{ field.name }}">
<label for="{{ field.name }}">{{ field.label }}</label>
{{ field }}
<span class="errors"></span>
</div>
{% endfor %}
</form>

Loading…
Cancel
Save