diff --git a/src/account/models.py b/src/account/models.py index 082a83c98de9be5d956af810734422ca9897c1c7..84a4c47a0a06bc9aaa6e5d1407665a608d309c0a 100644 --- a/src/account/models.py +++ b/src/account/models.py @@ -41,6 +41,10 @@ class Profile(models.Model): groups = models.ManyToManyField(GroupChoice, related_name='profiles', blank=True) role = models.CharField(max_length=10, choices=ROLES, default='Applicant') + @property + def score(self): + return self.events_visitor.all().count()*10 + self.solution.filter(accepted=True).count()*50 + @property def full_name(self): return self.user.get_full_name() diff --git a/src/account/serializers.py b/src/account/serializers.py index 8a91ba99b742bae6f153c4d0606734b7dab45488..52ce77f49f28a5c06dfb03ecbd629ad6a5015201 100644 --- a/src/account/serializers.py +++ b/src/account/serializers.py @@ -30,6 +30,7 @@ class ProfileSerializer_User(serializers.ModelSerializer): 'motivation_exercise', 'full_name', 'role', + 'score', ) def validate_updated_at(self, value): @@ -82,6 +83,7 @@ class ProfileSerializer_Staff(serializers.ModelSerializer): 'motivation_exercise', 'full_name', 'role', + 'score', ) def validate_updated_at(self, value):