def crear_comentario(usuario, evento, comentario): # type: (Usuario, Evento, {unicode|str:object}) -> Comentario """ :param usuario: Usuario que crea o edita el comentario :param evento: Evento al que pertenece el comentario :param comentario: comentario que se está creando o comentario que se está modificando :return: el Comentario nuevo """ if u'texto' not in comentario or not isinstance(comentario[u'texto'], (str, unicode)) or not comentario[u'texto']: raise AgendamlgException.comentario_campos_invalidos() otro_comentario = Comentario.query(Comentario.creador == usuario.key, ancestor=evento).fetch() if otro_comentario: raise AgendamlgException.usuario_ya_ha_comentado(usuario.idGoogle) comentario = Comentario( parent=evento, creador=usuario.key, texto=comentario[u'texto'], fecha=to_utc() ) if 0 < usuario.tipo < 4: comentario.put() return comentario else: raise NotAuthenticatedException.no_autenticado()
def alojamientos_id(request,id): lista=Hotel.objects.get(id=id) listimages=Imagen.objects.filter(hid=lista.id) listauser=PaginaUsuario.objects.all() listcoms="" if request.method == 'POST': h_us = HotelesUsuario(hotel=lista,user=request.user.username) if request.method =='POST': value = request.POST.get('comentarios', "") if value !="": cot=Comentario(hid=lista.id,com=lista,text=value) cot.save() else: h_us.save() listcoms=Comentario .objects.filter(hid=lista.id) context = {'lista':listimages[0:5],'condicion':"",'url':lista.url,'name':lista.name, 'address':lista.address,'comentarios':listcoms,'type':lista.tipo,'stars':lista.stars, 'user':request.user.username,'listausers':listauser} if request.user.is_authenticated(): us=PaginaUsuario.objects.get(user=request.user.username) context = {'lista':listimages[0:5],'condicion':"",'url':lista.url,'name':lista.name, 'address':lista.address,'comentarios':listcoms,'type':lista.tipo,'stars':lista.stars, 'color':us.color,'size':us.size,'user':request.user.username,'listausers':listauser} return render_to_response('alojamiento_id.html', context,context_instance = RequestContext(request))
def GuardarComentario(request, actividad): usuario = BuscarUsuario(request.user.username) fecha = datetime.now() contenido = request.POST.get("message") comentario = Comentario(usuario=usuario, actividad=actividad, fecha=fecha, contenido=contenido) comentario.save() return "<p>Mensaje guardado correctamente</p>\n"
def add_comments(events): melchor = user_id(u'113090457812971237278') john = user_id(u'107740629189585787589') antonio = user_id(u'117448827855359481250') manu = user_id(u'101525104652157188456') rand = random.randint for i in range(len(events)): day = i * 2 + 5 month = 1 + day / 31 day = 1 + day % 31 Comentario(texto=u'¡¡ Madre mia como mola !!', fecha=to_utc( dt(year=2018, month=month, day=day, hour=10 + i / 2, minute=rand(0, 59), second=rand(0, 59))), creador=manu, parent=events[i]).put() if (i % 3) == 0: Comentario(texto=u'Ostia tu, m\'agrada això, asistiré 😁', fecha=to_utc( dt(year=2018, month=month, day=day, hour=18 + (i % 5), minute=rand(0, 59), second=rand(0, 59))), creador=melchor, parent=events[i]).put() elif (i % 3) == 1: Comentario( texto= u'Eh, una pena que no pueda ir, el horario me va mal :( Pero me gustaria ir, tiene buena pinta', fecha=to_utc( dt(year=2018, month=month, day=day, hour=12 + (i % 4), minute=rand(0, 59), second=rand(0, 59))), creador=john, parent=events[i]).put() elif (i % 3) == 2: Comentario(texto=u'⬆️😁💪🏿', fecha=to_utc( dt(year=2018, month=month, day=day, hour=14 + (i % 7), minute=rand(0, 59), second=rand(0, 59))), creador=antonio, parent=events[i]).put()
def escribirComentario(request,idh): if request.user.is_authenticated(): #username = request.user.username comentario = request.POST.get("comentario") alojamiento = Alojamiento.objects.get(id=idh) nuevo_comentario = Comentario(cuerpo=comentario, alojamiento_id=alojamiento) nuevo_comentario.save() return HttpResponseRedirect("/alojamientos/" + str(idh)) else: return HttpResponseRedirect("/alojamientos/" + str(idh))
def incluirComentario(request, id): if request.user.is_authenticated(): username = request.user.username cuerpo = request.POST.get("comentario") alojamiento = Alojamiento.objects.get(id = id) coment = Comentario(cuerpo=strip_tags(cuerpo), alojamiento_id = alojamiento) coment.save() return HttpResponseRedirect("/alojamientos/" + str(id)) else: return HttpResponseRedirect("/alojamientos/" + str(id))
def post(self): nickname = self.request.get('nickname') comentario = self.request.get('comentario') user = Usuario(nombreusuario = nickname, email = users.GetCurrentUser().email()) user.put() coment = Comentario(usuario = user, comentario = comentario) coment.put() webapp2.redirect('/listaComentarios') return webapp2.redirect('/listaComentarios')
def mostrarAlojamientoId(request, ident): if request.user.is_authenticated(): logged = True nombreUser = request.user.username try: user = User.objects.get(username=nombreUser) except User.DoesNotExist: print "Fallo aqui" else: logged = False nombreUser = "******" hotel = Hoteles.objects.get(id=int(ident)) encontrado = True buscar = True if request.method == 'POST': comentario = Comentario(body=request.POST['comment'], Hotel_id=int(ident), Nombre_comentario=nombreUser) if buscar == True: try: comentario = Comentario.objects.get( Hotel_id=int(ident), Nombre_comentario=nombreUser) print "busco y existe" except Comentario.DoesNotExist: encontrado = False if encontrado == False: comentario.save() print "guardo" try: hotel = Hoteles.objects.get(id=ident) imagenes = Imagen.objects.filter(Hotel_id=ident) comentario = Comentario.objects.filter(Hotel_id=ident) except Hoteles.DoesNotExist: return redirect("/alojamientos") #respuesta += '<li><a href="/incluirFavorito">Incluir este alojamiento en Favoritos :)</a></li>' #except Comentario.DoesNotExist: # comentario = "" template = get_template('alojamientoId.html') Context = RequestContext( request, { 'username': nombreUser, 'logged': logged, 'hotel': hotel, 'imagenes': imagenes, 'comentarios': comentario, }) return HttpResponse(template.render(Context))
def addComment(request,id): global longitud longitud =10 ho = Hotel.objects.get(id=id) if (request.method == "POST") : if len(request.POST['coment']) != 0: comentario = request.POST['coment'] ho.nComentario = ho.nComentario + 1 ho.save() object_comentario = Comentario(comentario=comentario,hotelId=ho.id,fecha=datetime.now()) object_comentario.save() return HttpResponseRedirect('/alojamientos/' + str(ho.id) )
def delete(self): ndb.delete_multi(Comentario.query().fetch(keys_only=True)) ndb.delete_multi(MeGusta.query().fetch(keys_only=True)) ndb.delete_multi(Evento.query().fetch(keys_only=True)) ndb.delete_multi(Usuario.query().fetch(keys_only=True)) ndb.delete_multi(Categoria.query().fetch(keys_only=True)) self.response.unicode_body = u'{"True": "👌🏿"}'
def addcomentario(request): if request.method == "POST": nick = request.user.username usuario = User.objects.get(username=nick) hotel = Hotel.objects.get(id=request.POST.get('identificador')) try: comentado = Comentario.objects.get(user=usuario, hotel=hotel) except ObjectDoesNotExist: titulo = request.POST.get('titulo') comentario = request.POST.get('comentario') savecom = Comentario(user=usuario, hotel=hotel, titulo=titulo, comentario=comentario) savecom.save() return HttpResponseRedirect("/alojamientos/" + str(hotel.id)) return HttpResponseRedirect("/alojamientos/" + str(hotel.id)) else: return HttpResponse("Not Found")
def add_comentario(request, pk): """Add a new comment.""" p = request.POST if p.has_key("comentario") and p["comentario"]: author = "Anônimo" if p["nome"]: nome = p["nome"] comment = Comentario(post=Postagem.objects.get(pk=pk)) cf = CommentForm(p, instance=comment) cf.fields["nome"].required = False comment = cf.save(commit=False) comment.author = author comment.save() return HttpResponseRedirect(reverse("postagens.views.blog_post", args=[pk]))
def post(self, comentario_id): iden = int(comentario_id) nickname = self.request.get('nickname') comentario = self.request.get('comentario') user = Usuario(nombreusuario = nickname, email = users.GetCurrentUser().email()) user.put() coment = Comentario(usuario = user, comentario = comentario) coment.put() comentarioAntiguo = db.get(db.Key.from_path('Comentario', iden)) db.delete(comentarioAntiguo) return webapp2.redirect('/listaComentarios')
def putcomment(request, recurso): actividad = Actividad.objects.get(id = recurso) comentario = Comentario(tituloactividad=actividad.titulo, comentario=request.POST['comentario']) comentario.save() try: usuario = Comments.objects.get(user=request.user.username, titulo =actividad.titulo) except: usuario = Comments(user=request.user.username, titulo =actividad.titulo) usuario.save() usuario.comments.add(comentario) usuario.save() return HttpResponseRedirect("/")
def coment_sucesso(request, id): form = CommentForm(request.POST or None) if request.method == 'POST' and form.is_valid(): post = Post.objects.get(id=id) print form.cleaned_data['comentario'] comentario = Comentario() comentario.post = post comentario.email = request.POST['email'] comentario.nome = request.POST['nome'] comentario.comentario = form.cleaned_data['comentario'] print comentario.id comentario.save() print comentario.id html = Template("""<a href="{% url 'home' %}">Página inicial</a></br> <h2>Comentario postado com sucesso no post {{id}}</h2> """).render(Context({'id' : id})) return HttpResponse(html) else: post = get_object_or_404(Post, id=id) # Formulário já volta preenchido da view form = CommentForm(request.POST or None) comentarios = Comentario.objects.filter(post=post) return render(request, 'detalhePost.html', {'post' : post, 'comentarios' : comentarios, 'form' : form})
def do_it(): ndb.delete_multi(Comentario.query().fetch(keys_only=True)) ndb.delete_multi(MeGusta.query().fetch(keys_only=True)) ndb.delete_multi(Evento.query().fetch(keys_only=True)) ndb.delete_multi(Usuario.query().fetch(keys_only=True)) ndb.delete_multi(Categoria.query().fetch(keys_only=True)) add_categories() add_users() add_events()
def mostrarAlojamientoId(request, ident): if request.user.is_authenticated(): logged = True nombreUser = request.user.username try: user = User.objects.get(username = nombreUser) except User.DoesNotExist: print "Fallo aqui" else: logged = False nombreUser = "******" hotel = Hoteles.objects.get(id=int(ident)) encontrado = True buscar = True if request.method == 'POST': comentario = Comentario(body = request.POST['comment'], Hotel_id = int(ident), Nombre_comentario = nombreUser) if buscar == True: try: comentario = Comentario.objects.get(Hotel_id = int(ident),Nombre_comentario=nombreUser) print "busco y existe" except Comentario.DoesNotExist: encontrado = False if encontrado == False: comentario.save() print "guardo" try: hotel= Hoteles.objects.get(id=ident) imagenes = Imagen.objects.filter(Hotel_id=ident) comentario = Comentario.objects.filter(Hotel_id=ident) except Hoteles.DoesNotExist: return redirect("/alojamientos") #respuesta += '<li><a href="/incluirFavorito">Incluir este alojamiento en Favoritos :)</a></li>' #except Comentario.DoesNotExist: # comentario = "" template = get_template('alojamientoId.html') Context = RequestContext (request,{ 'username': nombreUser, 'logged': logged, 'hotel': hotel, 'imagenes': imagenes, 'comentarios':comentario,}) return HttpResponse(template.render(Context))
def ingresar_comentario(): if request.method == 'POST': if not request.form['contenido']: return render_template('error.html', error="Contenido no ingresado...") else: nuevo_comentario = Comentario(fecha=datetime.now(), contenido=request.form['contenido'], usuario_id=request.form['userId']) db.session.add(nuevo_comentario) db.session.commit() return render_template('inicio.html') return render_template('inicio.html')
def buscar_comentarios_evento(usuario, evento): # type: (Usuario|None, ndb.Key) -> [Comentario] """ :param usuario: usuario de la sesión, o 'None' :param evento: buscamos los comentarios de este evento :return: """ evento = evento.get() tipo = usuario.tipo if usuario else 1 if evento is not None and (tipo == 3 or evento.validado or usuario.key == evento.key.parent()): q = Comentario.query(ancestor=evento.key).order(-Comentario.fecha) return q.fetch() else: raise AgendamlgNotFoundException.evento_no_existe(evento.urlsafe())
def get(self): listaComentarios = Comentario.all(); user = users.get_current_user() if user: logeado = True else: logeado = False UsuarioActual = users.GetCurrentUser().email(); self.render_template('listaComentarios.html', {'listaComentarios': listaComentarios, 'logeado':logeado, 'UsuarioActual':UsuarioActual})
def eliminar_comentario(usuario, evento): # type: (Usuario, ndb.Key) -> None """ :param usuario: usuario que elimina el comentario :param evento: evento al que eliminar el comentario del usuario :return: """ comentario = Comentario.query(Comentario.creador == usuario.key, ancestor=evento).fetch() if not comentario: AgendamlgNotFoundException.comentario_no_existe(evento.urlsafe()) comentario = comentario[0] if usuario.tipo == 3 or usuario.key == comentario.creador: comentario.key.delete() else: raise AgendamlgException.sin_permisos(usuario.idGoogle)
def wallposts_by_user(self, id): self.open_connection() cur = con.cursor() cur.execute( 'SELECT c.id, c.texto, c.fecha, u_postea.nombres, u_postea.apellidos, u_postea.foto, u_postea.id u_postea, im.imagen from usuario u, usuario u_postea, comentario c left join imagen im on im.id=c.idimagen where c.idusuario_comenta = u.id and ' 'c.idusuario_postea = u_postea.id and u.id = %s order by c.fecha desc', id) result = cur.fetchall() comentarios = [] for row in result: cur.execute( 'SELECT c.id, c.texto, c.fecha, u.nombres, u.apellidos, u.foto, u.id u_postea FROM comentario c, usuario u where idcomentario = %s and u.id = c.idusuario_postea order by c.fecha', row['id']) sub_comentarios = cur.fetchall() c = Comentario(row['id'], row['texto'], row['fecha'], row['nombres'], row['apellidos'], row['foto'], row['u_postea'], api.pretty_date(row['fecha']), row['imagen'], sub_comentarios) comentarios.append(c) return comentarios
def info_museo(request, id): if request.method == "POST": if request.user.is_authenticated(): usuario = request.user try: museo = Museo.objects.get(id=id) except: value = "Museo no disponible" value += '<br><a href="/">Volver</a>' return HttpResponse(value) favorito = request.POST.get("favorito") if favorito: coleccion = Coleccion() coleccion.perfil = Perfil.objects.get(usuario=usuario.username) coleccion.museo = museo coleccion.save() quitar_favorito = request.POST.get("quitar") if quitar_favorito: perfil = Perfil.objects.get(usuario=usuario.username) coleccion = Coleccion.objects.filter(perfil=perfil,museo=museo).delete() comentando = request.POST.get('comentando') if comentando: contenido = request.POST.get('contenido') if contenido: comentario = Comentario() comentario.contenido = contenido comentario.museo = museo comentario.save() museo.numComentario = museo.numComentario + 1 museo.save() return HttpResponseRedirect("/museos/"+str(id)) else: try: museo = Museo.objects.get(id=id) comentarios = Comentario.objects.filter(museo=museo) seleccionado = False if request.user.is_authenticated(): perfil = Perfil.objects.get(usuario=request.user.username) coleccion = Coleccion.objects.filter(museo=museo,perfil=perfil) if coleccion: seleccionado = True context ={ 'museo':museo, 'comentarios':comentarios, 'seleccionado': seleccionado } return render(request, 'museo.html',context) except: value = "Museo no disponible" value += '<br><a href="/">Volver</a>' return HttpResponse(value)
def post(self, evento_id): iden = int(evento_id) evento = Eventos.get_by_id(iden) usuarioSesion = users.get_current_user() email = usuarioSesion.email() usuario = Usuario.query().filter(Usuario.email == email).get() comentario = Comentario(autor = usuario, comentario = self.request.get('comentario') ) if not evento.comentarios: evento.comentarios = [comentario] else: evento.comentarios.append(comentario) evento.put() return webapp2.redirect('/open/'+evento_id)
def paris_restaurante(request, restaurante_id): restaurante = Restaurante.objects.get(id=restaurante_id) if request.method == 'POST': comentario = Comentario() comentario.autor = request.POST.get('autor') comentario.descricao = request.POST.get('descricao') comentario.restaurante = restaurante comentario.save() comentarios = Comentario.objects.filter(restaurante_id=restaurante.id) return render(request, 'Restaurante_detalhe.html', locals())
def novo_comentario(request): try: c = Comentario(); c.autor = request.POST['autor']; c.comentario = request.POST['comentario']; artigo = Artigo.objects.get(id = request.POST['id_artigo']); m = Mail() m.send('O artigo %s recebeu um comentário, corre lá...' %artigo.titulo) except Artigo.DoesNotExist: return _404(request) c.artigo = artigo; c.save(); comentarios = Comentario.objects.filter(artigo = artigo.id) return render_to_response('artigo.html', {'artigo' : artigo, 'comentarios':comentarios}, context_instance=RequestContext(request));
def comentar(request): context = RequestContext(request) if request.method == 'POST': nombre = request.POST['nombre'] mensaje = request.POST['mensaje'] id_post = request.POST['id'] comentario = Comentario() comentario.mensaje = mensaje comentario.nombre = nombre comentario.entrada = Entrada.objects.get(id=id_post) comentario.save() comentarioReturn = {"nombre": comentario.nombre, "fecha": "Ahora", "mensaje":comentario.mensaje} return HttpResponse(json.dumps(comentarioReturn), content_type="application/json") return None
def get(self): self.response.headers.add_header('Access-Control-Allow-Origin', '*') self.response.headers['Content-Type'] = 'application/json' """id_empresa = self.request.get('empresa') objemp = Empresa.query(Empresa.codigo_empresa == id_empresa).get() strKey = objemp.key.urlsafe() myEmpKey = ndb.Key(urlsafe=strKey) myComentarios = Comentario.query(Comentario.empresa_key == myEmpKey) """ myComentarios = Comentario.query() myList = [] for i in myComentarios: myObj = DemoClass() myObj.title = i.title myObj.description = i.description myObj.urlImage = i.urlImage myList.append(myObj) json_string = json.dumps(myList, default=MyClass) self.response.write(json_string)
def novo_comentario(request): try: c = Comentario() c.autor = request.POST['autor'] c.comentario = request.POST['comentario'] artigo = Artigo.objects.get(id=request.POST['id_artigo']) m = Mail() m.send('O artigo %s recebeu um comentário, corre lá...' % artigo.titulo) except Artigo.DoesNotExist: return _404(request) c.artigo = artigo c.save() comentarios = Comentario.objects.filter(artigo=artigo.id) return render_to_response('artigo.html', { 'artigo': artigo, 'comentarios': comentarios }, context_instance=RequestContext(request))
def pag_alojamiento(request, identificador): hotel = Hotel.objects.get(id=int(identificador)) titulo = hotel.nombre http_Resp = "" info_ingles = "" info_frances = "" autenticado = request.user.is_authenticated() if autenticado == True: http_Resp += Seleccionar(request.user.username, hotel.id) http_Resp += filtrar_idiomas(hotel.id) metodo = request.method if metodo == "POST" and request.POST.get("tipo") == "Idioma": idioma = request.POST.get("Idioma") if idioma == "en": info_ingles += info_otro_idioma(idioma, hotel.nombre) elif idioma == "fr": info_frances += info_otro_idioma(idioma, hotel.nombre) http_Resp += "<p><h3><font color='blue'>Datos generales</font></h3></p>" http_Resp += "<p>Email: " + hotel.email + "</p>" http_Resp += "<p>Telefono: " + hotel.phone + "</p>" http_Resp += "<p>Pagina hotel: <a href='" + hotel.web + "'>" + hotel.nombre + "</a></p>" http_Resp += "<p><h4>" + hotel.body + "</h4></p>" http_Resp += "<p><h3><font color='blue'>Datos de localizacion</font></h3></p>" http_Resp += "<p>Dirrecion: " + hotel.direccion + "</p>" http_Resp += "<p>Codigo postal: " + hotel.zipcode + "</p>" http_Resp += "<p>Pais: " + hotel.pais + "</p>" http_Resp += "<p>Cuidad: " + hotel.cuidad + "</p>" http_Resp += "<p>Latitud: " + hotel.latitud + "</p>" http_Resp += "<p>Longitud: " + hotel.longitud + "</p>" http_Resp += "<p><h3><font color='blue'>Imagenes hotel</font></h3></p>" imagenes = hotel.imagenes try: imagen_1 = imagenes.split("http://")[1].split("'")[0] imagen_1 = "http://" + imagen_1 http_Resp += '<p><img src="' + imagen_1 + '"width="400" height="200" border="2"></p>' imagen_2 = imagenes.split("http://")[2].split("'")[0] imagen_2 = "http://" + imagen_2 http_Resp += '<p><img src="' + imagen_2 + '"width="400" height="200" border="2"></p>' imagen_3 = imagenes.split("http://")[3].split("'")[0] imagen_3 = "http://" + imagen_3 http_Resp += '<p><img src="' + imagen_3 + '"width="400" height="200" border="2"></p>' imagen_4 = imagenes.split("http://")[4].split("'")[0] imagen_4 = "http://" + imagen_4 http_Resp += '<p><img src="' + imagen_4 + '"width="400" height="200" border="2"></p>' imagen_5 = imagenes.split("http://")[5].split("'")[0] imagen_5 = "http://" + imagen_5 http_Resp += '<p><img src="' + imagen_5 + '"width="400" height="200" border="2"></p>' except IndexError: pass http_Resp += "<p><h3><font color='blue'>Comentarios:</font></h3></p>" comentarios = Comentario.objects.filter(id_hotel=hotel.id) if len(comentarios) == 0: http_Resp += "<p>Para este hotel no hay comentarios disponibles.</p>" else: for comentario in comentarios: http_Resp += "<li>" + comentario.comentario autenticado = request.user.is_authenticated() if autenticado == True: user = Usuario.objects.get(nombre=request.user.username) color = user.color_fondo http_Resp += "<p><h3><font color='blue'>Introducir un comentario:</font></h3></p>" http_Resp += Comentar(request.user.username, hotel.id) metodo = request.method if metodo == "POST" and request.POST.get("tipo") == "Comentario": comentario = request.POST.get("Comentario") new_comentario = Comentario(id_hotel=hotel.id, comentario=comentario) new_comentario.save() hotel.num_comentarios = hotel.num_comentarios + 1 hotel.save() return HttpResponseRedirect("/alojamientos" + str(hotel.id)) else: http_Resp += "<h4><font color='red'>No puedes comentar si no estas registado!</font></h4>" color = 'default' if info_ingles != "": contenido = info_ingles elif info_frances != "": contenido = info_frances else: contenido = http_Resp tipo = "pag NO principal" menu = obtener_menu(tipo) enlaces = "" return render( request, 'dreamy/index.html', { "contenido": contenido, "menu": menu, "titulo": titulo, "enlaces_personales": enlaces, 'autenticado': request.user.is_authenticated(), 'usuario': request.user.username, 'form': LoginUsuario(), 'color': color })
def addData(self): #ESTO ES PARA INICIALIZAR LA BASE DE DATOS q = db.GqlQuery("SELECT * FROM Modulo") resetearModulos = q.fetch(10) db.delete(resetearModulos) modulo1 = Modulo(nombremodulo='Modulo1', valoralpha=1.2, valorbeta=3.4, valorgamma=9.3, valorkappa=39.2, idealidad=100.0, resistencia=39.4, rendimiento=20.0, localizacion=db.GeoPt( 52.37, 4.88)) #hay un rango de valores algo estrecho modulo2 = Modulo(nombremodulo='Modulo2', valoralpha=1.4, valorbeta=3.6, valorgamma=32.1, valorkappa=31.1, idealidad=10.0, resistencia=30.4, rendimiento=65.0, localizacion=db.GeoPt(12.37, 87.88)) modulo1.put() modulo2.put() q1 = db.GqlQuery("SELECT * FROM Campanya") resetearCampanyas = q1.fetch(10) db.delete(resetearCampanyas) campanya1 = Campanya(modulo=modulo1, fecha=datetime(2018, 12, 30), nombrecampanya='Dic18') campanya2 = Campanya(modulo=modulo1, fecha=datetime(2018, 11, 30), nombrecampanya='Nov18') campanya3 = Campanya(modulo=modulo1, fecha=datetime(2018, 11, 30), nombrecampanya='Nov18') campanya4 = Campanya(modulo=modulo1, fecha=datetime(2018, 7, 30), nombrecampanya='Jul18') campanya5 = Campanya(modulo=modulo2, fecha=datetime(2018, 9, 30), nombrecampanya='Sep18') campanya6 = Campanya(modulo=modulo2, fecha=datetime(2018, 8, 30), nombrecampanya='Ago18') campanya7 = Campanya(modulo=modulo2, fecha=datetime(2018, 1, 30), nombrecampanya='Ene18') campanya8 = Campanya(modulo=modulo2, fecha=datetime(2017, 12, 30), nombrecampanya='Dic17') campanya1.put() campanya2.put() campanya3.put() campanya4.put() campanya5.put() campanya6.put() campanya7.put() campanya8.put() q1 = db.GqlQuery("SELECT * FROM Usuario") resetearUsuarios = q1.fetch(10) db.delete(resetearUsuarios) usuario1 = Usuario(nombreusuario='juanito1', email='*****@*****.**') usuario2 = Usuario(nombreusuario='juanito2', email='*****@*****.**') usuario3 = Usuario(nombreusuario='pruebaparaingweb', email='*****@*****.**') usuario4 = Usuario(nombreusuario='test', email='*****@*****.**') usuario1.put() usuario2.put() usuario3.put() usuario4.put() q2 = db.GqlQuery("SELECT * FROM Comentario") resetearComentarios = q2.fetch(10) db.delete(resetearComentarios) comentario1 = Comentario(usuario=usuario1, comentario='esto esta bien') comentario1.put() comentario2 = Comentario(usuario=usuario4, comentario='test comment') comentario2.put() comentario3 = Comentario(usuario=usuario4, comentario='test comment 2') comentario3.put() comentario4 = Comentario(usuario=usuario4, comentario='test comment 3') comentario4.put()
def pag_alojamiento(request, identificador): hotel = Hotel.objects.get(id=int(identificador)) titulo = hotel.nombre http_Resp = "" info_ingles = "" info_frances = "" autenticado = request.user.is_authenticated() if autenticado == True: http_Resp += Seleccionar(request.user.username, hotel.id) http_Resp += filtrar_idiomas(hotel.id) metodo = request.method if metodo == "POST" and request.POST.get("tipo") == "Idioma": idioma = request.POST.get("Idioma") if idioma == "en": info_ingles += info_otro_idioma(idioma, hotel.nombre) elif idioma == "fr": info_frances += info_otro_idioma(idioma, hotel.nombre) http_Resp += "<p><h3><font color='blue'>Datos generales</font></h3></p>" http_Resp += "<p>Email: " + hotel.email + "</p>" http_Resp += "<p>Telefono: " + hotel.phone + "</p>" http_Resp += "<p>Pagina hotel: <a href='" + hotel.web + "'>" + hotel.nombre + "</a></p>" http_Resp += "<p><h4>" + hotel.body + "</h4></p>" http_Resp += "<p><h3><font color='blue'>Datos de localizacion</font></h3></p>" http_Resp += "<p>Dirrecion: " + hotel.direccion + "</p>" http_Resp += "<p>Codigo postal: " + hotel.zipcode + "</p>" http_Resp += "<p>Pais: " + hotel.pais + "</p>" http_Resp += "<p>Cuidad: " + hotel.cuidad + "</p>" http_Resp += "<p>Latitud: " + hotel.latitud + "</p>" http_Resp += "<p>Longitud: " + hotel.longitud + "</p>" http_Resp += "<p><h3><font color='blue'>Imagenes hotel</font></h3></p>" imagenes = hotel.imagenes try: imagen_1 = imagenes.split("http://")[1].split("'")[0] imagen_1 = "http://" + imagen_1 http_Resp += '<p><img src="' + imagen_1 + '"width="400" height="200" border="2"></p>' imagen_2 = imagenes.split("http://")[2].split("'")[0] imagen_2 = "http://" + imagen_2 http_Resp += '<p><img src="' + imagen_2 + '"width="400" height="200" border="2"></p>' imagen_3 = imagenes.split("http://")[3].split("'")[0] imagen_3 = "http://" + imagen_3 http_Resp += '<p><img src="' + imagen_3 + '"width="400" height="200" border="2"></p>' imagen_4 = imagenes.split("http://")[4].split("'")[0] imagen_4 = "http://" + imagen_4 http_Resp += '<p><img src="' + imagen_4 + '"width="400" height="200" border="2"></p>' imagen_5 = imagenes.split("http://")[5].split("'")[0] imagen_5 = "http://" + imagen_5 http_Resp += '<p><img src="' + imagen_5 + '"width="400" height="200" border="2"></p>' except IndexError: pass http_Resp += "<p><h3><font color='blue'>Comentarios:</font></h3></p>" comentarios = Comentario.objects.filter(id_hotel=hotel.id) if len(comentarios) == 0: http_Resp += "<p>Para este hotel no hay comentarios disponibles.</p>" else: for comentario in comentarios: http_Resp += "<li>" + comentario.comentario autenticado = request.user.is_authenticated() if autenticado == True: user = Usuario.objects.get(nombre=request.user.username) color = user.color_fondo http_Resp += "<p><h3><font color='blue'>Introducir un comentario:</font></h3></p>" http_Resp += Comentar(request.user.username, hotel.id) metodo = request.method if metodo == "POST" and request.POST.get("tipo") == "Comentario": comentario = request.POST.get("Comentario") new_comentario = Comentario(id_hotel=hotel.id, comentario=comentario) new_comentario.save() hotel.num_comentarios = hotel.num_comentarios + 1 hotel.save() return HttpResponseRedirect("/alojamientos" + str(hotel.id)) else: http_Resp += "<h4><font color='red'>No puedes comentar si no estas registado!</font></h4>" color = 'default' if info_ingles != "": contenido = info_ingles elif info_frances != "": contenido = info_frances else: contenido = http_Resp tipo = "pag NO principal" menu = obtener_menu(tipo) enlaces = "" return render(request, 'dreamy/index.html', {"contenido": contenido, "menu": menu, "titulo": titulo, "enlaces_personales": enlaces, 'autenticado': request.user.is_authenticated(), 'usuario': request.user.username, 'form': LoginUsuario(), 'color': color})
def aloj_id(request, id): form_coment = FormComent(request.user.username, id) form_idioma = FormIdioma(id) respuesta = '' try: alojamiento = Alojamiento.objects.get(id=id) titulo = alojamiento.nombre imagenes = Imagenes.objects.get(alojamiento=alojamiento.nombre) comentarios = Comentario.objects.all() # Muestro todas las imagenes if unicode.encode(imagenes.url1) != "": respuesta = '<br>' + '<img src="' + imagenes.url1 + '"width="400" height="300" border="7">' if unicode.encode(imagenes.url2) != "": respuesta += '<br>' + '<img src="' + imagenes.url2 + '"width="400" height="300" border="7">' if unicode.encode(imagenes.url3) != "": respuesta += '<br>' + '<img src="' + imagenes.url3 + '"width="400" height="300" border="7">' if unicode.encode(imagenes.url4) != "": respuesta += '<br>' + '<img src="' + imagenes.url4 + '"width="400" height="300" border="7">' if unicode.encode(imagenes.url5) != "": respuesta += '<br>' + '<img src="' + imagenes.url5 + '"width="400" height="300" border="7">' except Alojamiento.DoesNotExist: contenido = ("No se encuentra dicho alojamienta") except Imagenes.DoesNotExist: None # Al ser visitado el alojamiento, aumento en 1 el numero de visitas que tiene if request.method == "GET": num_visitas = alojamiento.num_visitas+1 guardar_alojamiento = Alojamiento(id= id, nombre=alojamiento.nombre, email=alojamiento.email, telefono=alojamiento.telefono, descripcion=alojamiento.descripcion, web=alojamiento.web, direccion=alojamiento.direccion, categoria=alojamiento.categoria, subcategoria=alojamiento.subcategoria, num_visitas=num_visitas, num_comentarios=alojamiento.num_comentarios) guardar_alojamiento.save() # Muestro toda la informacion del hotel contenido = alojamiento.descripcion + \ alojamiento.direccion + '</br>' + \ '<br>' + str(alojamiento.telefono) + '</br>' + "<a href='" + \ str(alojamiento.web) + "'>" + str(alojamiento.web) + "</a>" # Añado imagenes a la respuesta y el formulario del idioma contenido += respuesta + form_idioma alojamiento = Alojamiento.objects.get(id=id) if request.user.is_authenticated(): contenido += FormEscogerAloj() contenido += '<br>' + str(num_visitas) + " visitas" + "<br><br>Comentarios: </br>" # Muestro comentarios for comentario in comentarios: if int(comentario.alojamiento_id) == int(id): contenido += '<br>' + str(comentario.fecha) + ": " + str(comentario.contenido) + '</br>' if request.user.is_authenticated(): contenido += form_coment elif request.method == "POST": alojamiento = Alojamiento.objects.get(id=id) # Almaceno elcomentario recibido if request.POST.get("tipo") == "comentario": coment = request.POST.get("mensaje") fecha = str(datetime.now()) fecha = fecha.split('.')[0] usuario = request.user.username num_comentarios = alojamiento.num_comentarios + 1 guardar_alojamiento = Alojamiento(id= id, nombre=alojamiento.nombre, email=alojamiento.email, telefono=alojamiento.telefono, descripcion=alojamiento.descripcion, web=alojamiento.web, direccion=alojamiento.direccion, categoria=alojamiento.categoria, subcategoria=alojamiento.subcategoria, num_visitas=alojamiento.num_visitas, num_comentarios=num_comentarios) guardar_alojamiento.save() comentario_nuevo = Comentario(contenido=coment, fecha=fecha, user=usuario, alojamiento_id=id) comentario_nuevo.save() contenido = "Comentario realizado correctamente" + \ '<meta http-equiv="refresh" content="2;url=' '" />' # Almaceno el alojamiento en la pagina del usuario que lo ha escogido elif request.POST.get("tipo") == "escoger": user = request.user.username aloj_id = id fecha = str(datetime.now()) fecha = fecha.split('.')[0] try: AlojamientoEscogido.objects.get(alojamiento_id=id) contenido = "Ya habias seleccionado este alojamiento" + \ '<meta http-equiv="refresh" content="1;url=' '" />' except AlojamientoEscogido.DoesNotExist: escogido_nuevo = AlojamientoEscogido(user=user, alojamiento_id=id, fecha_eleccion=fecha) escogido_nuevo.save() contenido = "Alojamiento escogido correctamente" + \ '<meta http-equiv="refresh" content="1;url=' '" />' # Para mostrar la informacion en otro idioma elif request.POST.get("tipo") == "idioma": idioma = request.POST.get("Idioma") alojamiento = Alojamiento.objects.get(id=id) nombre = alojamiento.nombre (nombre, direc, email, telefono, descripcion, web) = EnOtroIdioma(nombre, int(idioma)) if nombre != "error": # Si el nombre es error es porque la informacion no esta en frances contenido = descripcion + direc + '</br>' + \ '<br>' + str(telefono) + '</br>' + "<a href='" + \ str(web) + "'>" + str(web) + "</a>" else: contenido = "<h4>No se dispone de la informacion de este alojamiento en frances</h4>" # Muestro comentarios. Si esta logueado, form para comentar y escoger contenido += respuesta + form_idioma if request.user.is_authenticated(): contenido += FormEscogerAloj() contenido += '<br>' + str(alojamiento.num_visitas) + " visitas" + "<br><br>Comentarios: </br>" for comentario in comentarios: if int(comentario.alojamiento_id) == int(id): contenido += '<br>' + str(comentario.fecha) + ": " + str(comentario.contenido) + '</br>' if request.user.is_authenticated(): contenido += form_coment else: contenido = "Ha ocurrido un error" else: contenido = "Metodo no permitido" navegacion = Menu(False) try: usuarios = ConfiguracionUsuario.objects.all() adicional = PagUsers(usuarios) except ConfiguracionUsuario.DoesNotExist: adicional = "" color, letra = ("b", 12) try: user = ConfiguracionUsuario.objects.get(user=request.user) color = user.color letra = user.letra except ConfiguracionUsuario.DoesNotExist: None rendered = Render(request, color, letra, titulo, navegacion, contenido, adicional) return HttpResponse(rendered)
def alojamiento (request, indice): encontrado = False hoteles = Hotel.objects.all() imagenes = Imagen.objects.all() comentarios = Comentario.objects.all() listafinal = [] listaimagenes = [] listacomentarios = [] listaparaenviar = [] listahoteles = [] autenticado = False contador = 0 for hotel in hoteles: if (hotel.hotel_id == indice) : totalimagenes = 0 indicecomentario = 1 encontrado = True for imagen in imagenes: if ((imagen.hotel_id == hotel.hotel_id) and (totalimagenes < 5)): totalimagenes = totalimagenes + 1 listaimagenes.append(imagen) for comentario in comentarios: if (comentario.hotel_id == hotel.hotel_id): try: comentario = comentario.Cuerpo.split("=")[1] buscar = '+' reemplazar = ' ' comentario = comentario.replace(buscar,reemplazar) listacomentarios.append(comentario) indicecomentario = indicecomentario + 1 except IndexError: listacomentarios.append(comentario.Cuerpo) indicecomentario = indicecomentario + 1 listahoteles.append(hotel) if request.user.is_authenticated() and encontrado == True: autenticado = True if request.method == 'POST': comentario = request.body if (comentario.split("=")[0] == 'mibotondeopcion'): if comentario.split("=")[1] == 'Ingl': theParser = make_parser() theHandler = myContentHandler() theParser.setContentHandler(theHandler) url = ("http://cursosweb.github.io/etc/alojamientos_en.xml") xmlFile = urlopen(url) theParser.parse(xmlFile) lista = theHandler.dameLista() for dic in lista: h = Hotel(hotel_id = dic["id"], nombre = dic["nombre"], email = dic["email"], telefono = dic["telefono"], cuerpo = dic["cuerpo"], web = dic["web"], address = dic["address"], pais = dic["pais"], latitud = dic["latitude"], longitud= dic["longitude"], subAA = dic["subAdministrativeArea"], idTipo = dic["idTipo"], Tipo = dic["Tipo"], idCategoria = dic["idCategoria"], Categoria = dic["Categoria"], idSubCategoria = dic["idSubCategoria"], subCategoria = dic["SubCategoria"], NumComentarios = 0) if (h.hotel_id == indice): listahoteles.append(h) elif comentario.split("=")[1] == 'Fran': theParser = make_parser() theHandler = myContentHandler() theParser.setContentHandler(theHandler) url = ("http://cursosweb.github.io/etc/alojamientos_fr.xml") xmlFile = urlopen(url) theParser.parse(xmlFile) lista = theHandler.dameLista() for dic in lista: h = Hotel(hotel_id = dic["id"], nombre = dic["nombre"], email = dic["email"], telefono = dic["telefono"], cuerpo = dic["cuerpo"], web = dic["web"], address = dic["address"], pais = dic["pais"], latitud = dic["latitude"], longitud= dic["longitude"], subAA = dic["subAdministrativeArea"], idTipo = dic["idTipo"], Tipo = dic["Tipo"], idCategoria = dic["idCategoria"], Categoria = dic["Categoria"], idSubCategoria = dic["idSubCategoria"], subCategoria = dic["SubCategoria"], NumComentarios = 0) if (h.hotel_id == indice): listahoteles.append(h) else: respuesta = respuesta elif (comentario.split("=")[0] == 'seleccion'): ahora = datetime.now() u = Elegidos(Nombre = request.user.username,Fecha = ahora, hotel_id = indice) u.save() else: for hotel in hoteles: if (hotel.hotel_id == indice) : comentario = request.body.split("=")[1] buscar = '+' reemplazar = ' ' comentario = comentario.replace(buscar,reemplazar) c = Comentario(Cuerpo = comentario, hotel_id = indice) c.save() hotel.NumComentarios = hotel.NumComentarios + 1 listacomentarios.append(comentario) listafinal.append((listahoteles, listaimagenes, listacomentarios)) listaparaenviar.append((listafinal, autenticado)) template = get_template('alojamiento.html') Context = RequestContext(request,{'lista': listaparaenviar}) return HttpResponse(template.render(Context))
def alojamientoIdTempV(request, alojamientoid): print 'En alojamientoIdV: ' + alojamientoid usuarioLogeado = logger(request) # Datos de Alojamiento try: alojamientoPedido = Alojamiento.objects.get(id=alojamientoid) imagenes = pickFotos(alojamientoPedido,5,500,300) YaComentado = 0 # Almacena el comentario if request.method == 'POST': print 'En alojamientoIdV /POST' # Reconocimiento de primer y unico comentario... comsAux = Comentario.objects.all().filter(Alojamiento=alojamientoPedido,\ Usuario=usuarioLogeado) for comentario in comsAux: YaComentado = 1 # Permite comentar o no, segun si este user ya a comentado antes este hotel... if YaComentado == 0: comentarioSubido = request.POST['comentario'] if comentarioSubido != '': comentarioGuardar = Comentario(Alojamiento = alojamientoPedido,\ Usuario = usuarioLogeado,\ Descripcion = comentarioSubido) comentarioGuardar.save() NComAux = alojamientoPedido.NumeroComentarios alojamientoPedido.NumeroComentarios = NComAux+1 alojamientoPedido.save() # Comentarios listaComentarios = '' comentariosAlojamiento = Comentario.objects.all().filter(Alojamiento=alojamientoPedido) for comentario in comentariosAlojamiento: listaComentarios += '<p1>De '+comentario.Usuario.Nombre+': '\ + comentario.Descripcion+'</p1><br>' # Comentar y Seleccionar if usuarioLogeado != 0: if YaComentado == 0: comentador = '<br><p1> Comentar: </p1>'\ + '<form method="POST" action="">'\ + '<input type="text" name="comentario"><br>'\ + '<input type="submit" value="Enviar">'\ + '</form>'\ + '<br><a href="http://127.0.0.1:8000/sel/'\ + usuarioLogeado.Nombre + '/' + alojamientoid\ + '"> Seleccionar</a>' else: comentador = '<br><p1>Ya has comentado este alojamiento.</p1>'\ + '<br><br><a href="http://127.0.0.1:8000/sel/'\ + usuarioLogeado.Nombre + '/' + alojamientoid\ + '"> Seleccionar</a>' # Carga de plantillas según dicte Logger if usuarioLogeado == 0: template = get_template('alojamientoID/UnLogged/index.html') respuesta = template.render(Context({'alojamientoPedido': alojamientoPedido,\ 'imagenes': imagenes,\ 'listaComentarios': listaComentarios,\ 'alojamientoid': alojamientoid})) else: template = get_template('alojamientoID/Logged/index.html') respuesta = template.render(Context({'alojamientoPedido': alojamientoPedido,\ 'imagenes': imagenes,\ 'usuario': usuarioLogeado.Nombre,\ 'listaComentarios': listaComentarios,\ 'comentador': comentador,\ 'alojamientoid': alojamientoid})) except: respuesta = 'El alojamiento Pedido no existe'\ + '<meta http-equiv="Refresh" content="2;\ url=http://127.0.0.1:8000/">' return HttpResponse(decorateHTML(respuesta))
def alojamiento(request, indice): encontrado = False hoteles = Hotel.objects.all() imagenes = Imagen.objects.all() comentarios = Comentario.objects.all() listafinal = [] listaimagenes = [] listacomentarios = [] listaparaenviar = [] listahoteles = [] autenticado = False contador = 0 for hotel in hoteles: if (hotel.hotel_id == indice): totalimagenes = 0 indicecomentario = 1 encontrado = True for imagen in imagenes: if ((imagen.hotel_id == hotel.hotel_id) and (totalimagenes < 5)): totalimagenes = totalimagenes + 1 listaimagenes.append(imagen) for comentario in comentarios: if (comentario.hotel_id == hotel.hotel_id): try: comentario = comentario.Cuerpo.split("=")[1] buscar = '+' reemplazar = ' ' comentario = comentario.replace(buscar, reemplazar) listacomentarios.append(comentario) indicecomentario = indicecomentario + 1 except IndexError: listacomentarios.append(comentario.Cuerpo) indicecomentario = indicecomentario + 1 listahoteles.append(hotel) if request.user.is_authenticated() and encontrado == True: autenticado = True if request.method == 'POST': comentario = request.body if (comentario.split("=")[0] == 'mibotondeopcion'): if comentario.split("=")[1] == 'Ingl': theParser = make_parser() theHandler = myContentHandler() theParser.setContentHandler(theHandler) url = ("http://cursosweb.github.io/etc/alojamientos_en.xml") xmlFile = urlopen(url) theParser.parse(xmlFile) lista = theHandler.dameLista() for dic in lista: h = Hotel(hotel_id=dic["id"], nombre=dic["nombre"], email=dic["email"], telefono=dic["telefono"], cuerpo=dic["cuerpo"], web=dic["web"], address=dic["address"], pais=dic["pais"], latitud=dic["latitude"], longitud=dic["longitude"], subAA=dic["subAdministrativeArea"], idTipo=dic["idTipo"], Tipo=dic["Tipo"], idCategoria=dic["idCategoria"], Categoria=dic["Categoria"], idSubCategoria=dic["idSubCategoria"], subCategoria=dic["SubCategoria"], NumComentarios=0) if (h.hotel_id == indice): listahoteles.append(h) elif comentario.split("=")[1] == 'Fran': theParser = make_parser() theHandler = myContentHandler() theParser.setContentHandler(theHandler) url = ("http://cursosweb.github.io/etc/alojamientos_fr.xml") xmlFile = urlopen(url) theParser.parse(xmlFile) lista = theHandler.dameLista() for dic in lista: h = Hotel(hotel_id=dic["id"], nombre=dic["nombre"], email=dic["email"], telefono=dic["telefono"], cuerpo=dic["cuerpo"], web=dic["web"], address=dic["address"], pais=dic["pais"], latitud=dic["latitude"], longitud=dic["longitude"], subAA=dic["subAdministrativeArea"], idTipo=dic["idTipo"], Tipo=dic["Tipo"], idCategoria=dic["idCategoria"], Categoria=dic["Categoria"], idSubCategoria=dic["idSubCategoria"], subCategoria=dic["SubCategoria"], NumComentarios=0) if (h.hotel_id == indice): listahoteles.append(h) else: respuesta = respuesta elif (comentario.split("=")[0] == 'seleccion'): ahora = datetime.now() u = Elegidos(Nombre=request.user.username, Fecha=ahora, hotel_id=indice) u.save() else: for hotel in hoteles: if (hotel.hotel_id == indice): comentario = request.body.split("=")[1] buscar = '+' reemplazar = ' ' comentario = comentario.replace(buscar, reemplazar) c = Comentario(Cuerpo=comentario, hotel_id=indice) c.save() hotel.NumComentarios = hotel.NumComentarios + 1 listacomentarios.append(comentario) listafinal.append((listahoteles, listaimagenes, listacomentarios)) listaparaenviar.append((listafinal, autenticado)) template = get_template('alojamiento.html') Context = RequestContext(request, {'lista': listaparaenviar}) return HttpResponse(template.render(Context))