Skip to content

Commit 8063efc

Browse files
committed
feat:Changed agent url by the deployed one
1 parent 9ec407c commit 8063efc

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

cases/services.py

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11

22
import logging
3+
import re
34
from django.utils import timezone
45
from .utils import haversine
56
from .models import Case, CaseAssignment
@@ -62,20 +63,34 @@ def assign_case_automatically(case_id):
6263
'corporate': 'corporate_law',
6364
'environment': 'environment_law',
6465
'employment': 'employment_law',
66+
'property': 'civil_law',
6567
'civil': 'civil_law',
6668
'other': 'criminal_law',
6769
'theft': 'criminal_law',
6870
'assault': 'criminal_law',
6971
'murder': 'criminal_law',
70-
'abduction': 'criminal_law',
72+
'abduction': 'criminal_law',
7173
'fraud': 'corporate_law',
7274
'harassment': 'employment_law',
75+
7376
}
7477
case_type = case.predicted_case_type.lower().strip()
75-
if " - " in case_type:
76-
case_type = case_type.split(" - ")[0].strip()
77-
elif "/" in case_type:
78-
case_type = case_type.split("/")[0].strip()
78+
case_type_clean = re.sub(r'\(.*?\)', '', case_type).strip()
79+
separators = [',', '/', '-', '&']
80+
parts = [case_type_clean]
81+
case_type = None
82+
for p in parts:
83+
if p.endswith(" law"):
84+
p = p.replace(" law", "").strip()
85+
86+
if p in specialization_map:
87+
case_type = p
88+
break
89+
90+
if not case_type:
91+
case_type = parts[0].replace(" law", "").strip()
92+
93+
7994
field_name = specialization_map.get(case_type)
8095
if not field_name:
8196
for key, value in specialization_map.items():
@@ -84,11 +99,11 @@ def assign_case_automatically(case_id):
8499
break
85100
logger.error(f"Unknown predicted case type: {case.predicted_case_type}")
86101
return None
102+
87103
if not field_name:
88104
logger.error(f"Unknown predicted case type: {case.predicted_case_type}")
89105
return None
90106

91-
92107
lawyers = LawyerProfile.objects.filter(verified=True, **{field_name: True})
93108

94109
assigned_lawyer_ids = CaseAssignment.objects.filter(case=case).values_list('lawyer__profile_id', flat=True)
@@ -106,7 +121,7 @@ def assign_case_automatically(case_id):
106121
in_progress_count = CaseAssignment.objects.filter(
107122
lawyer=lawyer,
108123
status='accepted',
109-
case__stage__in=['in_progress', 'handled', 'arraignment', 'bail', 'trial', 'completed', 'closed']
124+
case__stage__in=['in_progress', 'handled', 'arraignment', 'bail', 'trial']
110125
).count()
111126
if in_progress_count < MAX_IN_PROGRESS_CASES:
112127
available_lawyers.append(lawyer)
@@ -155,8 +170,8 @@ def update_case_and_cpd(assignment: CaseAssignment):
155170
return
156171

157172
if assignment.confirmed_by_lawyer and assignment.confirmed_by_applicant:
158-
case.stage = 'closed'
159-
case.status = 'closed'
173+
case.stage = 'completed'
174+
case.status = 'completed'
160175
case.save()
161176

162177
CaseAssignment.objects.filter(case=case).exclude(assignment_id=assignment.assignment_id).update(status='handled')

0 commit comments

Comments
 (0)