示例#1
0
 def post(self, topic_id):
     username = self.current_user
     s = yield gen.maybe_future(
         Subscription.get_by_user_topic(username, topic_id))
     if s:
         raise exceptions.TopicAlreadySubscribed()
     else:
         yield gen.maybe_future(Subscription.create(username, topic_id))
示例#2
0
 def delete(self, topic_id):
     username = self.current_user
     s = yield gen.maybe_future(
         Subscription.get_by_user_topic(username, topic_id))
     if s:
         yield gen.maybe_future(s.delete())
     else:
         raise exceptions.TopicHasNotBeenSubscribed()
示例#3
0
文件: topics.py 项目: damnever/2L
def _topic_info(username, topic):
    is_subed = False
    if username is not None:
        exists = Subscription.get_by_user_topic(username, topic.id)
        if exists:
            is_subed = True

    info = topic.to_dict()
    info.update({'is_subscribed': is_subed})
    return info
示例#4
0
文件: contents.py 项目: damnever/2L
 def get(self, topic_id):
     topic = yield gen.maybe_future(Topic.get(topic_id))
     if not topic:
         raise HTTPError(404)
     admin = yield gen.maybe_future(User.get(topic.admin_id))
     is_subscribed = False
     if self.current_user:
         is_subscribed = yield gen.maybe_future(
             Subscription.get_by_user_topic(self.current_user, topic.id))
     self.render(
         'topic.html',
         title=topic.name,
         keywords=topic.name + ', 2L',
         description=topic.description,
         topic_id=topic_id,
         admin=admin.username,
         avatar=topic.avatar,
         rules=topic.rules,
         is_subscribed=int(bool(is_subscribed)),
     )