Revert "Revert "added "New topics by moderators only" option for forums""
This reverts commit 1208adad4b
.
This commit is contained in:
parent
1208adad4b
commit
71b839d70c
3 changed files with 4 additions and 2 deletions
|
@ -97,6 +97,7 @@ class Category(models.Model):
|
|||
|
||||
class Forum(models.Model):
|
||||
category = models.ForeignKey(Category, related_name='forums', verbose_name=_('Category'))
|
||||
moderator_only = models.BooleanField(_('New topics by moderators only'), default=False)
|
||||
name = models.CharField(_('Name'), max_length=80)
|
||||
position = models.IntegerField(_('Position'), blank=True, default=0)
|
||||
description = models.TextField(_('Description'), blank=True, default='')
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
</div>
|
||||
<div id="vf" class="blocktable">
|
||||
<div class="box">
|
||||
{% if user.is_authenticated %}
|
||||
{% if can_create_topics %}
|
||||
<a class="small button new_topic" href="{% url djangobb:add_topic forum.id %}" title="{% trans "Can't find an answer to your question? Click here to ask it in a new thread." %}"><span>{% trans "New topic" %}</span></a>
|
||||
{% endif %}
|
||||
<div class="box-head">
|
||||
|
|
|
@ -351,6 +351,7 @@ def show_forum(request, forum_id, full=True):
|
|||
'posts': forum.post_count,
|
||||
'topics': topics,
|
||||
'moderator': moderator,
|
||||
'can_create_topics': not forum.moderator_only or request.user.is_superuser or request.user in forum.moderators.all(),
|
||||
}
|
||||
if full:
|
||||
return render(request, 'djangobb_forum/forum.html', to_return)
|
||||
|
@ -486,7 +487,7 @@ def add_topic(request, forum_id):
|
|||
create a new topic, with or without poll
|
||||
"""
|
||||
forum = get_object_or_404(Forum, pk=forum_id)
|
||||
if not forum.category.has_access(request.user):
|
||||
if not forum.category.has_access(request.user) or (forum.moderator_only and not (request.user.is_superuser or request.user in forum.moderators.all())):
|
||||
return HttpResponseForbidden()
|
||||
|
||||
ip = request.META.get('REMOTE_ADDR', None)
|
||||
|
|
Reference in a new issue