fix: resolve all QA/UAT report issues (P0-P3)
Made-with: Cursor
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -27,14 +27,33 @@ class EncoachAdaptiveController(http.Controller):
|
||||
from odoo.fields import Datetime as DT
|
||||
today_start = DT.now().replace(hour=0, minute=0, second=0, microsecond=0)
|
||||
|
||||
total_students = len(Path.search([]).mapped('student_id'))
|
||||
active_courses = len(Path.search([]).mapped('course_id').filtered(lambda c: c))
|
||||
all_paths = Path.search([])
|
||||
total_students = len(all_paths.mapped('student_id'))
|
||||
active_courses = len(all_paths.mapped('course_id').filtered(lambda c: c))
|
||||
|
||||
signals_today = Event.search_count([
|
||||
('event_type', '=', 'signal'),
|
||||
('created_at', '>=', today_start),
|
||||
])
|
||||
|
||||
avg_progress = 0.0
|
||||
if all_paths:
|
||||
progress_values = []
|
||||
for p in all_paths:
|
||||
try:
|
||||
module_queue = json.loads(p.module_queue or '[]')
|
||||
except (json.JSONDecodeError, TypeError):
|
||||
module_queue = []
|
||||
total_modules = len(module_queue) if module_queue else 1
|
||||
completed = sum(
|
||||
1 for m in module_queue
|
||||
if isinstance(m, dict) and m.get('done')
|
||||
)
|
||||
progress_values.append(
|
||||
round(completed / total_modules * 100, 1) if total_modules else 0.0
|
||||
)
|
||||
avg_progress = round(sum(progress_values) / len(progress_values), 1) if progress_values else 0.0
|
||||
|
||||
recent_decisions = []
|
||||
decisions = Event.search(
|
||||
[('event_type', '=', 'decision')],
|
||||
@@ -52,7 +71,7 @@ class EncoachAdaptiveController(http.Controller):
|
||||
return _json_response({
|
||||
'total_students': total_students,
|
||||
'active_courses': active_courses,
|
||||
'avg_progress': 0.0,
|
||||
'avg_progress': avg_progress,
|
||||
'signals_today': signals_today,
|
||||
'recent_decisions': recent_decisions,
|
||||
})
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user