Creado panel de administracion

En el, el administrador puede
    -subir un nuevo archivo
    -crear una categorio
    -renombrar una categoria
    - eliminar una categoria

A medida que me valla naciendo ire haciendo mas controles
This commit is contained in:
Daniel Cortes
2019-03-12 18:26:55 -03:00
parent 7b7fd0301d
commit 6437ea151e
8 changed files with 119 additions and 64 deletions

View File

@@ -1,7 +1,8 @@
from flask import Blueprint, flash, request, redirect, url_for
from flask import render_template
from files.auth import admin_required
from files.models import Category, db
from files.models import Category, File, db
from files.files import _delete_file
bp = Blueprint('categories', __name__, url_prefix='/categories')
@@ -16,7 +17,7 @@ def index():
@admin_required
def create():
if request.method == 'POST':
name = request.form['name']
name = request.form['category.create.name']
error = None
if not name:
@@ -28,10 +29,31 @@ def create():
category = Category(name)
db.session.add(category)
db.session.commit()
return redirect(url_for('categories.index'))
return redirect(url_for(
'categories.view',
category_id=category.id))
return render_template('categories/create.html')
@bp.route('/rename', methods=['POST'])
@admin_required
def rename():
name = request.form['category.rename.name']
if not name:
flash('No valid name')
return redirect(request.url)
if 'category.rename.category' not in request.form:
flash('No category selected')
return redirect(request.url)
category = Category.query.get(request.form['category.rename.category'])
category.name = name
db.session.commit()
return redirect(url_for('categories.view', category_id=category.id))
@bp.route('<int:category_id>')
def view(category_id):
@@ -43,13 +65,20 @@ def view(category_id):
files=files)
@bp.route('/<int:id>/update')
@admin_required
def update():
pass
@bp.route('/<int:id>/delete')
@bp.route('/delete', methods=['POST'])
@admin_required
def delete():
pass
if 'category.rename.category' not in request.form:
flash('No category selected')
return redirect(request.url)
category = Category.query.get(request.form['category.rename.category'])
files = File.query.filter_by(category_id=category.id).all()
for file in files:
_delete_file(file)
db.session.delete(category)
db.session.commit()
return redirect(url_for('categories.index'))