summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/views/categories.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/app/views/categories.py b/app/views/categories.py
index e020a11..c7346d3 100644
--- a/app/views/categories.py
+++ b/app/views/categories.py
@@ -1,15 +1,27 @@
from ..flask_extend import Blueprint
-from flask import render_template, request, url_for
+from flask import render_template, request, url_for, redirect
-from ..model import Category
+from ..model import db, Category
mod = Blueprint('categories', __name__)
def T(tpl):
return "categories/%s.jinja" % tpl
-@mod.route("/")
+@mod.route("/", methods=("GET", "POST"))
def manage ():
- categories = Category.query.order_by(Category.name).all()
- return render_template(T("manage"), cats = categories)
+ if request.method == "GET":
+ categories = Category.query.order_by(Category.name).all()
+
+ return render_template(T("manage"), cats = categories)
+ else:
+ for id, name in request.form.iteritems():
+ if id.startswith("n-"):
+ db.session.add(Category(name = name))
+ else:
+ Category.get(id).name = name
+
+ db.session.commit()
+
+ return redirect(url_for(".manage"))