コード例 #1
0
ファイル: controllers.py プロジェクト: cgnkev/inyoka-legacy
 def vote(self, request, entry_id, action):
     entry = ForumEntry.query.get(entry_id)
     if entry.author == request.user:
         raise Forbidden
     v = Vote.query.filter_by(entry=entry, user=request.user).first()
     args = {
         'up': {
             'score': +1
         },
         'down': {
             'score': -1
         },
         'revoke': {
             'score': 0
         },
         'favorite': {
             'favorite': True
         },
         'nofavorite': {
             'favorite': False
         }
     }[action]
     if not v:
         args.update({
             'score': args.get('score', 0),
             'user': request.user,
         })
         v = Vote(**args)
         v.entry = entry
     else:
         for key, a in args.iteritems():
             setattr(v, key, a)
     db.session.commit()
     return redirect_to(entry)
コード例 #2
0
ファイル: controllers.py プロジェクト: EnTeQuAk/inyoka-legacy
 def vote(self, request, entry_id, action):
     entry = ForumEntry.query.get(entry_id)
     if entry.author == request.user:
         raise Forbidden
     v = Vote.query.filter_by(entry=entry, user=request.user).first()
     args = {
         'up':           {'score': +1},
         'down':         {'score': -1},
         'revoke':       {'score':  0},
         'favorite':     {'favorite': True},
         'nofavorite':   {'favorite': False}
     }[action]
     if not v:
         args.update({
             'score': args.get('score', 0),
             'user': request.user,
         })
         v = Vote(**args)
         v.entry = entry
     else:
         for key, a in args.iteritems():
             setattr(v, key, a)
     db.session.commit()
     return redirect_to(entry)