def delete_vote(request):
"""
Delete a vote from the database
:param request: the current request object
:return: a redirect to language read
"""
if request.authenticated_user is None:
raise exc.HTTPNotFound()
public_language_id = request.matchdict["public_language_id"]
public_group_id = request.matchdict['public_group_id']
page_uri = urllib.unquote(urllib.unquote(request.matchdict['page_uri']))
page = annotran.pages.models.Page.get_by_uri(page_uri)
language = annotran.languages.models.Language.get_by_public_language_id(public_language_id)
# only authenticated used can delete translations and consequently their scores
user = h.models.User.get_by_username(request.authenticated_user.username)
group = h.groups.models.Group.get_by_pubid(public_group_id)
if language is None or page is None \
or group is None or user is None:
raise exc.HTTPNotFound()
models.Vote.delete_votes(page, language, group, user)
request.db.flush()
return {}
评论列表
文章目录