Added add achievement field
This commit is contained in:
parent
39eb8b703c
commit
d266062856
2 changed files with 33 additions and 11 deletions
15
templates/newachievement.html
Normal file
15
templates/newachievement.html
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<form action="" method="post">
|
||||||
|
{{ form.csrf }}
|
||||||
|
|
||||||
|
<div class="input text">
|
||||||
|
{{ form.name.label }} {{ form.name }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input submit">
|
||||||
|
<input type="submit" value="Add" />
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
29
user.py
29
user.py
|
@ -1,22 +1,28 @@
|
||||||
from app import app, db
|
from app import app, db
|
||||||
from models import User, Achievement
|
from models import User, Achievement
|
||||||
|
|
||||||
from flask import request, render_template
|
from flask import request, render_template, redirect, url_for
|
||||||
from flask_login import current_user, login_required
|
from flask_login import current_user, login_required
|
||||||
|
from wtforms import Form, TextField, validators
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
|
||||||
@app.route("/users/<id>/addachievement")
|
class AchievementForm(Form):
|
||||||
|
name = TextField("Name: ", validators=[validators.required()])
|
||||||
|
|
||||||
|
@app.route("/users/<id>/addachievement", methods=["GET", "POST"])
|
||||||
@login_required
|
@login_required
|
||||||
def add_achievement(id):
|
def add_achievement(id):
|
||||||
name = request.args.get("name")
|
form = AchievementForm(request.form)
|
||||||
if not name:
|
if request.method == "POST":
|
||||||
return "No name supplied"
|
name = request.form["name"]
|
||||||
achievement = Achievement(name=name, achieved_by=id)
|
if form.validate():
|
||||||
achievement.endorsed_by.append(current_user)
|
achievement = Achievement(name=name, achieved_by=id)
|
||||||
db.session.add(achievement)
|
achievement.endorsed_by.append(current_user)
|
||||||
db.session.commit()
|
db.session.add(achievement)
|
||||||
return "OK"
|
db.session.commit()
|
||||||
|
return redirect(url_for("get_user", id=id))
|
||||||
|
return render_template("newachievement.html", form=form)
|
||||||
|
|
||||||
@app.route("/users/<id>")
|
@app.route("/users/<id>")
|
||||||
def get_user(id):
|
def get_user(id):
|
||||||
|
@ -25,6 +31,7 @@ def get_user(id):
|
||||||
return "Unknown user"
|
return "Unknown user"
|
||||||
return render_template("user.html", data=user.to_obj())
|
return render_template("user.html", data=user.to_obj())
|
||||||
|
|
||||||
|
@app.route("/")
|
||||||
@app.route("/users/")
|
@app.route("/users/")
|
||||||
def all_users():
|
def all_users():
|
||||||
return render_template("allusers.html", data=[user.to_obj() for user in User.query.all()])
|
return render_template("allusers.html", data=[user.to_obj() for user in User.query.all()])
|
||||||
|
|
Loading…
Reference in a new issue