account verbose name full name property and account admin displays
This commit is contained in:
+24
-11
@@ -6,6 +6,8 @@ from datetime import datetime, timedelta
|
||||
from django.utils import timezone
|
||||
from rest_framework_simplejwt.token_blacklist.models import BlacklistedToken, OutstandingToken
|
||||
import hashlib
|
||||
from django.contrib import admin
|
||||
|
||||
class UserManager(BaseUserManager):
|
||||
def create_user(self, phone, password=None):
|
||||
if not phone:
|
||||
@@ -37,8 +39,8 @@ class User(AbstractBaseUser, PermissionsMixin):
|
||||
first_name = models.CharField(max_length=50, blank=True, verbose_name='نام')
|
||||
last_name = models.CharField(max_length=50, blank=True, verbose_name='نام خانوادگی')
|
||||
profile_photo = models.ImageField(upload_to='profile_photos/', null=True, blank=True, verbose_name='عکس پروفایل')
|
||||
is_active = models.BooleanField(default=True)
|
||||
is_staff = models.BooleanField(default=False)
|
||||
is_active = models.BooleanField(default=True, verbose_name='فعال بودن کاربر')
|
||||
is_staff = models.BooleanField(default=False, verbose_name='کارمند')
|
||||
date_joined = models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ثبتنام')
|
||||
otp_hash = models.CharField(max_length=64, null=True, blank=True, verbose_name='کد یک بار مصرف')
|
||||
otp_expiry = models.DateTimeField(null=True, blank=True, verbose_name='تاریخ تمام شدن کد یک بار مصرف')
|
||||
@@ -51,6 +53,12 @@ class User(AbstractBaseUser, PermissionsMixin):
|
||||
def groups(self):
|
||||
return None
|
||||
|
||||
@property
|
||||
def full_name(self):
|
||||
if self.first_name and self.last_name:
|
||||
return f"{self.first_name} {self.last_name}"
|
||||
return None
|
||||
|
||||
@property
|
||||
def user_permissions(self):
|
||||
return None
|
||||
@@ -105,13 +113,18 @@ class User(AbstractBaseUser, PermissionsMixin):
|
||||
|
||||
|
||||
class UserAddressModel(models.Model):
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='address')
|
||||
name = models.CharField(max_length=30)
|
||||
address = models.TextField()
|
||||
postal_code = models.CharField(max_length=10)
|
||||
phone = models.CharField(max_length=11)
|
||||
city = models.CharField(max_length=30)
|
||||
province = models.CharField(max_length=30)
|
||||
for_me = models.BooleanField(default=False)
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='address', verbose_name='کاربر')
|
||||
name = models.CharField(max_length=30, verbose_name='نام ادرس')
|
||||
address = models.TextField(verbose_name='ادرس کامل')
|
||||
postal_code = models.CharField(max_length=10, verbose_name='کد پستی')
|
||||
phone = models.CharField(max_length=11, verbose_name='شماره تماس برای ارسال', help_text='شماره تماس کاربر و شماره ی ارسالی میتواند متفاوت باشد')
|
||||
city = models.CharField(max_length=30, verbose_name='شهر')
|
||||
province = models.CharField(max_length=30, verbose_name='استان')
|
||||
for_me = models.BooleanField(default=False, verbose_name='برای خود کاربر')
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.user.phone}, {self.name}"
|
||||
return f"{self.user.phone}, {self.name}"
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'ادرس کاربر'
|
||||
verbose_name_plural = 'ادرس های کاربر'
|
||||
Reference in New Issue
Block a user