Add Lead Event and Send SMS
This commit is contained in:
1 parent
43f5dd4594
commit
5e396c0e32
20 files changed
+364
-31
No files matched your search
+30
-4
@@ -1,16 +1,17 @@
|
||||
from apps.lead.models import Lead as LeadModel,\
|
||||
LeadType as LeadTypeModel, LeadStep as LeadStepModel, LeadSource as LeadSourceModel, LeadComment as LeadCommentModel
|
||||
LeadType as LeadTypeModel, LeadStep as LeadStepModel, LeadSource as LeadSourceModel, LeadComment as LeadCommentModel, LeadEvent as LeadEventModel
|
||||
from apps.shop.models import ProductType as ProductTypeModel
|
||||
from utils.get_user_workspace import get_user_workspace
|
||||
from utils.get_cuser_role import get_cuser_role
|
||||
from utils.validations import ObjectValidationById
|
||||
from apps.customer.models import Customer as CustomerModel
|
||||
from apps.workspace.models import City as CityModel
|
||||
from utils.services.sms import DefaultSmsProvider
|
||||
from rest_framework import exceptions
|
||||
|
||||
|
||||
def create_new_lead(request, title: str, customer_id: str, desc: str, product_type_id: int,
|
||||
lead_type_id: int, lead_source_id: int, city_id: int, lead_step_id: int) -> LeadModel:
|
||||
def create_new_lead(request, title: str, customer_id: str, mobile1: int, desc: str, product_type_id: int,
|
||||
lead_type_id: int, lead_source_id: int, city_id: int, lead_step_id: int, mobile2: int = None, phone: int = None, lead_event_id: int = None) -> LeadModel:
|
||||
try:
|
||||
sys_ws = get_user_workspace(request=request)
|
||||
cuser_role = get_cuser_role(request=request)
|
||||
@@ -22,9 +23,20 @@ def create_new_lead(request, title: str, customer_id: str, desc: str, product_ty
|
||||
product_type = ObjectValidationById(object_model=ProductTypeModel, request=request).is_valid(product_type_id)
|
||||
city = ObjectValidationById(object_model=CityModel, request=request).is_valid(city_id)
|
||||
|
||||
lead_event_obj = None
|
||||
|
||||
new_lead = LeadModel()
|
||||
new_lead.title = title
|
||||
new_lead.customer = customer
|
||||
if mobile1:
|
||||
new_lead.mobile1 = mobile1
|
||||
if mobile2:
|
||||
new_lead.mobile2 = mobile2
|
||||
if phone:
|
||||
new_lead.phone = phone
|
||||
if lead_event_id and (lead_event_id != '0' or lead_event_id != 0):
|
||||
lead_event_obj = LeadEventModel.objects.get(id=lead_event_id, sys_ws=sys_ws)
|
||||
new_lead.lead_event = lead_event_obj
|
||||
new_lead.desc = desc
|
||||
new_lead.type = lead_type
|
||||
new_lead.step = lead_step
|
||||
@@ -36,6 +48,14 @@ def create_new_lead(request, title: str, customer_id: str, desc: str, product_ty
|
||||
|
||||
new_lead.save()
|
||||
|
||||
# send sms
|
||||
if lead_event_obj and lead_event_obj.send_sms:
|
||||
sms_provider = DefaultSmsProvider()
|
||||
if mobile1:
|
||||
sms_provider.send_sms(str(mobile1), lead_event_obj.message)
|
||||
if mobile2:
|
||||
sms_provider.send_sms(str(mobile2), lead_event_obj.message)
|
||||
|
||||
return new_lead
|
||||
|
||||
except Exception as exp:
|
||||
@@ -45,7 +65,7 @@ def create_new_lead(request, title: str, customer_id: str, desc: str, product_ty
|
||||
|
||||
|
||||
def update_lead(request, lead_id: int, title: str, customer_id: str, desc: str, product_type_id: int,
|
||||
lead_type_id: int, lead_source_id: int, city_id: int, lead_step_id: int) -> LeadModel:
|
||||
lead_type_id: int, lead_source_id: int, city_id: int, lead_step_id: int, mobile1: int = None, mobile2: int = None, phone: int = None) -> LeadModel:
|
||||
try:
|
||||
sys_ws = get_user_workspace(request=request)
|
||||
cuser_role = get_cuser_role(request=request)
|
||||
@@ -60,6 +80,12 @@ def update_lead(request, lead_id: int, title: str, customer_id: str, desc: str,
|
||||
lead = LeadModel.objects.get(id=lead_id, sys_ws=sys_ws, cuser_role=cuser_role)
|
||||
lead.title = title
|
||||
lead.customer = customer
|
||||
if mobile1:
|
||||
lead.mobile1 = mobile1
|
||||
if mobile2:
|
||||
lead.mobile2 = mobile2
|
||||
if phone:
|
||||
lead.phone = phone
|
||||
lead.desc = desc
|
||||
lead.type = lead_type
|
||||
lead.step = lead_step
|
||||
|
||||
Reference in new issue
Block a user