/** * Mark an item for review in the Assessment Test Session flow. * */ public function markForReview() { $this->beforeAction(); $testSession = $this->getTestSession(); try { if ($this->hasRequestParameter('position')) { $itemPosition = intval($this->getRequestParameter('position')); } else { $itemPosition = $testSession->getRoute()->getPosition(); } if ($this->hasRequestParameter('flag')) { $flag = $this->getRequestParameter('flag'); if (is_numeric($flag)) { $flag = !!intval($flag); } else { $flag = 'false' != strtolower($flag); } } else { $flag = true; } taoQtiTest_helpers_TestRunnerUtils::setItemFlag($testSession, $itemPosition, $flag); } catch (AssessmentTestSessionException $e) { $this->handleAssessmentTestSessionException($e); } $this->afterAction(); }
/** * Mark an item for review in the Assessment Test Session flow. * */ public function markForReview() { if ($this->beforeAction()) { $testSession = $this->getTestSession(); $sessionId = $testSession->getSessionId(); try { if ($this->hasRequestParameter('position')) { $itemPosition = intval($this->getRequestParameter('position')); } else { $itemPosition = $testSession->getRoute()->getPosition(); } if ($this->hasRequestParameter('flag')) { $flag = $this->getRequestParameter('flag'); if (is_numeric($flag)) { $flag = !!intval($flag); } else { $flag = 'false' != strtolower($flag); } } else { $flag = true; } taoQtiTest_helpers_TestRunnerUtils::setItemFlag($testSession, $itemPosition, $flag); $this->returnJson(array('success' => true, 'position' => $itemPosition, 'flag' => $flag)); } catch (AssessmentTestSessionException $e) { $this->handleAssessmentTestSessionException($e); } common_Logger::i("Persisting QTI Assessment Test Session '{$sessionId}'..."); $this->getStorage()->persist($testSession); } }
/** * Flag an item */ public function flagItem() { $code = 200; try { $serviceContext = $this->getServiceContext(); $testSession = $serviceContext->getTestSession(); if ($this->hasRequestParameter('position')) { $itemPosition = intval($this->getRequestParameter('position')); } else { $itemPosition = $testSession->getRoute()->getPosition(); } if ($this->hasRequestParameter('flag')) { $flag = $this->getRequestParameter('flag'); if (is_numeric($flag)) { $flag = !!intval($flag); } else { $flag = 'false' != strtolower($flag); } } else { $flag = true; } TestRunnerUtils::setItemFlag($testSession, $itemPosition, $flag); $response = ['success' => true]; } catch (common_Exception $e) { $response = $this->getErrorResponse($e); $code = $this->getErrorCode($e); } $this->returnJson($response, $code); }