This commit is contained in:
javad committed 2024-01-22 13:01:42 +03:30
commit 89a5d70512
284 files changed
+8364

No files matched your search

+79
View File
@@ -0,0 +1,79 @@
from apps.lead.models import Lead as LeadModel, LeadType as LeadTypeModel,\
LeadSource as LeadSourceModel, LeadStep as LeadStepModel
from apps.shop.models import ProductType as ProductTypeModel
from apps.workspace.models import City as CityModel
from utils.get_user_workspace import get_user_workspace_uuid
from utils.get_cuser_role import get_cuser_role_uuid
from rest_framework import exceptions
def list_leads(request) -> LeadModel:
try:
workspace_uuid = get_user_workspace_uuid(request)
cuser_role_uuid = get_cuser_role_uuid(request)
leads = LeadModel.objects.filter(sys_ws__uuid=workspace_uuid, cuser_role__uuid=cuser_role_uuid).order_by('-created_at')
return leads
except Exception as exp:
message = f'Error Fetching List Leads: {exp}'
raise exceptions.ValidationError({'error': message})
def retrieve_lead(request, id: int) -> LeadModel:
try:
workspace_uuid = get_user_workspace_uuid(request)
cuser_role_uuid = get_cuser_role_uuid(request)
lead = LeadModel.objects.get(id=id, sys_ws__uuid=workspace_uuid, cuser_role__uuid=cuser_role_uuid)
return lead
except Exception as exp:
message = f'Error retrieve Leads: {exp}'
raise exceptions.ValidationError({'error': message})
def retrieve_summary_lead(request) -> LeadModel:
try:
workspace_uuid = get_user_workspace_uuid(request)
cuser_role_uuid = get_cuser_role_uuid(request)
mozakere = LeadModel.objects.filter(step_id=2, status__in=('UN', ''),
sys_ws__uuid=workspace_uuid, cuser_role__uuid=cuser_role_uuid)[:20]
pish = LeadModel.objects.filter(step_id=3, status__in=('UN', ''),
sys_ws__uuid=workspace_uuid, cuser_role__uuid=cuser_role_uuid)[:20]
kharid = LeadModel.objects.filter(step_id=4, status__in=('UN', ''),
sys_ws__uuid=workspace_uuid, cuser_role__uuid=cuser_role_uuid)[:20]
leads = {
'mozakere': mozakere,
'pishfactor': pish,
'kharid': kharid,
}
return leads
except Exception as exp:
message = f'Error retrieve summary Leads: {exp}'
raise exceptions.ValidationError({'error': message})
def fields_new_lead_form(request):
workspace_uuid = get_user_workspace_uuid(request)
lead_type = LeadTypeModel.objects.filter(sys_ws__uuid=workspace_uuid)
product_types = ProductTypeModel.objects.filter(sys_ws__uuid=workspace_uuid)
lead_source = LeadSourceModel.objects.filter(sys_ws__uuid=workspace_uuid)
lead_step = LeadStepModel.objects.filter(sys_ws__uuid=workspace_uuid)
shahr = CityModel.objects.filter()
data = {
'product_types': product_types,
'lead_types': lead_type,
'lead_source': lead_source,
'lead_steps': lead_step,
'shahr': shahr,
}
return data