From 47fd0b3ec6716a40b2aa64534f61e9a85ad01ac9 Mon Sep 17 00:00:00 2001
From: rlacko <rlacko@rlacko.sch.bme.hu>
Date: Fri, 9 Aug 2019 03:24:55 +0200
Subject: [PATCH] Score system

---
 src/account/models.py      | 4 ++++
 src/account/serializers.py | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/src/account/models.py b/src/account/models.py
index 082a83c..84a4c47 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 8a91ba9..52ce77f 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):
-- 
GitLab