minor update

This commit is contained in:
2025-08-26 13:59:33 +05:30
parent 657d57df22
commit d1b8889812
11 changed files with 163 additions and 15 deletions
+20
View File
@@ -1,7 +1,9 @@
from datetime import timedelta
from django.contrib.auth.models import AbstractUser
from django.core.validators import FileExtensionValidator
from django.conf import settings
from django.db import models
from django.utils import timezone
class User(AbstractUser):
is_citizen = models.BooleanField(default=False)
@@ -25,6 +27,24 @@ class User(AbstractUser):
related_name='core_user_permissions',
related_query_name='core_user',
)
is_banned = models.BooleanField(default=False)
banned_until = models.DateTimeField(null=True, blank=True)
def ban(self, days=1):
"""Ban user for given days (default 7 days)."""
self.is_banned = True
self.banned_until = timezone.now() + timedelta(days=days)
self.save()
def unban(self):
self.is_banned = False
self.banned_until = None
self.save()
def is_currently_banned(self):
if self.is_banned and self.banned_until:
return timezone.now() < self.banned_until
return False
class Department(models.Model):
name = models.CharField(max_length=100, unique=True)