GuglielmoTor commited on
Commit
050ca7a
·
verified ·
1 Parent(s): eb36b1b

Update services/report_data_handler.py

Browse files
Files changed (1) hide show
  1. 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
- "timeline": obj.get("objective_timeline"),
 
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
- "kr_type": kr.get("key_result_type"),
 
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
- "priority": task.get("priority"),
 
240
  "priority_justification": task.get("priority_justification"),
241
- "effort": task.get("effort"),
242
- "timeline": task.get("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 []