diff options
| -rw-r--r-- | app.py | 14 | ||||
| -rw-r--r-- | templates/index.html | 14 |
2 files changed, 22 insertions, 6 deletions
@@ -144,10 +144,6 @@ class dbProxy(object): users = self.c.execute("SELECT id FROM " + self.prefix + "_users WHERE role='user'").fetchall() users = [u['id'] for u in users] for joke in jokes: - # skip jokes marked as deleted - if not self.c.execute("SELECT COUNT(*) FROM " + self.prefix + "_votes WHERE type='delete' AND joke=?", (joke['id'],)).fetchone()['COUNT(*)'] == 0: - continue - ret_joke = { 'id': joke['id'] } @@ -180,6 +176,16 @@ class dbProxy(object): ret_joke['score'] = score ret_joke['freshness'] = jokes[-1]['id'] - joke['id'] + + # skip other's jokes marked as deleted + if not self.c.execute("SELECT COUNT(*) FROM " + self.prefix + "_votes WHERE type='delete' AND joke=?", (joke['id'],)).fetchone()['COUNT(*)'] == 0: + # deleted + if ret_joke['mine']: + ret_joke['deleted'] = True + ret_joke['score'] = ret_joke['freshness'] = -1000 + else: + continue + ret_jokes.append(ret_joke) ret_jokes = sorted(ret_jokes, key=lambda j: (j['score']+1)/pow(j['freshness']+1, 2), reverse=True) diff --git a/templates/index.html b/templates/index.html index e49514a..d0b1292 100644 --- a/templates/index.html +++ b/templates/index.html @@ -51,6 +51,7 @@ {% for joke in jokes %} <li class="collection-item row valign-wrapper"> <div class="col s4 m2 valign"> + {% if not joke.deleted %} <div> <i class="material-icons">whatshot</i><span class="right">{{ joke.score }}</span> </div> @@ -76,8 +77,17 @@ <span class="right red-text">{{ joke.reports }}</span> </button> </form> + {% else %} + <form action="/undelete" method="post"> + <input type="hidden" name="id" value="{{ joke.id }}"> + <input type="hidden" name="redirpage" value="{{ currentpage }}"> + <button class="btn-flat" type="submit" style="width: 100%;"> + <i class="material-icons">delete undo</i> + </button> + </form> + {% endif %} </div> - <div class="joke flow-text col s8 m10 {% if joke.reports>0 %}grey-text{% endif %}" style="line-height: 1.5"> + <div class="joke flow-text col s8 m10 {% if joke.reports>0 or joke.deleted %}grey-text{% endif %}" style="line-height: 1.5"> {% if joke.mine %} <form action="/edit" method="post"> <input type="hidden" name="id" value="{{ joke.id }}"> @@ -93,7 +103,7 @@ <div class="textfield noteditor"> {{ joke.html|safe }} </div> - {% if joke.mine %} + {% if joke.mine and not joke.deleted %} <form action="/delete" method="post"> <input type="hidden" name="id" value="{{ joke.id }}"> <input type="hidden" name="redirpage" value="{{ currentpage }}"> |
