19 declare(strict_types=1);
47 $ts_results = new \ilRadioGroupInputGUI(
$lng->txt(
"survey_360_results"),
"ts_res");
51 $option->setInfo(
$lng->txt(
"survey_360_results_none_info"));
52 $ts_results->addOption($option);
54 $option = new \ilRadioOption(
55 $lng->txt(
"survey_360_results_own"),
58 $option->setInfo(
$lng->txt(
"survey_360_results_own_info"));
59 $ts_results->addOption($option);
61 $items[] = $ts_results;
74 $cb = new \ilCheckboxInputGUI(
$lng->txt(
"survey_notification_target_group"),
"remind_appraisees");
75 $cb->setOptionTitle(
$lng->txt(
"survey_360_appraisees"));
76 $cb->setInfo(
$lng->txt(
"survey_360_appraisees_remind_info"));
78 $cb->setChecked(in_array(
86 $cb = new \ilCheckboxInputGUI(
"",
"remind_raters");
87 $cb->setOptionTitle(
$lng->txt(
"survey_360_raters"));
88 $cb->setInfo(
$lng->txt(
"survey_360_raters_remind_info"));
90 $cb->setChecked(in_array(
104 if ($form->
getInput(
"remind_appraisees") && $form->
getInput(
"remind_raters")) {
106 } elseif ($form->
getInput(
"remind_appraisees")) {
108 } elseif ($form->
getInput(
"remind_raters")) {
164 $lng = $this->service->gui()->lng();
165 $ctrl = $this->service->gui()->ctrl();
166 $req = $this->service->gui()->evaluation($survey)->request();
168 $evaluation_manager = $this->service->domain()->evaluation(
171 $req->getAppraiseeId(),
176 if (!$evaluation_manager->isMultiParticipantsView()) {
177 $raters = $evaluation_manager->getSelectableRaters();
179 if (count($raters) > 0) {
181 $options[
"-"] =
$lng->txt(
"svy_all_raters");
182 foreach ($raters as $rater) {
183 $options[$rater[
"user_id"]] = $rater[
"name"];
186 $rat = new \ilSelectInputGUI(
$lng->txt(
"svy_rater"),
"rater_id");
187 $rat->setOptions($options);
188 $rat->setValue($evaluation_manager->getCurrentRater());
192 $this->gui->lng()->txt(
"svy_select_rater"),
194 )->submit()->toToolbar(
false, $toolbar);
224 $lng = $this->service->gui()->lng();
226 if (is_array($a_results)) {
227 $answers = $a_results[0][1]->getAnswers();
228 $q = $a_results[0][1]->getQuestion();
231 $answers = $a_results->getAnswers();
232 $q = $a_results->getQuestion();
235 if (!in_array(
$q->getQuestionType(), [
236 "SurveySingleChoiceQuestion",
237 "SurveyMultipleChoiceQuestion",
238 "SurveyMetricQuestion",
249 $a_tpl = new \ilTemplate(
"tpl.svy_results_details_table.html",
true,
true,
"components/ILIAS/Survey/Evaluation");
253 if ($request->getShowTable()) {
256 $a_tpl->setCurrentBlock(
"grid_col_header_bl");
257 $a_tpl->setVariable(
"COL_HEADER",
$lng->txt(
"svy_rater"));
258 $a_tpl->parseCurrentBlock();
261 $a_tpl->setCurrentBlock(
"grid_col_header_bl");
262 $a_tpl->setVariable(
"COL_HEADER",
$lng->txt(
"date"));
263 $a_tpl->parseCurrentBlock();
266 $a_tpl->setCurrentBlock(
"grid_col_header_bl");
267 $a_tpl->setVariable(
"COL_HEADER",
$lng->txt(
"answers"));
268 $a_tpl->parseCurrentBlock();
270 $condensed_answers = [];
271 foreach ($answers as $answer) {
272 $condensed_answers[$answer->active_id][
"tstamp"] = $answer->tstamp;
273 $condensed_answers[$answer->active_id][
"active_id"] = $answer->active_id;
275 $condensed_answers[$answer->active_id][
"value"][] = $answer->value;
276 $condensed_answers[$answer->active_id][
"text"] = $answer->text;
280 foreach ($condensed_answers as $answer) {
282 $a_tpl->setCurrentBlock(
"grid_col_bl");
283 $a_tpl->setVariable(
"COL_CAPTION",
" ");
284 $a_tpl->parseCurrentBlock();
292 $a_tpl->setCurrentBlock(
"grid_col_bl");
293 $a_tpl->setVariable(
"COL_CAPTION", $part_caption);
294 $a_tpl->parseCurrentBlock();
297 $a_tpl->setCurrentBlock(
"grid_col_bl");
298 $date = new \ilDate($answer[
"tstamp"],
IL_CAL_UNIX);
303 $a_tpl->parseCurrentBlock();
306 $a_tpl->setCurrentBlock(
"grid_col_bl");
307 if (
$q->getQuestionType() ===
"SurveyTextQuestion") {
310 $a_results->getScaleText($answer[
"text"])
313 $scale_texts =
array_map(
static function ($v) use ($a_results):
string {
314 return $a_results->getScaleText($v);
315 }, $answer[
"value"]);
318 implode(
", ", $scale_texts)
321 $a_tpl->parseCurrentBlock();
323 $a_tpl->touchBlock(
"grid_row_bl");
325 $ret = $a_tpl->get();
328 foreach ($answers as $answer) {
331 $cats =
$q->getColumns();
332 foreach ($cats->getCategories() as $cat) {
333 $a_tpl->touchBlock(
"grid_col_head_center");
334 $a_tpl->setCurrentBlock(
"grid_col_header_bl");
335 $a_tpl->setVariable(
"COL_HEADER", $cat->title);
336 $a_tpl->parseCurrentBlock();
339 $cats_rows =
$q->getRows();
342 foreach ($cats_rows->getCategories() as $cat) {
343 $a_tpl->setCurrentBlock(
"grid_col_bl");
344 $a_tpl->setVariable(
"COL_CAPTION", $cat->title);
345 $a_tpl->parseCurrentBlock();
347 $r = current($a_results);
348 $row_answers =
$r[1]->getAnswers();
349 $user_answers =
null;
350 foreach ($row_answers as $ra) {
351 if ($ra->active_id == $answer->active_id) {
356 foreach ($cats->getCategories() as $catr) {
357 if ($user_answers && $user_answers->value == $catr->scale) {
358 $a_tpl->touchBlock(
"grid_col_center");
359 $a_tpl->setCurrentBlock(
"grid_col_bl");
360 $a_tpl->setVariable(
"COL_CAPTION",
"X");
362 $a_tpl->setCurrentBlock(
"grid_col_bl");
363 $a_tpl->setVariable(
"COL_CAPTION",
" ");
366 $a_tpl->parseCurrentBlock();
369 $a_tpl->touchBlock(
"grid_row_bl");
377 $part_caption = $participant[
"sortname"];
382 $a_tpl->setVariable(
"HEADER", $part_caption);
383 $ret .= $a_tpl->get();
384 $a_tpl = new \ilTemplate(
"tpl.svy_results_details_table.html",
true,
true,
"components/ILIAS/Survey/Evaluation");
393 foreach ($participants as $part) {
394 if ((
int) $part[
"active_id"] === $active_id) {
403 return $part_array[
"sortname"];
static array static setUseRelativeDates(bool $a_status)
set use relative dates
getSurveySettingsResults(\ilObjSurvey $survey, InternalGUIService $ui_service)
getSurveySettingsReminderTargets(\ilObjSurvey $survey, InternalGUIService $ui_service)
Survey internal ui service.
getCaptionForParticipant(array $part_array)
setValuesFromForm(\ilObjSurvey $survey, \ilPropertyFormGUI $form)
getPanelChart(\ILIAS\Survey\Evaluation\EvaluationGUIRequest $request, \SurveyQuestionEvaluation $a_eval)
Interface Observer Contains several chained tasks and infos about them.
addRaterSelectionToToolbar(\ilObjSurvey $survey, \ilToolbarGUI $toolbar, int $user_id)
Add rater selection to toolbar.
getPanelTable(array $participants, \ILIAS\Survey\Evaluation\EvaluationGUIRequest $request, \SurveyQuestionEvaluation $a_eval)
const NOTIFICATION_APPRAISEES
addExportAndPrintButton(\ilObjSurvey $survey, \ilToolbarGUI $toolbar, bool $details, \ilTemplate $eval_tpl)
getParticipantByActiveId(array $participants, int $active_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
set360Results(int $a_value)
getPanelText(\ILIAS\Survey\Evaluation\EvaluationGUIRequest $request, \SurveyQuestionEvaluation $a_eval, \ilSurveyEvaluationResults $question_res)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
catch(\Exception $e) $req
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
setReminderTarget(int $a_value)
addApprSelectionToToolbar(\ilObjSurvey $survey, \ilToolbarGUI $toolbar, int $user_id)
const NOTIFICATION_APPRAISEES_AND_RATERS
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
setResultsCompetenceToolbar(\ilObjSurvey $survey, \ilToolbarGUI $toolbar, int $user_id)
setResultsDetailToolbar(\ilObjSurvey $survey, \ilToolbarGUI $toolbar, int $user_id, \ilTemplate $eval_tpl)
const NOTIFICATION_RATERS
getSurveySettingsGeneral(\ilObjSurvey $survey)