This commit is contained in:
@ -214,7 +214,16 @@ function qdb_analytics_stale_clients(PDO $pdo, array $tokenRec): array {
|
||||
|
||||
$out = [];
|
||||
foreach ($rows as $r) {
|
||||
$lastAt = $r['lastActivityAt'] !== null ? (int)$r['lastActivityAt'] : null;
|
||||
$completedTs = $r['lastCompletedAt'] ? (int)$r['lastCompletedAt'] : null;
|
||||
$uploadTs = $r['lastActivityAt'] !== null ? (int)$r['lastActivityAt'] : null;
|
||||
$lastAt = null;
|
||||
if ($completedTs !== null && $uploadTs !== null) {
|
||||
$lastAt = max($completedTs, $uploadTs);
|
||||
} elseif ($completedTs !== null) {
|
||||
$lastAt = $completedTs;
|
||||
} else {
|
||||
$lastAt = $uploadTs;
|
||||
}
|
||||
$daysSince = $lastAt !== null
|
||||
? (int)floor(($now - $lastAt) / 86400)
|
||||
: null;
|
||||
@ -223,9 +232,7 @@ function qdb_analytics_stale_clients(PDO $pdo, array $tokenRec): array {
|
||||
'coachUsername' => $r['coachUsername'] ?? $r['coachID'],
|
||||
'lastQuestionnaireID' => $r['lastQuestionnaireID'],
|
||||
'lastQuestionnaireName' => $r['lastQuestionnaireName'] ?? $r['lastQuestionnaireID'],
|
||||
'lastCompletedAt' => $r['lastCompletedAt']
|
||||
? date('Y-m-d H:i', (int)$r['lastCompletedAt']) : '',
|
||||
'lastActivityAt' => $lastAt ? date('Y-m-d H:i', $lastAt) : '',
|
||||
'lastCompletedAt' => $completedTs ? date('Y-m-d H:i', $completedTs) : '',
|
||||
'daysSinceLastActivity' => $daysSince,
|
||||
'note' => $r['followupNote'] ?? '',
|
||||
];
|
||||
@ -280,7 +287,8 @@ function qdb_coach_activity_list(PDO $pdo, array $tokenRec): array {
|
||||
$sql = "
|
||||
SELECT co.coachID, co.username,
|
||||
sv.username AS supervisorUsername,
|
||||
(SELECT COUNT(*) FROM client c WHERE c.coachID = co.coachID) AS clientCount,
|
||||
(SELECT COUNT(*) FROM client c
|
||||
WHERE c.coachID = co.coachID AND COALESCE(c.archived, 0) = 0) AS clientCount,
|
||||
(SELECT COUNT(*) FROM questionnaire_submission qs
|
||||
INNER JOIN client c ON c.clientCode = qs.clientCode
|
||||
WHERE c.coachID = co.coachID) AS totalSubmissions,
|
||||
|
||||
@ -290,7 +290,9 @@ function qdb_export_app_bulk_answers_for_coach(PDO $pdo, array $tokenRec): array
|
||||
return [];
|
||||
}
|
||||
$stmt = $pdo->prepare(
|
||||
'SELECT clientCode FROM client WHERE coachID = :cid ORDER BY clientCode'
|
||||
'SELECT clientCode FROM client
|
||||
WHERE coachID = :cid AND COALESCE(archived, 0) = 0
|
||||
ORDER BY clientCode'
|
||||
);
|
||||
$stmt->execute([':cid' => $coachID]);
|
||||
$out = [];
|
||||
|
||||
@ -614,9 +614,9 @@ function qdb_client_detail(PDO $pdo, array $tokenRec, string $clientCode): array
|
||||
json_error('INVALID_FIELD', 'clientCode is required', 400);
|
||||
}
|
||||
|
||||
[$rbacClause, $rbacParams] = rbac_client_filter($tokenRec, 'cl');
|
||||
[$rbacClause, $rbacParams] = rbac_client_filter($tokenRec, 'cl', 'all');
|
||||
$stmt = $pdo->prepare(
|
||||
"SELECT cl.clientCode, cl.coachID,
|
||||
"SELECT cl.clientCode, cl.coachID, cl.archived, cl.archivedAt,
|
||||
co.username AS coachUsername,
|
||||
sv.username AS supervisorUsername
|
||||
FROM client cl
|
||||
|
||||
Reference in New Issue
Block a user