Add per-question result assessment fields
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace Komponent\Component\Testquestions\Administrator\Controller;
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\MVC\Controller\BaseController;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\Session\Session;
|
||||
|
||||
class ResultController extends BaseController
|
||||
{
|
||||
public function save(): void
|
||||
{
|
||||
if (!Session::checkToken()) {
|
||||
throw new \RuntimeException(Text::_('JINVALID_TOKEN'), 403);
|
||||
}
|
||||
|
||||
$input = Factory::getApplication()->getInput();
|
||||
$id = $input->post->getInt('id');
|
||||
$points = (array) $input->post->get('awarded_points', [], 'array');
|
||||
$comments = (array) $input->post->get('comments', [], 'array');
|
||||
$model = $this->getModel('Result');
|
||||
|
||||
if (!$model->saveAssessment($id, $points, $comments)) {
|
||||
throw new \RuntimeException(Text::_('COM_TESTQUESTIONS_RESULT_NOT_FOUND'));
|
||||
}
|
||||
|
||||
$this->setRedirect(
|
||||
Route::_('index.php?option=com_testquestions&view=result&id=' . $id, false),
|
||||
Text::_('COM_TESTQUESTIONS_RESULT_SAVED')
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user