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%; width: 80%;
display: inline-block; 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'), url: $(location).attr('href'),
cache: false, cache: false,
type: 'POST', 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) { error: function(msg) {
$("#open-dialog").click() $("#open-dialog").click()
} },
}); });
// remove a resposta vazia da interface // remove a resposta vazia da interface

15
setup.sh

@ -20,7 +20,6 @@ easy_install=`find /usr/bin/ -name easy_install`
pip=`find /usr/bin/ -name pip` pip=`find /usr/bin/ -name pip`
git=`find /usr/bin/ -name git` git=`find /usr/bin/ -name git`
if [ ! -f $easy_install ] || [ ! -f $pip ]; then if [ ! -f $easy_install ] || [ ! -f $pip ]; then
echo "O aplicativo pip é obrigatório. Favor instalar para continuar a configuração do SIGI." echo "O aplicativo pip é obrigatório. Favor instalar para continuar a configuração do SIGI."
sleep 5 sleep 5
@ -54,6 +53,20 @@ else
sleep 2 sleep 2
cd django-googlecharts cd django-googlecharts
python setup.py install 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 fi
else else
echo echo

4
sigi/apps/diagnosticos/decorators.py

@ -1,8 +1,12 @@
# -*- coding: utf8 -*- # -*- coding: utf8 -*-
from django.template import RequestContext
from django.shortcuts import render_to_response
from sigi.apps.diagnosticos.models import Diagnostico from sigi.apps.diagnosticos.models import Diagnostico
from sigi.apps.servidores.models import Servidor from sigi.apps.servidores.models import Servidor
def validate_diagnostico(func): def validate_diagnostico(func):
def decorator(request, id_diagnostico, *args, **kwargs): def decorator(request, id_diagnostico, *args, **kwargs):
""" Retorna 404 caso o diagnostico esteja publicado """ 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(): if form.is_valid():
form.save() form.save()
else: else:
erros = [] # Montando a estrutura das mensagens de erro no formato JSON
for field in form:
if field.errors:
campo = field.name
erros.append(field.errors)
resposta = { resposta = {
'mensagem': 'erro', 'mensagem': 'erro',
'campo': campo, 'erros': form.errors
'erros': erros
} }
json = simplejson.dumps(resposta) json = simplejson.dumps(resposta)
print json print json

1
sigi/templates/diagnosticos/diagnosticos_categorias_form.html

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

Loading…
Cancel
Save