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)
|
||||
rating = db.Column(db.Integer)
|
||||
content = db.Column(db.String())
|
||||
content = db.Column(db.String(), nullable=False)
|
||||
approved = db.Column(db.Boolean)
|
||||
author_ip = db.Column(db.String())
|
||||
time = db.Column(db.String())
|
||||
author_ip = db.Column(db.String(), nullable=False)
|
||||
time = db.Column(db.String(), nullable=False)
|
||||
tags = db.relationship(
|
||||
'Tag',
|
||||
secondary=tags_to_quotes,
|
||||
|
@ -36,7 +36,7 @@ class Tag(db.Model):
|
|||
__tablename__ = 'tags'
|
||||
|
||||
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):
|
||||
|
|
|
@ -9,6 +9,14 @@
|
|||
<p>{{ quote.content|safe }}</p>
|
||||
</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">
|
||||
|
||||
Tags:
|
||||
|
|
|
@ -71,6 +71,13 @@ def latest():
|
|||
|
||||
@app.route('/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()
|
||||
|
||||
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>')
|
||||
def quote(id):
|
||||
quote = Quote.query.filter_by(id=id, approved=True).first()
|
||||
|
|
Loading…
Add table
Reference in a new issue