def cargar_imagenes_animal(request): print "carga de imagenes animal" try: datos = json.loads(request.POST['data']) try: if comprobar_usuario(datos): animal_id = datos.get('animal') try: animal_detalle = get_object_or_None(Animal, pk=animal_id) protectora_id = animal_detalle.protectora objeto_protectora = get_object_or_None(Protectora, pk=protectora_id.pk) except: response_data = { 'result': 'error', 'message': 'Animal no encontrado' } return http.HttpResponse(json.dumps(response_data), content_type="application/json") fotos = [] for foto in animal_detalle.imagenanimal_set.all(): fotos.append(str(foto.imagen)) protectora = { "pk": objeto_protectora.pk, "nombre": objeto_protectora.nombre, "provincia": objeto_protectora.provincia.provincia, "direccion": objeto_protectora.direccion, "codigo_postal": objeto_protectora.cod_postal, "descripcion": objeto_protectora.descripcion } response_data = { 'result': 'ok', 'message': 'listado de animales', "foto": fotos, "protectora": protectora } else: response_data = { 'result': 'error', 'message': 'error de token o usuario' } except: response_data = { 'result': 'error', 'message': 'error de token o usuario' } print response_data return http.HttpResponse(json.dumps(response_data), content_type="application/json") except Exception as e: response_data = { 'errorcode': 'U0002', 'result': 'error', 'message': str(e) } return http.HttpResponse(json.dumps(response_data), content_type="application/json")
def cargar_imagenes_protectora(request): print "carga de imagenes protectora" try: datos = json.loads(request.POST['data']) try: if comprobar_usuario(datos): protectora_id = datos.get('protectora') try: protectora_detalle = get_object_or_None(Protectora, pk=protectora_id) except: response_data = { 'result': 'error', 'message': 'Protectora no encontrado' } return http.HttpResponse(json.dumps(response_data), content_type="application/json") fotos = [] for foto in protectora_detalle.imagenprotectora_set.all(): fotos.append(str(foto.imagen)) redes = [] for red in protectora_detalle.redsocial_set.all(): redes.append({ 'pk': red.pk, 'red': red.tipo, 'valor': red.valor }) print redes response_data = { 'result': 'ok', 'message': 'listado de imagenes de protectora', "foto": fotos, "redes": redes } else: response_data = { 'result': 'error', 'message': 'error de token o usuario' } except: response_data = { 'result': 'error', 'message': 'error de token o usuario' } print response_data return http.HttpResponse(json.dumps(response_data), content_type="application/json") except Exception as e: response_data = { 'errorcode': 'U0002', 'result': 'error', 'message': str(e) } return http.HttpResponse(json.dumps(response_data), content_type="application/json")
def cargar_conversaciones(request): print "carga de conversaciones" try: datos = json.loads(request.POST['data']) try: if comprobar_usuario(datos): usuario_id = datos.get("usuario_id") usuario = get_object_or_None(User, pk=usuario_id) conversaciones = Conversacion.objects.filter( usuario=usuario).order_by('-pk') lista_conversaciones = [] for conversacion in conversaciones: protectora = conversacion.protectora.protectora_set.all() protectora_objeto = get_object_or_None(Protectora, pk=protectora) print protectora_objeto lista_conversaciones.append({ 'pk': str(conversacion.pk), 'protectora': { "pk": protectora_objeto.pk, "nombre": protectora_objeto.nombre, "direccion": protectora_objeto.direccion, "codigo_postal": protectora_objeto.cod_postal, "provincia": protectora_objeto.provincia.provincia, "descripcion": protectora_objeto.descripcion } }) response_data = { 'result': 'ok', 'message': 'listado de conversaciones', "lista_conversaciones": lista_conversaciones } else: response_data = { 'result': 'error', 'message': 'error de token o usuario' } except: response_data = { 'result': 'error', 'message': 'error de token o usuario' } return http.HttpResponse(json.dumps(response_data), content_type="application/json") except Exception as e: response_data = { 'errorcode': 'U0002', 'result': 'error', 'message': str(e) } return http.HttpResponse(json.dumps(response_data), content_type="application/json")
def enviar_mensaje_protectora_de_usuario(request): print "enviando mensaje a la protectora y devuelvo mensaje" try: datos = json.loads(request.POST['data']) try: if comprobar_usuario(datos): protectora_id = datos.get('protectora') usuario_id = datos.get('usuario_id') mensaje = datos.get('message') print mensaje try: protectora_objeto = get_object_or_None(Protectora, pk=protectora_id) usuario_objeto = get_object_or_None(User, pk=usuario_id) except: response_data = { 'result': 'error', 'message': 'Protectora o Usuario no encontrados' } return http.HttpResponse(json.dumps(response_data), content_type="application/json") admin_protectora = protectora_objeto.admin.pk usuario_objeto2 = get_object_or_None(User, pk=admin_protectora) conversacion = Conversacion.objects.filter( usuario=usuario_objeto) if conversacion is not None: conversacion = conversacion.filter( protectora=usuario_objeto2) if conversacion is not None: conversacion = get_object_or_None( Conversacion, protectora=usuario_objeto2, usuario=usuario_objeto) else: conversacion = Conversacion.objects.create( protectora=usuario_objeto2, usuario=usuario_objeto) conversacion.save() else: conversacion = Conversacion.objects.create( protectora=usuario_objeto2, usuario=usuario_objeto) conversacion.save() mensaje = Mensaje.objects.create(usuario=usuario_objeto, mensaje=mensaje, conversacion=conversacion) mensaje.save() if mensaje.usuario.username == usuario_objeto.username: emisario = "usuario" else: emisario = "protectora" lista_conversaciones = [] lista_conversaciones.append({ 'pk': mensaje.pk, 'usuario': { 'username': usuario_objeto.username, 'nombre': usuario_objeto.first_name, 'apellidos': usuario_objeto.last_name, 'email': usuario_objeto.email, 'telefono': usuario_objeto.datosextrauser.telefono, 'direccion': usuario_objeto.datosextrauser.direccion, 'codigo_postal': usuario_objeto.datosextrauser.cod_postal, 'provincia': usuario_objeto.datosextrauser.provincia.provincia, 'foto': str(usuario_objeto.datosextrauser.imagen) }, 'protectora': { 'pk': protectora_objeto.pk, 'nombre': protectora_objeto.nombre, 'direccion': protectora_objeto.direccion, 'codigo_postal': protectora_objeto.cod_postal, 'provincia': protectora_objeto.provincia.provincia, 'descripcion': protectora_objeto.descripcion }, 'mensaje': mensaje.mensaje, 'emisario': emisario, 'hora': str(mensaje.hora) }) response_data = { 'result': 'ok', 'message': 'mensaje enviado', 'lista_conversaciones': lista_conversaciones } else: response_data = { 'result': 'error', 'message': 'error de token o usuario' } except: response_data = { 'result': 'error', 'message': 'error de token o usuario' } print response_data return http.HttpResponse(json.dumps(response_data), content_type="application/json") except Exception as e: response_data = { 'errorcode': 'U0002', 'result': 'error', 'message': str(e) } return http.HttpResponse(json.dumps(response_data), content_type="application/json")
def cargar_mensajes(request): print "carga de mensajes" try: datos = json.loads(request.POST['data']) print datos try: if comprobar_usuario(datos): usuario_id = datos.get("usuario_id") usuario = get_object_or_None(User, pk=usuario_id) protectora_id = datos.get("id_protectora") protectora = get_object_or_None(Protectora, pk=protectora_id) protectora_usuario = protectora.admin.pk protectora_usuario = get_object_or_None(User, pk=protectora_usuario) conversacion = Conversacion.objects.filter(usuario=usuario) lista_conversaciones = [] if conversacion is not None: conversacion = conversacion.filter( protectora=protectora_usuario) if conversacion is not None: mensajes = Mensaje.objects.filter( conversacion=conversacion) for mensaje in mensajes: if mensaje.usuario.pk == usuario.pk: emisario = "usuario" else: emisario = "protectora" lista_conversaciones.append({ 'pk': mensaje.pk, 'usuario': { 'username': usuario.username, 'nombre': usuario.first_name, 'apellidos': usuario.last_name, 'email': usuario.email, 'telefono': usuario.datosextrauser.telefono, 'direccion': usuario.datosextrauser.direccion, 'codigo_postal': usuario.datosextrauser.cod_postal, 'provincia': usuario.datosextrauser.provincia.provincia, 'foto': str(usuario.datosextrauser.imagen) }, 'protectora': { 'pk': protectora.pk, 'nombre': protectora.nombre, 'direccion': protectora.direccion, 'codigo_postal': protectora.cod_postal, 'provincia': protectora.provincia.provincia, 'descripcion': protectora.descripcion }, 'mensaje': mensaje.mensaje, 'emisario': emisario, 'hora': str(mensaje.hora) }) response_data = { 'result': 'ok', 'message': 'listado de conversaciones', "lista_conversaciones": lista_conversaciones } else: response_data = { 'result': 'error', 'message': 'error de token o usuario' } print response_data except: response_data = { 'result': 'error', 'message': 'error de token o usuario' } return http.HttpResponse(json.dumps(response_data), content_type="application/json") except Exception as e: response_data = { 'errorcode': 'U0002', 'result': 'error', 'message': str(e) } return http.HttpResponse(json.dumps(response_data), content_type="application/json")
def enviar_mensaje_protectora(request): print "enviando mensaje a la protectora" try: datos = json.loads(request.POST['data']) try: if comprobar_usuario(datos): protectora_id = datos.get('protectora') usuario_id = datos.get('usuario_id') mensaje = datos.get('message') print mensaje try: protectora_objeto = get_object_or_None(Protectora, pk=protectora_id) usuario_objeto = get_object_or_None(User, pk=usuario_id) except: response_data = { 'result': 'error', 'message': 'Protectora o Usuario no encontrados' } return http.HttpResponse(json.dumps(response_data), content_type="application/json") admin_protectora = protectora_objeto.admin.pk usuario_objeto2 = get_object_or_None(User, pk=admin_protectora) conversacion = get_object_or_None(Conversacion, protectora=usuario_objeto2, usuario=usuario_objeto) print conversacion if conversacion is None: conversacion = Conversacion.objects.create( protectora=usuario_objeto2, usuario=usuario_objeto) conversacion.save() print conversacion else: conversacion = get_object_or_None( Conversacion, protectora=usuario_objeto2, usuario=usuario_objeto) print conversacion mensaje = Mensaje.objects.create(usuario=usuario_objeto, mensaje=mensaje, conversacion=conversacion) mensaje.save() response_data = {'result': 'ok', 'message': 'mensaje enviado'} else: response_data = { 'result': 'error', 'message': 'error de token o usuario' } except: response_data = { 'result': 'error', 'message': 'error de token o usuario' } print response_data return http.HttpResponse(json.dumps(response_data), content_type="application/json") except Exception as e: response_data = { 'errorcode': 'U0002', 'result': 'error', 'message': str(e) } return http.HttpResponse(json.dumps(response_data), content_type="application/json")
def dar_mg(request): print "dar/quitar mg" try: datos = json.loads(request.POST['data']) try: usuario_id = datos.get('usuario_id') token = datos.get('token') animal_id = datos.get('animal') megusta = datos.get('me_gusta') print usuario_id print token if comprobar_usuario(datos): usuario = get_object_or_None(User, pk=usuario_id) animal = get_object_or_None(Animal, pk=animal_id) if animal is not None: if megusta == "true": mg = MeGusta.objects.filter(usuario=usuario) if mg is not None: mg = mg.filter(animal=animal) if mg is not None: mg.delete() response_data = { 'result': 'ok', 'message': 'Se ha quitado mg correctamente' } else: mg = MeGusta.objects.create(animal=animal, usuario=usuario) mg.save() response_data = { 'result': 'ok', 'message': 'Se ha dado mg correctamente' } else: response_data = { 'result': 'ok', 'message': 'no hay animal' } else: response_data = { 'result': 'error', 'message': 'error de token o usuario' } except: response_data = { 'result': 'error', 'message': 'error de token o usuario' } print response_data return http.HttpResponse(json.dumps(response_data), content_type="application/json") except Exception as e: response_data = { 'errorcode': 'U0002', 'result': 'error', 'message': str(e) } return http.HttpResponse(json.dumps(response_data), content_type="application/json")
def cargar_animales_me_gusta(request): print "carga de animales que gustan" try: datos = json.loads(request.POST['data']) try: token = datos.get('token') usuario_id = datos.get('usuario_id') if comprobar_usuario(datos): usuario = get_object_or_None(User, pk=usuario_id) animales = MeGusta.objects.filter(usuario=usuario) lista_animales = [] lista_mg = [] for mg in animales: lista_mg.append(mg.animal) for animal in lista_mg: fotos = [] for foto in animal.imagenanimal_set.all(): fotos.append(str(foto.imagen)) meGusta = False animales = MeGusta.objects.filter(animal=animal) if animales.count() > 0: animales = animales.filter(usuario=usuario) if animales.count() > 0: meGusta = True lista_animales.append({ "pk": animal.pk, "nombre": animal.nombre, "raza": animal.raza.nombre, "mascota": animal.mascota, "color": animal.color, "edad": animal.edad, "pelaje": animal.tipo_pelaje, "sexo": animal.sexo, "tamano": animal.tamano, "peso": animal.peso, "enfermedad": animal.enfermedad, "vacuna": animal.vacuna, "chip": animal.chip, "descripcion": animal.descripcion, # "fecha": animal.fecha, "estado": animal.estado, "id_protectora": animal.protectora.pk, "foto": fotos[0], "me_gusta": meGusta }) if len(lista_animales) == 0: response_data = { 'result': 'ok_sin_animales', 'message': 'no hay animales con dichos filtros' } else: response_data = { 'result': 'ok', 'message': 'listado de animales', "lista_animales": lista_animales } else: response_data = { 'result': 'error', 'message': 'error de token o usuario' } except: response_data = { 'result': 'error', 'message': 'error de token o usuario' } print response_data return http.HttpResponse(json.dumps(response_data), content_type="application/json") except Exception as e: response_data = { 'errorcode': 'U0002', 'result': 'error', 'message': str(e) } return http.HttpResponse(json.dumps(response_data), content_type="application/json")
def cargar_protectoras(request): print "carga de protectoras" try: datos = json.loads(request.POST['data']) try: if comprobar_usuario(datos): protectoras = Protectora.objects.all() try: comunidad = datos.get('comunidad_autonoma') if comunidad: objeto_comunidad = get_object_or_None( ComunidadAutonoma, comunidad_autonoma=comunidad) protectoras = protectoras.filter( provincia__comunidad_autonoma=objeto_comunidad) print protectoras except: pass try: provincia = datos.get('provincia') if provincia: objeto_provincia = get_object_or_None( Provincia, provincia=provincia) protectoras = protectoras.filter( provincia=objeto_provincia) except: pass lista_protectoras = [] for protectora in protectoras: lista_protectoras.append({ "pk": protectora.pk, "nombre": protectora.nombre, "direccion": protectora.direccion, "codigo_postal": protectora.cod_postal, "provincia": protectora.provincia.provincia, "descripcion": protectora.descripcion }) if len(lista_protectoras) == 0: response_data = { 'result': 'ok_sin_protectoras', 'message': 'no hay protectoras con dichos filtros' } else: response_data = { 'result': 'ok', 'message': 'listado de protectoras', "lista_protectoras": lista_protectoras } else: response_data = { 'result': 'error', 'message': 'error de token o usuario' } print response_data except: response_data = { 'result': 'error', 'message': 'error de token o usuario' } return http.HttpResponse(json.dumps(response_data), content_type="application/json") except Exception as e: response_data = { 'errorcode': 'U0002', 'result': 'error', 'message': str(e) } return http.HttpResponse(json.dumps(response_data), content_type="application/json")