make sure form doesn't make it possible to post to locked topic
This commit is contained in:
parent
7ab1c8745f
commit
4cbc66d9aa
@ -71,6 +71,18 @@ class Users(Model):
|
||||
subscriptions.user_id = ?"""
|
||||
return db.query(q, self.id)
|
||||
|
||||
def can_post_to_topic(self, topic):
|
||||
if self.is_guest():
|
||||
return False
|
||||
|
||||
if self.is_mod():
|
||||
return True
|
||||
|
||||
if topic['is_locked']:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
class Topics(Model):
|
||||
table = "topics"
|
||||
|
@ -8,7 +8,8 @@
|
||||
<label for="topic_id">Topic</label>
|
||||
<select name="topic_id" id="topic_id" autocomplete="off">
|
||||
{% for topic in all_topics %}
|
||||
<option value="{{ topic['id'] }}" {{"selected" if (request.args.get('topic_id')) == (topic['id'] | string) else ""}}>{{ topic['name'] }}</option>
|
||||
{% set disable_topic = active_user and not active_user.can_post_to_topic(topic) %}
|
||||
<option value="{{ topic['id'] }}" {{"selected" if (request.args.get('topic_id')) == (topic['id'] | string) else ""}} {{'disabled' if disable_topic else ''}} >{{ topic['name'] }}{{ ' (locked)' if topic.is_locked }}</option>
|
||||
{% endfor %}
|
||||
</select><br>
|
||||
<label for="title">Thread title</label>
|
||||
|
Loading…
Reference in New Issue
Block a user