def get_region(region_id=None): if region_id: data = {"region_id": int(region_id)} region_list = request_api(SERVICE_SYSTEM_REGION_ALL_URL, 'POST', content=data) else: region_list = request_api(SERVICE_SYSTEM_REGION_ALL_URL, 'POST') return region_list
def get_province(province_id=None, has_project=False): if has_project: province_list = request_api(SERVICE_UNIPRIME_PROVINCE_FILTER, 'GET') else: data = {} if province_id: data["province_id"] = province_id province_list = request_api(SERVICE_SYSTEM_PROVINCE_ALL_URL, 'POST', content=data) return province_list
def get_district(province_id, district_id=None, has_project=False): if has_project: district_list = request_api(SERVICE_UNIPRIME_DISTRICT_FILTER, 'GET', params={"province_id": province_id}) else: data = {"province_id": province_id} if district_id: data["district_id"] = district_id district_list = request_api(SERVICE_SYSTEM_DISTRICT_FROM_PROVINCE_URL, 'POST', content=data) return district_list
def find_province(province_id): response = request_api(SERVICE_SYSTEM_FIND_PROVINCE, 'POST', content={"province_id": province_id}) try: return json.loads(response)["data"] except: return ""
def get_ward(district_id=None, ward_id=None, has_project=False): if has_project: ward_list = request_api(SERVICE_UNIPRIME_WARD_FILTER, 'GET', params={"district_id": district_id}) else: data = {} if district_id: data["district_id"] = district_id if ward_id: data['ward_id'] = ward_id ward_list = request_api(SERVICE_SYSTEM_WARD_FROM_DISTRICT_URL, 'POST', content=data) return ward_list
def find_district(district_id): response = request_api(SERVICE_SYSTEM_FIND_DISTRICT, 'POST', content={"district_id": district_id}) try: return json.loads(response)["data"] except: return ""
def find_ward(ward_id): response = request_api(SERVICE_SYSTEM_FIND_WARD, 'POST', content={"ward_id": ward_id}) try: return json.loads(response)["data"] except: return ""
def get_district_name(district_id): response = request_api(SERVICE_SYSTEM_FIND_DISTRICT, 'POST', content={"district_id": [district_id]}) try: province_dict = json.loads(response)["data"][0] return province_dict.get('name') except: return ""
def get_province_name(province_id): response = request_api(SERVICE_SYSTEM_FIND_PROVINCE, 'POST', content={"province_id": [province_id]}) try: province_dict = json.loads(response)["data"][0] return province_dict.get('name') except: return ""
def get_country_name(country_id): response = request_api(SERVICE_SYSTEM_FIND_COUNTRY, 'POST', content={"country_id": [country_id]}) try: province_dict = json.loads(response)["data"][0] return province_dict.get('name') except: return ""
def get_ward_name(ward_id): response = request_api(SERVICE_SYSTEM_FIND_WARD, 'POST', content={"ward_id": ward_id}) try: province_dict = json.loads(response)["data"][0] return province_dict.get('name') except: return ""
def get_currency_rate_from_vcb_vnd(target_currency): if target_currency: response = request_api(url=SERVICE_SYSTEM_SEARCH_CURRECY_RATE, method='GET', params={"base": target_currency}) if response: data = json.loads(response) if data['success']: data = data['data'] return data return None
def get_dict_ward(list_ward): try: list_ward = json.loads( request_api(url=SERVICE_SYSTEM_FIND_WARD, method="POST", content={"ward_id": list_ward}))['data'] except: list_ward = list() dict_ward = dict() for ward in list_ward: dict_ward.update({ward['ward_id']: ward['name']}) return dict_ward
def get_dict_province(list_province): try: list_province = json.loads( request_api(url=SERVICE_SYSTEM_FIND_PROVINCE, method="POST", content={"province_id": list_province}))['data'] except: list_province = list() dict_province = dict() for province in list_province: dict_province.update({province['province_id']: province['name']}) return dict_province
def get_dict_district(list_district): try: list_district = json.loads( request_api(url=SERVICE_SYSTEM_FIND_DISTRICT, method="POST", content={"district_id": list_district}))['data'] except: list_district = list() dict_district = dict() for district in list_district: dict_district.update({district['district_id']: district['name']}) return dict_district
def get_location_point_from_address(address): if address: response = request_api(url=SERVICE_SYSTEM_SEARCH_ALL, method='post', content={'Keyword': address}) if response: data = json.loads(response) if data['success'] and data['total_count'] >= 1: point_data = data['data'][0] if point_data: return { 'lat': point_data['Latitude'], 'lon': point_data['Longitude'] } return None
def send_email_reset_password(request, type_reset_pass, email=None, customer_or_banking_user_id=None): if type_reset_pass == RESET_PASSWORD_TYPE_SELF: if email is None: return { 'success': False, 'detail': 'email must be passed in when seft reset password' } if not isinstance(email, str): return { 'success': False, 'detail': 'email must be a string' } email = email.lower() if re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', email) is None: return { 'success': False, 'detail': 'email is not valid' } # TODO: đợt chốt và thêm SERVICE_UNIPRIME_FORGOT_PASSWORD bên uniprime mobile try: response_forgot_password_uniprime = json.loads(request_api( url=SERVICE_UNIPRIME_FORGOT_PASSWORD, method='POST', content={'email': email}, headers=HEADER_UNIPRIME )) if response_forgot_password_uniprime['success']: return { 'success': True, 'detail': 'send email reset password success' } except: return { 'success': False, 'detail': 'call to uniprime api error' } elif type_reset_pass == RESET_PASSWORD_TYPE_CUSTOMER or type_reset_pass == RESET_PASSWORD_TYPE_BANKING_USER: if customer_or_banking_user_id is None: return { 'success': False, 'detail': 'customer_or_banking_user_id must be passed in when reset password customer' } if not isinstance(customer_or_banking_user_id, int): return { 'success': False, 'detail': 'customer_or_banking_user_id must be an integer' } if type_reset_pass == RESET_PASSWORD_TYPE_CUSTOMER: model = Customer else: model = BankingUser try: customer_or_banking_user = model.objects.get(id=customer_or_banking_user_id) except model.DoesNotExist as ex: return { 'success': False, 'detail': str(ex) } if customer_or_banking_user.username is None: return { 'success': False, 'detail': 'customer_or_banking_user_id does not have account before' } if type_reset_pass == RESET_PASSWORD_TYPE_CUSTOMER: nick_name = customer_or_banking_user.name else: nick_name = customer_or_banking_user.full_name if nick_name is None or nick_name == '': nick_name = 'user' email = customer_or_banking_user.email key_reset_pass = customer_or_banking_user.reset_key_reset_password(now()) host_url = request.build_absolute_uri(reverse('reset_pass', kwargs={'key': key_reset_pass})) html_message = '<p>Dear ' + nick_name + ',</p>' \ '<p> </p>' \ '<p>We have received your request to reset your password.</p>' \ '<p>Please click on the link below to get you in the door:</p>' \ '<p>Link <a href="' + host_url + '">' + host_url + '</a></p>' \ "<p>Don't leave it to late through, this link is only available for 24 hours.</p>" \ '<p> </p>' \ '<p>Thanks,</p>' \ '<p>Admin Team</p>' try: send_mail( 'Reset your password', '', 'EMAIL_HOST_STRING', [email], html_message=html_message ) return { 'success': True, 'detail': 'send email reset password success' } except Exception: return { 'success': False, 'detail': 'send email reset password fail', } else: return { 'success': False, 'detail': 'type_reset_pass is not valid', }
def get_country(): countries = request_api(SERVICE_SYSTEM_COUNTRIES_ALL_URL, 'POST') return countries