+ description = Column(Unicode(1024), nullable=False, default=u'', server_default=u'')
+ access_level = Column(Enum(u'normal', u'soapbox', u'archive', name='forums_access_level'), nullable=False, default=u'normal', server_default=u'normal')
+
+ def can_create_thread(self, user):
+ """Returns True ifff the named user can make a new thread in this
+ forum.
+ """
+ if not user.can('forum:create-thread'):
+ return False
+
+ if self.access_level == u'soapbox' and \
+ not user.can('forum:override-soapbox'):
+ return False
+
+ if self.access_level == u'archive' and \
+ not user.can('forum:override-archive'):
+ return False
+
+ return True