Browse Source

Regular expression for validation telephone moved to settings

devel
bashmak 9 years ago
parent
commit
cb1dc0c273
  1. 12
      accounts_app/models.py
  2. 2
      djing/settings_example.py

12
accounts_app/models.py

@ -3,11 +3,14 @@ from django.db import models
from django.contrib.auth.models import BaseUserManager, AbstractBaseUser, PermissionsMixin from django.contrib.auth.models import BaseUserManager, AbstractBaseUser, PermissionsMixin
from django.core.validators import RegexValidator from django.core.validators import RegexValidator
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from djing.settings import DEFAULT_PICTURE
from django.conf import settings
from photo_app.models import Photo from photo_app.models import Photo
DEFAULT_PICTURE = getattr(settings, 'DEFAULT_PICTURE', '/static/images/default-avatar.png')
TELEPHONE_REGEXP = getattr(settings, 'TELEPHONE_REGEXP', r'^\+[7,8,9,3]\d{10,11}$')
class MyUserManager(BaseUserManager): class MyUserManager(BaseUserManager):
def create_user(self, telephone, username, password=None): def create_user(self, telephone, username, password=None):
""" """
@ -51,7 +54,7 @@ class UserProfile(AbstractBaseUser, PermissionsMixin):
max_length=16, max_length=16,
verbose_name=_('Telephone'), verbose_name=_('Telephone'),
#unique=True, #unique=True,
validators=[RegexValidator('^\+[7,8,9,3]\d{10,11}$')]
validators=[RegexValidator(TELEPHONE_REGEXP)]
) )
avatar = models.ForeignKey(Photo, null=True, blank=True, on_delete=models.SET_NULL) avatar = models.ForeignKey(Photo, null=True, blank=True, on_delete=models.SET_NULL)
email = models.EmailField(default='admin@example.ru') email = models.EmailField(default='admin@example.ru')
@ -65,13 +68,12 @@ class UserProfile(AbstractBaseUser, PermissionsMixin):
def get_short_name(self): def get_short_name(self):
return self.username or self.telephone return self.username or self.telephone
# Use UserManager to get the create_user method, etc. # Use UserManager to get the create_user method, etc.
objects = MyUserManager() objects = MyUserManager()
@property @property
def is_staff(self): def is_staff(self):
"Is the user a member of staff?"
" Is the user a member of staff?"
# Simplest possible answer: All admins are staff # Simplest possible answer: All admins are staff
return self.is_admin return self.is_admin

2
djing/settings_example.py

@ -168,3 +168,5 @@ DHCP_TIMEOUT = 14400
DEFAULT_SNMP_PASSWORD = 'public' DEFAULT_SNMP_PASSWORD = 'public'
TELEGRAM_BOT_TOKEN = 'bot token' TELEGRAM_BOT_TOKEN = 'bot token'
TELEPHONE_REGEXP = r'^\+[7,8,9,3]\d{10,11}$'
Loading…
Cancel
Save