telephony: автоформат +380, тип линии SIP/АТС и звонок через Asterisk AMI.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-13 14:52:09 +03:00
parent cc62324b69
commit 5d06d4d3ce
42 changed files with 1158 additions and 57 deletions
+3 -5
View File
@@ -2,7 +2,7 @@ from django.db import models
from django.conf import settings
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
from core.utils.validators import validate_ukrainian_phone
from core.models.fields import UkrainianPhoneField
from core.models.fields import EncryptedCharField
from django.utils import timezone
from .base import Location
@@ -140,8 +140,7 @@ class Pharmacy(Location):
choices=VAT_CATEGORY_CHOICES, blank=True, db_index=True,
)
phone = models.CharField(_('Телефон'), max_length=20, blank=True,
validators=[validate_ukrainian_phone])
phone = UkrainianPhoneField(_('Телефон'), blank=True)
working_hours = models.CharField(_('Часы работы'), max_length=100,
default='08:00-20:00')
@@ -342,8 +341,7 @@ class PharmacyPhone(models.Model):
]
pharmacy = models.ForeignKey(Pharmacy, on_delete=models.CASCADE,
related_name='phones', verbose_name='Аптека')
phone = models.CharField(_('Телефон'), max_length=20,
validators=[validate_ukrainian_phone])
phone = UkrainianPhoneField(_('Телефон'))
phone_type = models.CharField(_('Тип'), max_length=10, choices=PHONE_TYPES, default='main')
is_primary = models.BooleanField(_('Основной номер'), default=False)
is_active = models.BooleanField(_('Активен'), default=True)