X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/410bfa05ee36ed1d99356c443a5f3f6aa3ee9578..01eed1521a67afc04a8112b44ca4cd1c4a32cf00:/forum/badges/base.py diff --git a/forum/badges/base.py b/forum/badges/base.py index fce6b6e..3af46f7 100644 --- a/forum/badges/base.py +++ b/forum/badges/base.py @@ -4,7 +4,7 @@ from string import lower from django.contrib.contenttypes.models import ContentType from django.db.models.signals import post_save -from forum.models import Badge, Node +from forum.models import Badge, Node, Action from forum.actions import AwardAction import logging @@ -60,10 +60,12 @@ class AbstractBadge(object): def award(cls, user, action, once=False): if once: node = None + awarded = AwardAction.get_for(user, cls.ondb) else: node = action.node + awarded = AwardAction.get_for(user, cls.ondb, node) - awarded = AwardAction.get_for(user, node, cls.ondb) + trigger = isinstance(action, Action) and action or None if not awarded: - AwardAction(user=user, node=node, ip=action.ip).save(data=dict(badge=cls.ondb, trigger=action)) \ No newline at end of file + AwardAction(user=user, node=node, ip=action.ip).save(data=dict(badge=cls.ondb, trigger=trigger)) \ No newline at end of file