|
|
@ -54,12 +54,9 @@ def libro(libro_id): |
|
|
@login_required |
|
|
@login_required |
|
|
def add_libro(): |
|
|
def add_libro(): |
|
|
if request.method == 'POST': |
|
|
if request.method == 'POST': |
|
|
fecha> n class="o">= datetime.date.fromisoformat(request.form['fecha']) |
|
|
|
|
|
|
|
|
anno = request.form['anno'] |
|
|
autor_id = request.form['autor_id'] |
|
|
autor_id = request.form['autor_id'] |
|
|
titulo = request.form['titulo'] |
|
|
titulo = request.form['titulo'] |
|
|
|
|
|
|
|
|
if 'portada' not in request.files: |
|
|
|
|
|
return "Falta el fichero de imagen", 400 |
|
|
|
|
|
|
|
|
|
|
|
portada = request.files['portada'] |
|
|
portada = request.files['portada'] |
|
|
|
|
|
|
|
|
@ -73,8 +70,21 @@ def add_libro(): |
|
|
portada.save(os.path.join(current_app.config['UPLOAD_FOLDER'], image_filename)) |
|
|
portada.save(os.path.join(current_app.config['UPLOAD_FOLDER'], image_filename)) |
|
|
else: |
|
|
else: |
|
|
image_filename = None |
|
|
image_filename = None |
|
|
|
|
|
|
|
|
|
|
|
epub = request.files['epub'] |
|
|
|
|
|
|
|
|
|
|
|
# Verificar que se ha seleccionado un archivo |
|
|
|
|
|
|
|
|
|
|
|
if epub.filename == '': |
|
|
|
|
|
return "No selected file", 400 |
|
|
|
|
|
|
|
|
|
|
|
if epub: |
|
|
|
|
|
epub_filename = secure_filename(epub.filename) |
|
|
|
|
|
epub.save(os.path.join(current_app.config['UPLOAD_FOLDER'], epub_filename)) |
|
|
|
|
|
else: |
|
|
|
|
|
epub_filename = None |
|
|
|
|
|
|
|
|
new_libro = Libros(fecha=fecha, autor_id=autor_id, titulo=titulo, portada=image_filename) |
|
|
|
|
|
|
|
|
new_libro = Libros(anno=anno, autor_id=autor_id, titulo=titulo, portada=image_filename, epub=epub_filename) |
|
|
db.session.add(new_libro) |
|
|
db.session.add(new_libro) |
|
|
db.session.commit() |
|
|
db.session.commit() |
|
|
|
|
|
|
|
|
@ -82,8 +92,11 @@ def add_libro(): |
|
|
|
|
|
|
|
|
autores = Autores.query.all() |
|
|
autores = Autores.query.all() |
|
|
|
|
|
|
|
|
|
|
|
if autores: |
|
|
|
|
|
return render_template('add_libro.html', autores=autores) |
|
|
|
|
|
else: |
|
|
|
|
|
return render_template('nohayautores.html') |
|
|
|
|
|
|
|
|
return render_template('add_libro.html', autores=autores) |
|
|
|
|
|
|
|
|
|
|
|
@bp.route('/edit_libro/<int:libro_id>', methods=['GET', 'POST']) |
|
|
@bp.route('/edit_libro/<int:libro_id>', methods=['GET', 'POST']) |
|
|
@login_required |
|
|
@login_required |
|
|
@ -91,9 +104,8 @@ def edit_libro(libro_id): |
|
|
libro = Libros.query.get_or_404(libro_id) |
|
|
libro = Libros.query.get_or_404(libro_id) |
|
|
autores = Autores.query.all() |
|
|
autores = Autores.query.all() |
|
|
if request.method == 'POST': |
|
|
if request.method == 'POST': |
|
|
libro.fecha = request.form['fecha'] |
|
|
|
|
|
|
|
|
libro.anno = request.form['anno'] |
|
|
libro.autor_id = request.form['autor_id'] |
|
|
libro.autor_id = request.form['autor_id'] |
|
|
|
|
|
|
|
|
libro.titulo = request.form['titulo'] |
|
|
libro.titulo = request.form['titulo'] |
|
|
|
|
|
|
|
|
if 'portada' in request.files: |
|
|
if 'portada' in request.files: |
|
|
@ -103,7 +115,15 @@ def edit_libro(libro_id): |
|
|
|
|
|
|
|
|
portada.save(os.path.join(current_app.config['UPLOAD_FOLDER'], image_filename)) |
|
|
portada.save(os.path.join(current_app.config['UPLOAD_FOLDER'], image_filename)) |
|
|
libro.portada = image_filename |
|
|
libro.portada = image_filename |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if 'epub' in request.files: |
|
|
|
|
|
epub = request.files['epub'] |
|
|
|
|
|
if epub.filename != '': |
|
|
|
|
|
epub_filename = secure_filename(epub.filename) |
|
|
|
|
|
|
|
|
|
|
|
epub.save(os.path.join(current_app.config['UPLOAD_FOLDER'], epub_filename)) |
|
|
|
|
|
libro.portada = epub_filename |
|
|
|
|
|
|
|
|
db.session.commit() |
|
|
db.session.commit() |
|
|
return redirect(url_for('paginas.libro', libro_id=libro.id)) |
|
|
return redirect(url_for('paginas.libro', libro_id=libro.id)) |
|
|
|
|
|
|
|
|
|