Exemple #1
0
    def get(self, juegoID):
        user = users.get_current_user()
        if user:
            juegoID = int(juegoID)
            juego = Juego.get_by_id(juegoID)

            usuario = Usuario.query(Usuario.id == user.user_id())
            usuario = usuario.get()

            participa = Participante.query(Participante.usuario == usuario.key,
                                           Participante.juego == juego.key)

            if participa.get():
                participando = 1
            else:
                participando = 0

            mensajes = Mensaje.query(Mensaje.juego == juego.key)

            self.render_template(
                'foro_juego.html', {
                    'juego': juego,
                    'participa': participando,
                    'listaMensajes': mensajes,
                    'usuario': usuario.key
                })
        else:
            self.redirect(users.create_login_url(self.request.uri))
Exemple #2
0
    def post(self):
        user = users.get_current_user()

        usuario = Usuario.query(Usuario.id == user.user_id())
        usuario = usuario.get().key

        nombre = self.request.get('nombreJuego')
        radio = self.request.get('radio')
        portada = self.request.get('portadaJuego')
        coordenadas = self.request.get('centroJuego').split(',')
        coordenadas_finales = ndb.GeoPt(float(coordenadas[0]),
                                        float(coordenadas[1]))

        juego = Juego(nombre=nombre,
                      usuario_creador=usuario,
                      estado=0,
                      radio=int(radio),
                      coordenadas=coordenadas_finales,
                      portada=portada)
        juego_final = juego.put()

        numeroTesoros = int(self.request.get('numeroTesoros'))

        for i in range(1, numeroTesoros + 1):
            nombre_tesoro = "tesoro " + str(i)
            coordenadas_tesoro = self.request.get('coordenadas_tesoro' +
                                                  str(i))
            micoor = coordenadas_tesoro.split(',')
            coordenadas_finales_tesoro = ndb.GeoPt(float(micoor[0]),
                                                   float(micoor[1]))

            tesoro = Tesoro(nombre=nombre_tesoro,
                            coordenadas=coordenadas_finales_tesoro,
                            juego=juego_final)
            tesoro_final = tesoro.put()

            texto_pista_tesoro = self.request.get('texto_tesoro' + str(i))
            foto_pista_tesoro = self.request.get('foto_tesoro' + str(i))

            pista = Pista(texto=texto_pista_tesoro,
                          imagen=foto_pista_tesoro,
                          tesoro=tesoro_final)
            pista.put()

        return webapp2.redirect('/juegos')
Exemple #3
0
 def get(self):
     user = users.get_current_user()
     if user:
         iduser = user.user_id()
         us = Usuario.query(Usuario.id == iduser)
         listaJuegos = Juego.query(Juego.usuario_creador == us.get().key)
         self.render_template('all_games.html',
                              {'listaJuegos': listaJuegos})
     else:
         self.redirect(users.create_login_url(self.request.uri))
Exemple #4
0
 def get(self, juegoID):
     user = users.get_current_user()
     if user:
         usuario = Usuario.query(Usuario.id == user.user_id())
         usuario = usuario.get()
         juegoID = int(juegoID)
         juego = Juego.get_by_id(juegoID)
         participante = Participante(usuario=usuario.key, juego=juego.key)
         participante.put()
         self.redirect("/juego/" + str(juegoID))
Exemple #5
0
 def post(self, ide):
     user = users.get_current_user()
     if user:
         juego = Juego.get_by_id(int(ide))
         if juego.estado == 1:
             juego.estado = 0
         hallazgos = Hallazgo.query(Hallazgo.juego == juego.key)
         for hallazgo in hallazgos:
             hallazgo.key.delete()
         juego.put()
     self.redirect("/juego/" + str(ide))
Exemple #6
0
    def post(self, juegoID):
        user = users.get_current_user()
        if user:
            juegoID = int(juegoID)
            juego = Juego.get_by_id(juegoID)

            usuario = Usuario.query(Usuario.id == user.user_id())
            usuario = usuario.get()

            texto = self.request.get('textoComentario')

            msj = Mensaje(usuario=usuario.key, juego=juego.key, texto=texto)
            msj.put()
            self.redirect("/juego/" + str(juegoID))
Exemple #7
0
 def post(self, juegoID):
     user = users.get_current_user()
     if user:
         usuario = Usuario.query(Usuario.id == user.user_id())
         usuario = usuario.get()
         juegoID = int(juegoID)
         juego = Juego.get_by_id(juegoID)
         imagen = self.request.get('imagen_hallazgo')
         hallazgo = Hallazgo(usuario=usuario.key,
                             juego=juego.key,
                             imagen=imagen,
                             validado=0)
         hallazgo.put()
         self.redirect("/juego/" + str(juegoID))
Exemple #8
0
    def get(self, juegoID):
        user = users.get_current_user()

        if user:
            juego_id = int(juegoID)
            juego = Juego.get_by_id(juego_id)
            usuario_creador = Usuario.get_by_id(juego.usuario_creador.id())

            usuario = Usuario.query(Usuario.id == user.user_id())
            usuario = usuario.get()

            participa = Participante.query(Participante.usuario == usuario.key,
                                           Participante.juego == juego.key)

            if participa.get():
                participando = True
            else:
                participando = False

            misTesoros = Tesoro.query(Tesoro.juego == juego.key)
            misPistas = []
            hallazgos = Hallazgo.query(Hallazgo.juego == juego.key)

            for tesoro in misTesoros:
                aux = Pista.query(Pista.tesoro == tesoro.key)
                misPistas.append(aux.get())

            #hallazgos_por_participante = Hallazgo.query(Hallazgo.validado==1,projection=[Hallazgo.usuario, Hallazgo.tesoro],group_by=[Hallazgo.usuario,Hallazgo.tesoro]).fetch();
            #print(hallazgos_por_participante)

            self.render_template(
                'juego.html', {
                    'juego': juego,
                    'usuario_creador': usuario_creador,
                    'misPistas': misPistas,
                    'participa': participando,
                    'usuario': usuario,
                    'hallazgos': hallazgos,
                    'misTesoros': misTesoros
                })


# if juego.estado==1:
# usuario_ganador  = Usuario.get_by_id(juego.usuario_ganador.id())
# self.render_template('juego.html', {'juego': juego,'usuario_creador':usuario_creador,'usuario_ganador':usuario_ganador})
# else:
        else:
            self.redirect(users.create_login_url(self.request.uri))
Exemple #9
0
 def post(self, ide):
     user = users.get_current_user()
     if user:
         if 'validar' in self.request.POST:
             usuario = Usuario.query(Usuario.id == user.user_id())
             usuario = usuario.get()
             hallazgoid = int(ide)
             hallazgo = Hallazgo.get_by_id(hallazgoid)
             hallazgo.validado = 1
             tesoro = self.request.get('mitesoro')
             miTesoro = Tesoro.get_by_id(int(tesoro))
             hallazgo.tesoro = miTesoro.key
             hallazgo.put()
             miJuego = hallazgo.juego
             usuariojugador = hallazgo.usuario
             hallazgousuario = Hallazgo.query(
                 Hallazgo.usuario == usuariojugador,
                 Hallazgo.juego == miJuego, Hallazgo.validado == 1)
             tesoros = Tesoro.query(Tesoro.juego == miJuego)
             if hallazgousuario.count() == tesoros.count():
                 juego = Juego.get_by_id(miJuego.id())
                 mensaje = Mensaje(juego=juego.key,
                                   usuario=usuario.key,
                                   texto="El usuario " +
                                   usuariojugador.get().nombre +
                                   " ha ganado la partida.")
                 mensaje.put()
                 juego.estado = 1
                 juego.usuario_ganador = usuariojugador
                 juego.put()
             self.redirect("/juego/" + str(hallazgo.juego.id()))
         if 'rechazar' in self.request.POST:
             usuario = Usuario.query(Usuario.id == user.user_id())
             usuario = usuario.get()
             hallazgoid = int(ide)
             hallazgo = Hallazgo.get_by_id(hallazgoid)
             hallazgo.key.delete()
             self.redirect("/juego/" + str(hallazgo.juego.id()))
Exemple #10
0
    def get(self):
        user = users.get_current_user()

        if user:
            iduser = user.user_id()
            us = Usuario.query(Usuario.id == iduser)
            juegos_participo = Participante.query(
                Participante.usuario == us.get().key)

            listaJuegos = []
            for participo in juegos_participo:
                aux = Juego.get_by_id(participo.juego.id())
                listaJuegos.append(aux)

            juegos_carrusel = []
            if len(listaJuegos) > 1:
                juegos_carrusel = sample(listaJuegos, 2)
            print(juegos_carrusel)
            print(listaJuegos)
            self.render_template('principal.html', {
                'listaJuegos': listaJuegos,
                'juegosCarrusel': juegos_carrusel
            })