before change Ticket Desc to TextArea
This commit is contained in:
1 parent
f7dbd02a6c
commit
ef18434b86
55 files changed
+1026
-59
No files matched your search
@@ -5,14 +5,16 @@ from apps.jwt_auth.models import CUserRoleLoginOpt
|
||||
from apps.cuser.models import CuserRole as CuserRoleModel, SmsOpt as SmsOptModel
|
||||
from django.utils import timezone
|
||||
from rest_framework import exceptions
|
||||
CUser = get_user_model()
|
||||
import requests
|
||||
from datetime import timedelta
|
||||
|
||||
CUser = get_user_model()
|
||||
|
||||
def login_by_username(username: str, password: str) -> CUserRoleLoginOpt:
|
||||
try:
|
||||
print(username)
|
||||
user = CUser.objects.get(username=username)
|
||||
print(user)
|
||||
|
||||
if user and user.check_password(password):
|
||||
|
||||
cuser_roles = CuserRoleModel.objects.filter(cuser=user)
|
||||
@@ -52,21 +54,35 @@ def login_by_mobile(mobile: int):
|
||||
|
||||
random_number = random.randint(100000, 999999)
|
||||
|
||||
|
||||
try:
|
||||
SmsOptModel.objects.filter(mobile=mobile).delete()
|
||||
except Exception as exp:
|
||||
pass
|
||||
|
||||
opt_code = SmsOptModel(mobile=mobile, opt=123456)
|
||||
expire_time = timezone.now() + timedelta(minutes=3)
|
||||
opt_code = SmsOptModel(mobile=mobile, opt=random_number, expire=expire_time)
|
||||
opt_code.save()
|
||||
|
||||
sms_text = f' کد ورود شما: {random_number}'
|
||||
|
||||
payload = {
|
||||
'USERNAME': 'vsms7937',
|
||||
'PASSWORD': '335577775533',
|
||||
'FROM': '30005367',
|
||||
'TO': int(mobile),
|
||||
'TEXT': f'{sms_text}'
|
||||
}
|
||||
r = requests.get('http://www.0098sms.com/sendsmslink.aspx', params=payload)
|
||||
|
||||
except Exception as exp:
|
||||
raise exceptions.ValidationError({'error': "mobile not found"})
|
||||
|
||||
|
||||
def verify_mobile_and_get_token(mobile: int, opt: int) -> CUserRoleLoginOpt:
|
||||
try:
|
||||
opt_obj = SmsOptModel.objects.filter(mobile=mobile, opt=opt)[0]
|
||||
time_now = timezone.now()
|
||||
opt_obj = SmsOptModel.objects.filter(mobile=mobile, opt=opt, expire__gte=time_now)[0]
|
||||
|
||||
if opt_obj:
|
||||
cuser_roles = CuserRoleModel.objects.filter(cuser__mobile=mobile, is_active=True)
|
||||
@@ -87,4 +103,8 @@ def verify_mobile_and_get_token(mobile: int, opt: int) -> CUserRoleLoginOpt:
|
||||
SmsOptModel.objects.filter(mobile=mobile).delete()
|
||||
return login_opts
|
||||
except Exception as exp:
|
||||
try:
|
||||
SmsOptModel.objects.filter(mobile=mobile).delete()
|
||||
except Exception as exp:
|
||||
pass
|
||||
raise exceptions.ValidationError({'error': "cannot verify this mobile and opt code:"+str(exp)})
|
||||
Reference in new issue
Block a user