def get(self): forum = Forum.from_url(self.request.path_info) user = users.get_current_user() is_admin = users.is_current_user_admin() if not forum or (forum.is_disabled and not is_admin): return self.redirect("/") if not is_admin and not self.settings.check_ip(self.request.remote_addr): return self.response.out.write('Your IP address has been banned') if not is_admin and not self.settings.check_user( user ): return self.redirect( users.create_login_url("/") ) offset, topics = Topic.getlist(forum, is_admin=is_admin, offset=self.request.get("from") or None) for topic in topics: topic.excerpt = Post.gql("WHERE topic = :1 ORDER BY created_on", topic)[0].get_excerpt() tvals = { 'user': user, 'analytics_code': forum.analytics_code or "", 'siteurl': self.request.url, 'isadmin': is_admin, 'forum' : forum, 'forum_urls': [f.url for f in Forum.all()], 'topics': topics, 'offset': offset, 'login_url': users.create_login_url(forum.root()), 'logout_url': users.create_logout_url(forum.root()) } self.template_out("skins/default/topic_list.html", tvals)
def get(self): self.user() # if users.is_current_user_admin(): # return self.redirect("/manageforums") MAX_FORUMS = 256 # if you need more, tough forums = Forum.all().fetch(MAX_FORUMS) # forums = db.GqlQuery("SELECT * FROM Forum").fetch(MAX_FORUMS) for f in forums: f.title_or_url = f.title or f.url forums = map( lambda group: { 'title': group, 'forums': filter( lambda forum: forum.group == group, forums ) }, Forum.GROUPES ) tvals = { 'forums' : forums, 'role': self.role, 'uid': self.uid, 'username': self.username, 'groupes': Forum.GROUPES } self.template_out("templates/forum_list.html", tvals)