diff --git a/gsoc/models.py b/gsoc/models.py index 9fa5e8f3..3a25aef0 100644 --- a/gsoc/models.py +++ b/gsoc/models.py @@ -13,7 +13,7 @@ from googleapiclient.discovery import build from django.contrib.auth.models import Permission -from django.contrib import auth, messages +from django.contrib import auth from django.db import models from django.contrib.auth.models import User from django.dispatch import receiver @@ -1070,6 +1070,22 @@ def create_reminder(self, trigger_time=None): else: self.create_scheduler() + def save(self, *args, **kwargs): + try: + reglink = RegLink.objects.get( + user_role=self.user_role, + gsoc_year=self.gsoc_year, + email=self.email, + user_suborg=self.user_suborg + ) + if reglink.scheduler_id is not None and reglink.reminder_id is not None: + Scheduler.objects.get(id=reglink.scheduler_id).delete() + Scheduler.objects.get(id=reglink.reminder_id).delete() + reglink.delete() + except RegLink.DoesNotExist: + pass + super(RegLink, self).save(*args, **kwargs) + class Comment(models.Model): username = models.CharField(max_length=50)