4 require_once
'Services/Form/classes/class.ilNumberInputGUI.php';
5 require_once
'Services/Table/classes/class.ilTable2GUI.php';
40 $this->
setId(
'man_scor_by_qst_' . $parentObj->object->getId());
42 parent::__construct($parentObj, self::PARENT_DEFAULT_CMD);
46 $this->
setRowTemplate(
"tpl.il_as_tst_man_scoring_by_question_tblrow.html",
"Modules/Test");
50 $this->
addCommandButton(self::PARENT_SAVE_SCORING_CMD, $this->lng->txt(
'save'));
59 $this->
addColumn($this->lng->txt(
'lastname'),
'lastname',
'20%');
60 $this->
addColumn($this->lng->txt(
'firstname'),
'firstname',
'20%');
61 $this->
addColumn($this->lng->txt(
'login'),
'login',
'20%');
62 $this->
addColumn($this->lng->txt(
'tst_reached_points'),
'reached_points',
'20%');
78 include_once
'Services/Form/classes/class.ilSelectInputGUI.php';
79 $available_questions =
new ilSelectInputGUI($this->lng->txt(
'question'),
'question');
80 $select_questions = array();
84 $questions = $this->
getParentObject()->object->getPotentialRandomTestQuestions();
87 foreach ($questions as
$data) {
88 include_once
'Modules/TestQuestionPool/classes/class.assQuestion.php';
91 if (in_array(
$type, $scoring)) {
93 if ($maxpoints == 1) {
94 $maxpoints =
' (' . $maxpoints .
' ' . $this->lng->txt(
'point') .
')';
96 $maxpoints =
' (' . $maxpoints .
' ' . $this->lng->txt(
'points') .
')';
99 $select_questions[$data[
"question_id"]] = $data[
'title'] . $maxpoints .
' [' . $this->lng->txt(
'question_id_short') .
': ' . $data[
"question_id"] .
']';
102 if (!$select_questions) {
103 $select_questions[0] = $this->lng->txt(
'tst_no_scorable_qst_available');
105 $available_questions->
setOptions(array(
'' => $this->lng->txt(
'please_choose')) + $select_questions);
107 $available_questions->readFromSession();
108 $this->filter[
'question'] = $available_questions->getValue();
113 for (
$i = 1;
$i <= $max_pass;
$i++) {
116 $pass->setOptions($passes);
118 $pass->readFromSession();
119 $this->filter[
'pass'] =
$pass->getValue();
135 if (!$this->first_row_rendered) {
136 $this->first_row_rendered =
true;
137 $this->tpl->touchBlock(
'row_js');
140 $this->tpl->setVariable(
'PARTICIPANT_LASTNAME',
$row[
'lastname']);
141 $this->tpl->setVariable(
'PARTICIPANT_FIRSTNAME',
$row[
'firstname']);
142 $this->tpl->setVariable(
'PARTICIPANT_LOGIN',
$row[
'login']);
145 $reached_points->allowDecimals(
true);
146 $reached_points->setSize(5);
147 if (count($this->manPointsPostData)) {
149 $reached_points->setAlert(sprintf(
150 $this->lng->txt(
'tst_manscoring_maxpoints_exceeded_input_alert'),
151 $row[
'maximum_points']
154 $this->tpl->setCurrentBlock(
"reached_points_alert");
156 $this->tpl->setVariable(
"REACHED_POINTS_ALT_ALERT", $this->lng->txt(
"alert"));
157 $this->tpl->setVariable(
"REACHED_POINTS_TXT_ALERT", $reached_points->getAlert());
158 $this->tpl->parseCurrentBlock();
161 $reached_points->setValue($this->manPointsPostData[$row[
'pass_id']][$row[
'active_id']][$row[
'qst_id']]);
163 $reached_points->setValue($row[
'reached_points']);
165 $this->tpl->setVariable(
'VAL_REACHED_POINTS', $reached_points->render());
170 $this->tpl->setVariable(
'VAL_LINK_ANSWER',
$ilCtrl->getLinkTarget($this->getParentObject(),
'getAnswerDetail',
'',
true,
false));
174 $this->tpl->setVariable(
'VAL_TXT_ANSWER', $this->lng->txt(
'tst_eval_show_answer'));
179 if (!isset($this->manPointsPostData[$pass_id])) {
183 if (!isset($this->manPointsPostData[$pass_id][$active_id])) {
187 if (!isset($this->manPointsPostData[$pass_id][$active_id][$qst_id])) {
191 $submittedPoints = $this->manPointsPostData[$pass_id][$active_id][$qst_id];
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
__construct($a_parent_obj, $a_parent_cmd="", $a_template_context="")
ilTable2GUI constructor.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
ilTestManScoringParticipantsBySelectedQuestionAndPassTableGUI
addFilterItem($a_input_item, $a_optional=false)
Add filter item.
const PARENT_RESET_FILTER_CMD
const PARENT_APPLY_FILTER_CMD
getParentObject()
Get parent object.
static _getMaximumPoints($question_id)
Returns the maximum points, a learner can reach answering the question.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
static _getQuestionInfo($question_id)
Returns question information from the database.
setResetCommand($a_val, $a_caption=null)
Set reset filter command.
isMaxPointsExceededByPostValue($pass_id, $active_id, $qst_id)
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
setDisableFilterHiding($a_val=true)
Set disable filter hiding.
getCurQuestionMaxPoints()
enable($a_module_name)
enables particular modules of table
const PARENT_SAVE_SCORING_CMD
setRowTemplate($a_template, $a_template_dir="")
Set row template.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setManualScoringPointsPostData($manPointsPostData)
static _getManualScoring()
Retrieve the manual scoring settings.
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
fillRow($a_set)
Standard Version of Fill Row.
setCurQuestionMaxPoints($curQuestionMaxPoints)
setFilterCommand($a_val, $a_caption=null)
Set filter command.