def edit(self): errores = [] if request.method == 'GET': genero = Genero.encontrar_por_id(request.args.get("genero_id")) return render_template('generos/edit.html', genero=genero) elif request.method == 'POST': if Genero.existe_genero_con_nombre(request.form["nombre"]): genero = Genero.encontrar_por_id(request.args.get("genero_id")) errores.append( "Ya existe un genero con el nombre especificado.") return render_template('generos/edit.html', genero=genero, errores=errores) else: Genero.edit(request.form["nombre"], request.form["id"]) return self.index()
def index(self): libros = Libro.all() data = [] for libro in libros: autor = Author.id(libro["autor"]) genero = Genero.encontrar_por_id(libro["genero"]) data.append({"libro": libro, "autor": autor, "genero": genero}) return render_template('libros/index.html', libros=data)
def libro(self, libro_id): try: int(libro_id) except: abort(404) libro = Libro.id(libro_id) autor = Author.id(libro["autor"]) genero = Genero.encontrar_por_id(libro["genero"]) editorial = Editorial.id(libro["editorial"]) reseñas = Reseña.reseñas_de_un_libro_con_id(libro_id) capitulos = Capitulo.libro(libro_id) perfil_tiene_reseña = False perfil_leyo_el_libro = False cantidad = Libro.obtenerCantidadDeReseñasDeUnLibro( libro_id)[0]['cantidad'] total = Libro.obtenerCalificacionTotalDeUnLibro(libro_id)[0]['total'] promedio = 0 if (cantidad != 0): promedio = round((total / cantidad), 2) if "perfil_id" in session and not session["admin"]: perfil_id = session["perfil_id"] leido = Libro.leido(libro_id, perfil_id) leyendo = Libro.leyendo(libro_id, perfil_id) favorito = Libro.favorito(libro_id, perfil_id) if Libro.el_perfil_dio_una_reseña_al_libro(session['perfil_id'], libro_id): perfil_tiene_reseña = True if Libro.el_perfil_leyo_el_libro(session['perfil_id'], libro_id): perfil_leyo_el_libro = True else: leido = None favorito = None leyendo = None return render_template('libros/show.html', libro=libro, autor=autor, genero=genero, editorial=editorial, capitulos=capitulos, leido=leido, favorito=favorito, leyendo=leyendo, reseñas=reseñas, perfil_tiene_reseña=perfil_tiene_reseña, perfil_leyo_el_libro=perfil_leyo_el_libro, promedio=promedio)