province and city name
This commit is contained in:
parent
ba41e79b98
commit
2d444fd270
3 changed files with 15 additions and 2 deletions
|
|
@ -11,6 +11,8 @@ from django.utils import timezone
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework.exceptions import APIException
|
||||
import uuid
|
||||
|
||||
from .provinces_and_cities import state
|
||||
from .tasks import send_notification
|
||||
|
||||
from apps.users.constans import MAX_OTP_TRY, DEVELOPMENT_PHONE_NUMBERS
|
||||
|
|
@ -123,6 +125,14 @@ class User(AbstractUser):
|
|||
|
||||
objects = UserManager()
|
||||
|
||||
@property
|
||||
def city_name(self):
|
||||
return state.get_city_by_id(self.city)
|
||||
|
||||
@property
|
||||
def province_name(self):
|
||||
return state.get_province_by_id(self.province)
|
||||
|
||||
def set_otp(self):
|
||||
if settings.DEBUG or self.phone_number in DEVELOPMENT_PHONE_NUMBERS:
|
||||
self.otp = '12345'
|
||||
|
|
|
|||
|
|
@ -1316,6 +1316,7 @@ class State:
|
|||
def province_list(self):
|
||||
return self.provinces
|
||||
|
||||
# TODO: performance issue
|
||||
def get_city_by_id(self, city_id):
|
||||
for province_id, province in self.provinces.items():
|
||||
for city in province.get('cities'):
|
||||
|
|
@ -1324,7 +1325,7 @@ class State:
|
|||
return None
|
||||
|
||||
def get_province_by_id(self, province_id):
|
||||
return self.provinces.get(province_id).get('name')
|
||||
return self.provinces.get(province_id, {}).get('name')
|
||||
|
||||
def validate_city(self, province_id, city_id):
|
||||
cities_id = [item.get('id') for item in self.provinces.get(province_id).get('cities')]
|
||||
|
|
|
|||
|
|
@ -28,11 +28,13 @@ class AccountSerializer(serializers.ModelSerializer):
|
|||
'iban_verified',
|
||||
# 'country',
|
||||
'province',
|
||||
'province_name',
|
||||
'city',
|
||||
'city_name',
|
||||
'postal_code',
|
||||
'address',
|
||||
)
|
||||
read_only_fields = ['uuid', 'balance', 'email', 'phone_number', 'iban_verified']
|
||||
read_only_fields = ['uuid', 'balance', 'email', 'phone_number', 'iban_verified', 'province_name', 'city_name',]
|
||||
|
||||
|
||||
class RequestOTPSerializer(serializers.ModelSerializer):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue