Add approving and deleting queued messages
This commit is contained in:
parent
bbda2d968c
commit
c253867c62
3 changed files with 53 additions and 4 deletions
|
@ -13,10 +13,10 @@ class Quote(db.Model):
|
||||||
|
|
||||||
id = db.Column(db.Integer, primary_key=True)
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
rating = db.Column(db.Integer)
|
rating = db.Column(db.Integer)
|
||||||
content = db.Column(db.String())
|
content = db.Column(db.String(), nullable=False)
|
||||||
approved = db.Column(db.Boolean)
|
approved = db.Column(db.Boolean)
|
||||||
author_ip = db.Column(db.String())
|
author_ip = db.Column(db.String(), nullable=False)
|
||||||
time = db.Column(db.String())
|
time = db.Column(db.String(), nullable=False)
|
||||||
tags = db.relationship(
|
tags = db.relationship(
|
||||||
'Tag',
|
'Tag',
|
||||||
secondary=tags_to_quotes,
|
secondary=tags_to_quotes,
|
||||||
|
@ -36,7 +36,7 @@ class Tag(db.Model):
|
||||||
__tablename__ = 'tags'
|
__tablename__ = 'tags'
|
||||||
|
|
||||||
id = db.Column(db.Integer, primary_key=True)
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
name = db.Column(db.String())
|
name = db.Column(db.String(), unique=True, nullable=False)
|
||||||
|
|
||||||
|
|
||||||
def __init__(self, name):
|
def __init__(self, name):
|
||||||
|
|
|
@ -9,6 +9,14 @@
|
||||||
<p>{{ quote.content|safe }}</p>
|
<p>{{ quote.content|safe }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<form action="/moderate" name="moderate" method="post">
|
||||||
|
<div class="btn-group" role="group">
|
||||||
|
<input type="hidden" name="quoteid" value={{quote.id}} />
|
||||||
|
<button type="submit" name="submit" class="btn btn-success btn-sm" value="Approve">Approve</button>
|
||||||
|
<button type="submit" name="submit" class="btn btn-danger btn-sm" value="Delete">Delete</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
<div class="tags">
|
<div class="tags">
|
||||||
|
|
||||||
Tags:
|
Tags:
|
||||||
|
|
|
@ -71,6 +71,13 @@ def latest():
|
||||||
|
|
||||||
@app.route('/queue')
|
@app.route('/queue')
|
||||||
def queue():
|
def queue():
|
||||||
|
if not session.get('authorized'):
|
||||||
|
return render_template(
|
||||||
|
"message.html",
|
||||||
|
alertclass="alert-danger",
|
||||||
|
message="You are not authorized to view this page."
|
||||||
|
)
|
||||||
|
|
||||||
quotes = Quote.query.filter_by(approved=False).order_by(Quote.id).all()
|
quotes = Quote.query.filter_by(approved=False).order_by(Quote.id).all()
|
||||||
|
|
||||||
if len(quotes)>0:
|
if len(quotes)>0:
|
||||||
|
@ -91,6 +98,40 @@ def queue():
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/moderate', methods=['POST'])
|
||||||
|
def moderate():
|
||||||
|
if not session.get('authorized'):
|
||||||
|
return render_template(
|
||||||
|
"message.html",
|
||||||
|
alertclass="alert-danger",
|
||||||
|
message="You are not authorized to perform this action."
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if request.form['submit'] == "Approve":
|
||||||
|
quote = Quote.query.filter_by(id=request.form['quoteid']).first()
|
||||||
|
quote.approved = True
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
return render_template(
|
||||||
|
"message.html",
|
||||||
|
alertclass="alert-success",
|
||||||
|
message="Quote approved."
|
||||||
|
)
|
||||||
|
elif request.form['submit'] == "Delete":
|
||||||
|
quote = Quote.query.filter_by(id=request.form['quoteid']).first()
|
||||||
|
db.session.delete(quote)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
return render_template(
|
||||||
|
"message.html",
|
||||||
|
alertclass="alert-success",
|
||||||
|
message="Quote deleted."
|
||||||
|
)
|
||||||
|
|
||||||
|
return str(request.form)
|
||||||
|
|
||||||
|
|
||||||
@app.route('/quote/<int:id>')
|
@app.route('/quote/<int:id>')
|
||||||
def quote(id):
|
def quote(id):
|
||||||
quote = Quote.query.filter_by(id=id, approved=True).first()
|
quote = Quote.query.filter_by(id=id, approved=True).first()
|
||||||
|
|
Loading…
Add table
Reference in a new issue