telephony: автоформат +380, тип линии SIP/АТС и звонок через Asterisk AMI.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -5,7 +5,8 @@ from django.utils.translation import gettext_lazy as _
|
||||
from core.models import BaseModel
|
||||
from core.models.fields import EncryptedCharField
|
||||
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager
|
||||
from core.utils.validators import validate_ukrainian_phone, validate_birth_date, validate_ukrainian_tax_number
|
||||
from core.models.fields import UkrainianPhoneField
|
||||
from core.utils.validators import validate_birth_date, validate_ukrainian_tax_number
|
||||
from core.utils.pagination import PAGE_SIZE_CHOICES, DEFAULT_PAGE_SIZE
|
||||
|
||||
class EmployeeManager(BaseUserManager):
|
||||
@@ -59,23 +60,31 @@ class Employee(AbstractBaseUser, PermissionsMixin, BaseModel):
|
||||
validators=[validate_ukrainian_tax_number]
|
||||
)
|
||||
|
||||
phone = models.CharField(
|
||||
_('Рабочий телефон'), max_length=20, blank=True,
|
||||
validators=[validate_ukrainian_phone]
|
||||
phone = UkrainianPhoneField(
|
||||
_('Рабочий телефон'), blank=True,
|
||||
)
|
||||
|
||||
class InternalLineType(models.TextChoices):
|
||||
ANALOG = 'analog', _('Обычная телефония')
|
||||
SIP = 'sip', _('SIP')
|
||||
|
||||
internal_number = models.CharField(
|
||||
_('Внутрішній номер'), max_length=10, blank=True,
|
||||
help_text=_('Короткий внутрішній (додатковий) номер АТС')
|
||||
)
|
||||
personal_phone = models.CharField(
|
||||
_('Личный телефон'), max_length=20, blank=True,
|
||||
validators=[validate_ukrainian_phone]
|
||||
internal_line_type = models.CharField(
|
||||
_('Тип линии'), max_length=10,
|
||||
choices=InternalLineType.choices,
|
||||
default=InternalLineType.ANALOG,
|
||||
help_text=_('Обычная АТС (аналог/DAHDI) или SIP-аппарат. Для офиса и склада.'),
|
||||
)
|
||||
personal_phone = UkrainianPhoneField(
|
||||
_('Личный телефон'), blank=True,
|
||||
)
|
||||
personal_email = models.EmailField(_('Личный email'), blank=True)
|
||||
|
||||
emergency_contact_name = models.CharField(_('Контакт в экстренных случаях'), max_length=200, blank=True)
|
||||
emergency_contact_phone = models.CharField(_('Телефон экстренного контакта'), max_length=20, blank=True,
|
||||
validators=[validate_ukrainian_phone])
|
||||
emergency_contact_phone = UkrainianPhoneField(_('Телефон экстренного контакта'), blank=True)
|
||||
emergency_contact_relation = models.CharField(_('Степень родства'), max_length=100, blank=True)
|
||||
|
||||
LOCATION_TYPES = [
|
||||
|
||||
Reference in New Issue
Block a user