From a4c17817c4b53faf9b825e5c1cb2fc471a6eda21 Mon Sep 17 00:00:00 2001 From: Shivank Kacker Date: Fri, 16 Dec 2022 14:07:33 +0530 Subject: [PATCH] Added validation for 11 digit toll free numbers (#1121) --- care/facility/models/asset.py | 4 ++-- care/users/models.py | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/care/facility/models/asset.py b/care/facility/models/asset.py index 2217b0cf97..7923cc055d 100644 --- a/care/facility/models/asset.py +++ b/care/facility/models/asset.py @@ -8,7 +8,7 @@ from care.facility.models.facility import Facility from care.facility.models.json_schema.asset import ASSET_META from care.facility.models.mixins.permissions.asset import AssetsPermissionMixin -from care.users.models import User, phone_number_regex +from care.users.models import User, phone_number_regex_11 from care.utils.assetintegration.asset_classes import AssetClasses from care.utils.models.base import BaseModel from care.utils.models.validators import JSONFieldSchemaValidator @@ -78,7 +78,7 @@ class Status(enum.Enum): vendor_name = models.CharField(max_length=1024, blank=True, null=True) support_name = models.CharField(max_length=1024, blank=True, null=True) support_phone = models.CharField( - max_length=14, validators=[phone_number_regex], default="" + max_length=14, validators=[phone_number_regex_11], default="" ) support_email = models.EmailField(blank=True, null=True) qr_code_id = models.CharField(max_length=1024, blank=True, default=None, null=True) diff --git a/care/users/models.py b/care/users/models.py index 93b0188890..1f35f4d7d6 100644 --- a/care/users/models.py +++ b/care/users/models.py @@ -25,6 +25,13 @@ def reverse_choices(choices): code="invalid_mobile", ) +phone_number_regex_11 = RegexValidator( + # allow 10 to 11 digit mobile numbers if the first 4 digits are 1800 + regex=r"^((\+91|91|0)[\- ]{0,1})?[456789]\d{9}|1800\d{6,7}$", + message="Please Enter 10/11 digit mobile/landline/tollfree number", + code="invalid_mobile", +) + DISTRICT_CHOICES = [ (1, "Thiruvananthapuram"), (2, "Kollam"),