minor update
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user