extended metadata on questionnaires
Some checks failed
PHPUnit / test (push) Has been cancelled

This commit is contained in:
2026-07-01 09:13:32 +02:00
parent e589b46a8a
commit 13119f300a
4 changed files with 78 additions and 13 deletions

View File

@ -95,6 +95,16 @@ if ($method === 'POST') {
$startedAt = isset($body['startedAt']) ? (int)$body['startedAt'] : null;
$completedAt = isset($body['completedAt']) ? (int)$body['completedAt'] : null;
$programCycleNumber = isset($body['programCycleNumber']) ? (int)$body['programCycleNumber'] : null;
$programSessionID = isset($body['programSessionID'])
? trim((string)$body['programSessionID'])
: null;
if ($programSessionID === '') {
$programSessionID = null;
}
$programSessionNumber = isset($body['programSessionNumber'])
? (int)$body['programSessionNumber']
: null;
try {
$opened = qdb_open_write_or_fail();
@ -297,14 +307,21 @@ if ($method === 'POST') {
: qdb_compute_questionnaire_score($pdo, $clientCode, $qnID);
$pdo->prepare("
INSERT INTO completed_questionnaire (clientCode, questionnaireID, assignedByCoach, status, startedAt, completedAt, sumPoints)
VALUES (:cc, :qn, :abc, 'completed', :sa, :ca, :sp)
INSERT INTO completed_questionnaire (
clientCode, questionnaireID, assignedByCoach, status,
startedAt, completedAt, sumPoints,
programCycleNumber, programSessionID, programSessionNumber
)
VALUES (:cc, :qn, :abc, 'completed', :sa, :ca, :sp, :pcn, :psid, :psn)
ON CONFLICT(clientCode, questionnaireID) DO UPDATE SET
assignedByCoach = excluded.assignedByCoach,
status = 'completed',
startedAt = COALESCE(excluded.startedAt, startedAt),
completedAt = excluded.completedAt,
sumPoints = excluded.sumPoints
sumPoints = excluded.sumPoints,
programCycleNumber = COALESCE(excluded.programCycleNumber, programCycleNumber),
programSessionID = COALESCE(excluded.programSessionID, programSessionID),
programSessionNumber = COALESCE(excluded.programSessionNumber, programSessionNumber)
")->execute([
':cc' => $clientCode,
':qn' => $qnID,
@ -312,6 +329,9 @@ if ($method === 'POST') {
':sa' => $startedAt,
':ca' => $completedAt,
':sp' => $sumPoints,
':pcn' => $programCycleNumber,
':psid'=> $programSessionID,
':psn' => $programSessionNumber,
]);
require_once __DIR__ . '/../lib/submissions.php';
@ -326,7 +346,11 @@ if ($method === 'POST') {
$assignedByCoach,
$submitRev,
$submitManifest,
array_keys($submittedQuestionIds)
array_keys($submittedQuestionIds),
null,
$programCycleNumber,
$programSessionID,
$programSessionNumber
);
qdb_recompute_profile_scores_for_client($pdo, $clientCode, $qnID);