Esempio n. 1
0
    def award_to(self, laureate):
        laureate_ctype = ContentType.objects.get_for_model(laureate)

        # Check if the laureate already has this badge
        has_badge = False

        laureate_badges = BadgeToLaureate.objects.filter(badge=self,
                                                         laureate_content_type=laureate_ctype,
                                                         laureate_object_id=laureate.pk)
        
        if laureate_badges.count():
            has_badge = True


        if self.meta_badge.one_time_only and has_badge:
            return False
        
        # Create badge
        BadgeToLaureate.objects.create(badge=self, 
                                       laureate_content_type=laureate_ctype,
                                       laureate_object_id=laureate.pk)

                
        badge_awarded.send(sender=self.meta_badge, laureate=laureate, badge=self)
        
        # message_template = "You just got the %s Badge!"
        # user.message_set.create(message = message_template % self.title)
        
        return BadgeToLaureate.objects.filter(badge=self, 
                                              laureate_content_type=laureate_ctype,
                                              laureate_object_id=laureate.pk).count()
Esempio n. 2
0
 def award_to(self, user):
     has_badge = self in user.badges.all()
     if self.meta_badge.one_time_only and has_badge:
         return False
     
     BadgeToUser.objects.create(badge=self, user=user)
             
     badge_awarded.send(sender=self.meta_badge, user=user, badge=self)
     
     return BadgeToUser.objects.filter(badge=self, user=user).count()
Esempio n. 3
0
 def award_to(self, user):
     has_badge = self in user.badges.all()
     if self.meta_badge.one_time_only and has_badge:
         return False
     
     BadgeToUser.objects.create(badge=self, user=user)
             
     badge_awarded.send(sender=self.meta_badge, user=user, badge=self)
     
     return BadgeToUser.objects.filter(badge=self, user=user).count()
Esempio n. 4
0
 def award_to(self, user):
     has_badge = self in user.badges.all()
     if self.meta_badge.one_time_only and has_badge:
         return False
     
     BadgeToUser.objects.create(badge=self, user=user)
             
     badge_awarded.send(sender=self.meta_badge, user=user, badge=self)
     
     message_template = "You just got the %s Badge!"
     user.message_set.create(message = message_template % self.title)
     
     return BadgeToUser.objects.filter(badge=self, user=user).count()
Esempio n. 5
0
    def award_to(self, user):
        has_badge = self in user.badges.all()
        if self.meta_badge.one_time_only and has_badge:
            return False

        BadgeToUser.objects.create(badge=self, user=user)

        ##################
        user.profile.num_of_achievements += 1
        user.profile.save()
        ##################

        badge_awarded.send(sender=self.meta_badge, user=user, badge=self)

        return BadgeToUser.objects.filter(badge=self, user=user).count()