Beispiel #1
0
    def award_author_badges(self, entity):

        user_data_author = UserData.get_from_db_key_email(entity.author.email())

        if not user_data_author:
            return

        possible_badges = badges_with_context_type(BadgeContextType.FEEDBACK)

        awarded = False
        for badge in possible_badges:
            if not badge.is_already_owned_by(user_data=user_data_author, feedback=entity):
                if badge.is_satisfied_by(user_data=user_data_author, feedback=entity):
                    badge.award_to(user_data=user_data_author, feedback=entity)
                    awarded = True

        if awarded:
            user_data_author.put()