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:
@@ -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'))
|
||||
|
||||
Reference in New Issue
Block a user