X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/3b2f9ebad3131bb86045f3ac1d3b4f43b6d78398..6f9524a34c490d43db43a1ae4b44b40d77ce691a:/forum/reputation.py diff --git a/forum/reputation.py b/forum/reputation.py index 4a0fe7e..71f9d65 100644 --- a/forum/reputation.py +++ b/forum/reputation.py @@ -1,5 +1,5 @@ from django.db.models.signals import post_save -from forum.models.meta import vote_canceled +from forum.models.base import mark_canceled from forum.models.answer import answer_accepted, answer_accepted_canceled from forum.models import * @@ -58,7 +58,7 @@ answer_accepted_canceled.connect(on_answer_accepted) def on_vote(instance, created, **kwargs): - if created and not instance.content_object.wiki: + if created and (instance.content_object.node_type in ("question", "answer") and not instance.content_object.wiki): post = instance.content_object.leaf question = (post.__class__ == Question) and post or post.question @@ -79,7 +79,7 @@ post_save.connect(on_vote, sender=Vote) def on_vote_canceled(instance, **kwargs): - if not instance.content_object.wiki: + if instance.content_object.node_type in ("question", "answer") and not instance.content_object.wiki: post = instance.content_object.leaf question = (post.__class__ == Question) and post or post.question @@ -93,7 +93,7 @@ def on_vote_canceled(instance, **kwargs): post.author.reputes.create(value=repute_value, question=question, reputation_type=repute_type) -vote_canceled.connect(on_vote_canceled) +mark_canceled.connect(on_vote_canceled, sender=Vote)