diff --git a/website/migrations/0209_add_referral_fields.py b/website/migrations/0209_add_referral_fields.py new file mode 100644 index 000000000..f1f966c5a --- /dev/null +++ b/website/migrations/0209_add_referral_fields.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.7 on 2023-09-15 12:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('website', '0208_auto_20230915_1159'), + ] + + operations = [ + migrations.AddField( + model_name='userprofile', + name='referral_clicks', + field=models.PositiveIntegerField(default=0), + ), + migrations.AddField( + model_name='userprofile', + name='referral_signups', + field=models.PositiveIntegerField(default=0), + ), + ] diff --git a/website/models.py b/website/models.py index b9f758c43..a746f94fd 100644 --- a/website/models.py +++ b/website/models.py @@ -632,6 +632,14 @@ class InviteFriend(models.Model): def __str__(self): return f"Invite from {self.sender}" + def increment_referral_clicks(self): + self.sender.userprofile.referral_clicks += 1 + self.sender.userprofile.save() + + def increment_referral_signups(self): + self.sender.userprofile.referral_signups += 1 + self.sender.userprofile.save() + def user_images_path(instance, filename): from django.template.defaultfilters import slugify @@ -706,6 +714,9 @@ def check_team_membership(self): longest_streak = models.IntegerField(default=0) last_check_in = models.DateField(null=True, blank=True) + referral_clicks = models.PositiveIntegerField(default=0) + referral_signups = models.PositiveIntegerField(default=0) + def avatar(self, size=36): if self.user_avatar: return self.user_avatar.url diff --git a/website/templates/includes/_leaderboard_widget.html b/website/templates/includes/_leaderboard_widget.html index 3f94914c3..8c3a0ccb4 100644 --- a/website/templates/includes/_leaderboard_widget.html +++ b/website/templates/includes/_leaderboard_widget.html @@ -136,6 +136,8 @@ {% endif %} {{ leader.username }} + Clicks: {{ leader.userprofile.referral_clicks }} + Signups: {{ leader.userprofile.referral_signups }}