예제 #1
0
파일: main.py 프로젝트: skid/fofou
  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)
예제 #2
0
파일: main.py 프로젝트: ignovak/uarat
  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)