diff --git a/gsoc/admin.py b/gsoc/admin.py index 5f8978df..6b0be9e5 100644 --- a/gsoc/admin.py +++ b/gsoc/admin.py @@ -772,3 +772,24 @@ class GsocYearAdmin(admin.ModelAdmin): admin.site.register(GsocYear, GsocYearAdmin) admin.site.register(SubOrg) + + +class NotAcceptedAdmin(admin.ModelAdmin): + list_display = ("email", "user_suborg", "user_role") + list_filter = ("user_suborg", "user_role") + + def get_queryset(self, request): + accepted_users = RegLink.objects.filter(is_used=True).values('email') + accepted_emails = [item['email'] for item in accepted_users] + not_accepted_users = \ + RegLink.objects.filter(gsoc_year=datetime.now().year).exclude(email__in=accepted_emails) + return not_accepted_users + + def has_add_permission(self, request, obj=None): + return False + + def has_change_permission(self, request, obj=None): + return False + + +admin.site.register(NotAcceptedUser, NotAcceptedAdmin) diff --git a/gsoc/migrations/0006_notaccepteduser.py b/gsoc/migrations/0006_notaccepteduser.py new file mode 100644 index 00000000..de0ac307 --- /dev/null +++ b/gsoc/migrations/0006_notaccepteduser.py @@ -0,0 +1,24 @@ +# Generated by Django 3.1.13 on 2022-06-02 16:56 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('gsoc', '0005_suborgprofile'), + ] + + operations = [ + migrations.CreateModel( + name='NotAcceptedUser', + fields=[ + ], + options={ + 'proxy': True, + 'indexes': [], + 'constraints': [], + }, + bases=('gsoc.reglink',), + ), + ] diff --git a/gsoc/models.py b/gsoc/models.py index 3f972f71..9fa5e8f3 100644 --- a/gsoc/models.py +++ b/gsoc/models.py @@ -1196,6 +1196,11 @@ def save(self, *args, **kwargs): super(SendEmail, self).save(*args, **kwargs) +class NotAcceptedUser(RegLink): + class Meta: + proxy = True + + # Receivers # Update blog count when new UserProfile is created