Spaces:
Running
Running
Update services/report_data_handler.py
Browse files- services/report_data_handler.py +18 -10
services/report_data_handler.py
CHANGED
@@ -109,15 +109,16 @@ def save_objectives(
|
|
109 |
return []
|
110 |
|
111 |
try:
|
112 |
-
payloads = [
|
113 |
-
|
|
|
|
|
114 |
"description": obj.get("objective_description"),
|
115 |
-
|
|
|
116 |
"owner": obj.get("objective_owner"),
|
117 |
"report": report_id,
|
118 |
-
}
|
119 |
-
for obj in objectives_data
|
120 |
-
]
|
121 |
|
122 |
logger.info(f"Attempting to save {payloads} objectives for report_id: {report_id}")
|
123 |
response_data = bulk_upload_to_bubble(payloads, BUBBLE_OKR_TABLE_NAME)
|
@@ -173,13 +174,15 @@ def save_key_results(
|
|
173 |
continue # Skip this loop iteration
|
174 |
|
175 |
for kr in objective_data.get("key_results", []):
|
|
|
176 |
key_results_to_process.append(kr)
|
177 |
key_result_payloads.append({
|
178 |
"okr": parent_objective_id,
|
179 |
"description": kr.get("key_result_description"),
|
180 |
"target_metric": kr.get("target_metric"),
|
181 |
"target_value": kr.get("target_value"),
|
182 |
-
|
|
|
183 |
"data_subject": kr.get("data_subject"),
|
184 |
})
|
185 |
|
@@ -231,21 +234,26 @@ def save_tasks(
|
|
231 |
task_payloads = []
|
232 |
for key_result_data, parent_key_result_id in key_results_with_ids:
|
233 |
for task in key_result_data.get("tasks", []):
|
|
|
|
|
|
|
234 |
task_payloads.append({
|
235 |
"key_result": parent_key_result_id,
|
236 |
"description": task.get("task_description"),
|
237 |
"objective_deliverable": task.get("objective_deliverable"),
|
238 |
"category": task.get("task_category"),
|
239 |
-
|
|
|
240 |
"priority_justification": task.get("priority_justification"),
|
241 |
-
"effort":
|
242 |
-
"timeline":
|
243 |
"responsible_party": task.get("responsible_party"),
|
244 |
"success_criteria_metrics": task.get("success_criteria_metrics"),
|
245 |
"dependencies": task.get("dependencies_prerequisites"),
|
246 |
"why": task.get("why_proposed"),
|
247 |
})
|
248 |
|
|
|
249 |
if not task_payloads:
|
250 |
logger.info("No tasks to save.")
|
251 |
return []
|
|
|
109 |
return []
|
110 |
|
111 |
try:
|
112 |
+
payloads = []
|
113 |
+
for obj in objectives_data:
|
114 |
+
timeline = obj.get("objective_timeline")
|
115 |
+
payloads.append({
|
116 |
"description": obj.get("objective_description"),
|
117 |
+
# FIX: Convert Enum to its value before sending.
|
118 |
+
"timeline": timeline.value if hasattr(timeline, 'value') else timeline,
|
119 |
"owner": obj.get("objective_owner"),
|
120 |
"report": report_id,
|
121 |
+
})
|
|
|
|
|
122 |
|
123 |
logger.info(f"Attempting to save {payloads} objectives for report_id: {report_id}")
|
124 |
response_data = bulk_upload_to_bubble(payloads, BUBBLE_OKR_TABLE_NAME)
|
|
|
174 |
continue # Skip this loop iteration
|
175 |
|
176 |
for kr in objective_data.get("key_results", []):
|
177 |
+
kr_type = kr.get("key_result_type")
|
178 |
key_results_to_process.append(kr)
|
179 |
key_result_payloads.append({
|
180 |
"okr": parent_objective_id,
|
181 |
"description": kr.get("key_result_description"),
|
182 |
"target_metric": kr.get("target_metric"),
|
183 |
"target_value": kr.get("target_value"),
|
184 |
+
# FIX: Convert Enum to its value before sending.
|
185 |
+
"kr_type": kr_type.value if hasattr(kr_type, 'value') else kr_type,
|
186 |
"data_subject": kr.get("data_subject"),
|
187 |
})
|
188 |
|
|
|
234 |
task_payloads = []
|
235 |
for key_result_data, parent_key_result_id in key_results_with_ids:
|
236 |
for task in key_result_data.get("tasks", []):
|
237 |
+
priority = task.get("priority")
|
238 |
+
effort = task.get("effort")
|
239 |
+
timeline = task.get("timeline")
|
240 |
task_payloads.append({
|
241 |
"key_result": parent_key_result_id,
|
242 |
"description": task.get("task_description"),
|
243 |
"objective_deliverable": task.get("objective_deliverable"),
|
244 |
"category": task.get("task_category"),
|
245 |
+
# FIX: Convert Enum to its value before sending.
|
246 |
+
"priority": priority.value if hasattr(priority, 'value') else priority,
|
247 |
"priority_justification": task.get("priority_justification"),
|
248 |
+
"effort": effort.value if hasattr(effort, 'value') else effort,
|
249 |
+
"timeline": timeline.value if hasattr(timeline, 'value') else timeline,
|
250 |
"responsible_party": task.get("responsible_party"),
|
251 |
"success_criteria_metrics": task.get("success_criteria_metrics"),
|
252 |
"dependencies": task.get("dependencies_prerequisites"),
|
253 |
"why": task.get("why_proposed"),
|
254 |
})
|
255 |
|
256 |
+
|
257 |
if not task_payloads:
|
258 |
logger.info("No tasks to save.")
|
259 |
return []
|