예제 #1
0
파일: reputation.py 프로젝트: igorgue/osqa
        repute_type, repute_value = (instance.vote == 1) and (
            TYPE_REPUTATION_GAIN_BY_UPVOTED, int(settings.REP_GAIN_BY_UPVOTED)) or (
            TYPE_REPUTATION_LOST_BY_DOWNVOTED, -int(settings.REP_LOST_BY_DOWNVOTED))

        post.author.reputes.create(value=repute_value, question=question, reputation_type=repute_type)

post_save.connect(on_vote, sender=Vote)


def on_vote_canceled(instance, **kwargs):
    if not instance.content_object.wiki:
        post = instance.content_object
        question = (post.__class__ == Question) and post or post.question

        if instance.vote == -1:
            instance.user.reputes.create(value=int(settings.REP_GAIN_BY_CANCELING_DOWNVOTE),
            question=question, reputation_type=TYPE_REPUTATION_GAIN_BY_CANCELING_DOWNVOTE)

        repute_type, repute_value = (instance.vote == 1) and (
            TYPE_REPUTATION_LOST_BY_UPVOTE_CANCELED, -int(settings.REP_LOST_BY_UPVOTE_CANCELED)) or (
            TYPE_REPUTATION_GAIN_BY_DOWNVOTE_CANCELED, int(settings.REP_GAIN_BY_DOWNVOTE_CANCELED))

        post.author.reputes.create(value=repute_value, question=question, reputation_type=repute_type)

vote_canceled.connect(on_vote_canceled)


    


예제 #2
0
파일: activity.py 프로젝트: igorgue/osqa
        )
        activity.save()


post_save.connect(record_vote, sender=Vote)


def record_cancel_vote(instance, **kwargs):
    act_type = (instance.vote == 1) and TYPE_ACTIVITY_CANCEL_VOTE_UP or TYPE_ACTIVITY_CANCEL_VOTE_DOWN
    activity = Activity(
        user=instance.user, active_at=datetime.datetime.now(), content_object=instance, activity_type=act_type
    )
    activity.save()


vote_canceled.connect(record_cancel_vote)


def record_delete_post(instance, **kwargs):
    act_type = (instance.__class__ is Question) and TYPE_ACTIVITY_DELETE_QUESTION or TYPE_ACTIVITY_DELETE_ANSWER
    activity = Activity(
        user=instance.deleted_by, active_at=datetime.datetime.now(), content_object=instance, activity_type=act_type
    )
    activity.save()


marked_deleted.connect(record_delete_post, sender=Question)
marked_deleted.connect(record_delete_post, sender=Answer)


def record_update_tags(instance, created, **kwargs):