mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 07:49:57 +01:00 
			
		
		
		
	Added valid field and logic for Achievement
This commit is contained in:
		| @@ -45,9 +45,9 @@ class Family(models.Model): | ||||
|         return self.name | ||||
|  | ||||
|     def update_score(self, *args, **kwargs): | ||||
|         challenge_set = Challenge.objects.select_for_update().filter(achievement__family=self) | ||||
|         challenge_set = Challenge.objects.select_for_update().filter(achievement__family=self, achievement__valid=True) | ||||
|         points_sum = challenge_set.aggregate(models.Sum("points")) | ||||
|         self.score = points_sum["points__sum"] | ||||
|         self.score = points_sum["points__sum"] if points_sum["points__sum"] else 0 | ||||
|         self.save() | ||||
|         self.update_ranking() | ||||
|  | ||||
| @@ -86,7 +86,7 @@ class FamilyMembership(models.Model): | ||||
|     family = models.ForeignKey( | ||||
|         Family, | ||||
|         on_delete=models.PROTECT, | ||||
|         related_name=_('members'), | ||||
|         related_name=_('memberships'), | ||||
|         verbose_name=_('family'), | ||||
|     ) | ||||
|  | ||||
| @@ -157,6 +157,11 @@ class Achievement(models.Model): | ||||
|         default=timezone.now, | ||||
|     ) | ||||
|  | ||||
|     valid = models.BooleanField( | ||||
|         verbose_name=_('valid'), | ||||
|         default=False, | ||||
|     ) | ||||
|  | ||||
|     class Meta: | ||||
|         verbose_name = _('achievement') | ||||
|         verbose_name_plural = _('achievements') | ||||
|   | ||||
		Reference in New Issue
	
	Block a user