19 declare(strict_types=1);
74 protected Factory $data_factory,
76 protected ILIAS\
HTTP\Wrapper\WrapperFactory $http_wrapper,
80 protected GuzzleHttp\Psr7\ServerRequest $request,
83 $this->permissions =
null;
86 $this->
toolbar->setPreventDoubleSubmission(
true);
91 $this->parent_gui = $a_parent_gui;
103 $cmd = $this->
ctrl->getCmd();
104 $next_class = $this->
ctrl->getNextClass($this);
106 if ($cmd ===
"" || $cmd ===
null) {
110 switch ($next_class) {
111 case "ilstudyprogrammerepositorysearchgui":
112 $this->repository_search_gui->setCallback($this,
"addUsers");
113 $this->
ctrl->setReturn($this,
"view");
114 $this->
ctrl->forwardCommand($this->repository_search_gui);
116 case "ilobjstudyprogrammeindividualplangui":
117 $this->individual_plan_gui->setParentGUI($this);
118 $this->individual_plan_gui->setRefId($this->ref_id);
119 $this->
ctrl->forwardCommand($this->individual_plan_gui);
121 case "ilstudyprogrammemailmembersearchgui":
122 $this->
tabs->clearTargets();
123 $this->
tabs->setBackTarget(
124 $this->
lng->txt(
'btn_back'),
128 $mail_search =
$dic[
'ilStudyProgrammeMailMemberSearchGUI'];
130 $mail_search->setBackTarget(
131 $this->
ctrl->getLinkTarget($this, $this->getDefaultCommand())
133 $this->
ctrl->forwardCommand($mail_search);
135 case "ilstudyprogrammechangeexpiredategui":
136 $this->
tabs->clearTargets();
137 $this->
tabs->setBackTarget(
138 $this->
lng->txt(
'btn_back'),
142 $gui =
$dic[
'ilStudyProgrammeChangeExpireDateGUI'];
143 $gui->setRefId($this->ref_id);
145 $this->
ctrl->forwardCommand($gui);
147 case "ilstudyprogrammechangedeadlinegui":
148 $this->
tabs->clearTargets();
149 $this->
tabs->setBackTarget(
150 $this->
lng->txt(
'btn_back'),
154 $gui =
$dic[
'ilStudyProgrammeChangeDeadlineGUI'];
155 $gui->setRefId($this->ref_id);
157 $this->
ctrl->forwardCommand($gui);
162 case "markAccredited":
163 case "markAccreditedMulti":
164 case "unmarkAccredited":
165 case "unmarkAccreditedMulti":
167 case "removeUserMulti":
168 case "markNotRelevantMulti":
170 case "markRelevantMulti":
171 case "updateFromCurrentPlan":
172 case "updateFromCurrentPlanMulti":
173 case "acknowledgeCourses":
174 case "acknowledgeCoursesMulti":
177 case "changeDeadline":
178 case "changeDeadlineMulti":
179 case "changeExpireDate":
180 case "changeExpireDateMulti":
181 case "updateCertificate":
182 case "updateCertificateMulti":
183 case "removeCertificate":
184 case "removeCertificateMulti":
185 $cont = $this->$cmd();
186 $this->tpl->setContent($cont);
188 case "confirmedRemoveUsers":
191 case "confirmedUpdateFromCurrentPlan":
194 case "confirmedAcknowledgeCourses":
197 case "confirmedAcknowledgeAllCourses":
200 case "mailUserMulti":
203 case "markNotRelevant":
206 case "confirmedUpdateCertificate":
209 case "confirmedRemovalOfCertificate":
212 case "deliverCertificate":
214 $this->tpl->setOnScreenMessage(
"failure", $this->
lng->txt(
"permission_denied"),
true);
215 $this->
ctrl->redirect($this,
"view");
217 $usr_id = $this->http_wrapper->query()->retrieve(
225 throw new ilException(
"ilObjStudyProgrammeMembersGUI: Command not supported: $cmd");
230 "ilObjStudyProgrammeMembersGUI: Can't forward to next class $next_class" 237 return self::DEFAULT_CMD;
242 return $this->assignment_db->getAllForNodeIsContained($this->
object->getId());
257 $dic[
'ilStudyProgrammeUserTable'],
258 $dic[
'filter.assignment'],
271 if ($this->http_wrapper->post()->has(self::F_COMMAND_OPTION_ALL)) {
272 $pgs_ids = $this->http_wrapper->post()->retrieve(
273 self::F_ALL_PROGRESS_IDS,
274 $this->
refinery->custom()->transformation(
275 fn($ids) => explode(
',', $ids)
279 $pgs_ids = $this->http_wrapper->post()->retrieve(
280 self::F_SELECTED_PROGRESS_IDS,
281 $this->
refinery->custom()->transformation(fn($ids) => $ids)
284 if ($pgs_ids ===
null) {
286 $this->
ctrl->redirect($this,
"view");
288 if (is_string($pgs_ids)) {
289 $pgs_ids = [$pgs_ids];
293 foreach ($pgs_ids as $pgs_id) {
301 $prgrs_ids =
$_GET[
'prgrs_ids'];
303 if (!is_null($prgrs_ids)) {
304 foreach (explode(
',', $prgrs_ids) as
$id) {
313 if (!
$_GET[
"prgrs_id"]) {
322 protected function view(): string
330 $this->tpl->setOnScreenMessage(
"info", $this->
lng->txt(
"prg_no_members_not_active"));
333 return $table->getHTML();
339 $table->resetOffset();
340 $table->writeFilterToSession();
341 $this->
ctrl->redirect($this,
"view");
347 $table->resetOffset();
348 $table->resetFilter();
349 $this->
ctrl->redirect($this,
"view");
365 $ass = $prg->assignUser((
int) $user_id);
366 $assignments[] = $ass;
367 if ($prg->getCompletedCourses($ass)) {
368 $with_courses[] = $ass;
372 if (count($assignments) === 1) {
373 $this->tpl->setOnScreenMessage(
"success", $this->
lng->txt(
"prg_added_member"),
true);
375 if (count($assignments) > 1) {
376 $this->tpl->setOnScreenMessage(
"success", $this->
lng->txt(
"prg_added_members"),
true);
380 $this->tpl->setContent(
381 $this->ui_renderer->render(
382 $this->viewCompletedCourses($assignments)
388 $this->
ctrl->redirect($this,
"view");
398 $completed_courses = [];
400 foreach ($assignments as $ass) {
401 $ass_ids[] = $ass->getId();
402 $completed_crss = $prg->getCompletedCourses($ass);
406 $ass->getUserInformation()->getFullname(),
410 foreach ($completed_crss as $opt) {
411 $options[implode(
';', [$ass->getId(), $opt[
'prg_obj_id'],$opt[
'crs_id']])] = $opt[
'title'];
414 $completed_courses[] = $this->ui_factory->input()->field()->multiselect($label, $options);
417 $form_action = $this->
ctrl->getFormAction($this,
'confirmedAcknowledgeCourses')
418 .
'&ass_ids=' . implode(
',', $ass_ids);
420 $form = $this->ui_factory->input()->container()->form()->standard(
423 $this->ui_factory->input()->field()->section(
425 $this->
lng->txt(
"prg_acknowledge_completed_courses")
428 )->withAdditionalTransformation(
429 $this->
refinery->custom()->transformation(
431 $values = array_merge(...array_filter(array_shift($values)));
433 fn($entry) => explode(
';', $entry),
439 $this->
lng->txt(
"btn_next")
443 $this->ui_factory->link()->standard(
444 $this->
lng->txt(
'prg_cancel_acknowledge_completed_courses'),
445 $this->
ctrl->getLinkTarget($this, self::DEFAULT_CMD)
449 $this->ui_factory->link()->standard(
450 $this->
lng->txt(
'prg_acknowledge_all_completed_courses'),
451 $this->
ctrl->getLinkTarget($this,
'confirmedAcknowledgeAllCourses')
452 .
'&ass_ids=' . implode(
',', $ass_ids)
464 $to_add = $this->permissions->filterUserIds(
469 $cnt_not_added = count($users) - count($to_add);
470 if ($cnt_not_added > 0) {
471 $this->tpl->setOnScreenMessage(
474 $this->
lng->txt(
'could_not_add_users_no_permissons'),
489 $this->
ctrl->redirect($this,
"view");
496 foreach ($prgrs_ids as $key => $prgrs_id) {
500 $this->
ctrl->redirect($this,
"view");
507 $msgs->
add(
false,
'No permission to edit progress of user', (
string) $prgrs_id);
520 $this->
ctrl->redirect($this,
"view");
527 foreach ($prgrs_ids as $key => $prgrs_id) {
531 $this->
ctrl->redirect($this,
"view");
538 $msgs->
add(
false,
'No permission to edit progress of user', (
string) $prgrs_id);
551 $msgs->add(
false,
"No permission to edit progress of user", (
string) $prgrs_id);
553 $programme->markRelevant($prgrs_id->getAssignmentId(), $this->
user->getId(), $msgs);
556 $this->
ctrl->redirect($this,
"view");
564 foreach ($prgrs_ids as $key => $prgrs_id) {
566 $msgs->add(
false,
'No permission to edit progress of user', (
string) $prgrs_id);
568 $programme->markRelevant($prgrs_id->getAssignmentId(), $this->
user->getId(), $msgs);
572 $this->
ctrl->redirect($this,
"view");
581 $msgs->add(
false,
'No permission to edit progress of user', (
string) $prgrs_id);
583 $programme->markNotRelevant($prgrs_id->getAssignmentId(), $this->
user->getId(), $msgs);
586 $this->
ctrl->redirect($this,
"view");
594 foreach ($prgrs_ids as $key => $prgrs_id) {
596 $msgs->add(
false,
'No permission to edit progress of user', (
string) $prgrs_id);
598 $programme->markNotRelevant($prgrs_id->getAssignmentId(), $this->
user->getId(), $msgs);
602 $this->
ctrl->redirect($this,
"view");
607 $this->confirmation_gui->setFormAction($this->
ctrl->getFormAction($this,
'confirmUpdateFromCurrentPlan'));
608 $this->confirmation_gui->setHeaderText($this->
lng->txt(
'header_update_current_plan'));
609 $this->confirmation_gui->setConfirm($this->
lng->txt(
'confirm'),
'confirmedUpdateFromCurrentPlan');
610 $this->confirmation_gui->setCancel($this->
lng->txt(
'cancel'),
'view');
614 $this->confirmation_gui->addItem(
615 self::F_SELECTED_PROGRESS_IDS,
619 return $this->confirmation_gui->getHTML();
624 $this->confirmation_gui->setFormAction($this->
ctrl->getFormAction($this,
'confirmUpdateFromCurrentPlan'));
625 $this->confirmation_gui->setHeaderText($this->
lng->txt(
'header_update_current_plan'));
626 $this->confirmation_gui->setConfirm($this->
lng->txt(
'confirm'),
'confirmedUpdateFromCurrentPlan');
627 $this->confirmation_gui->setCancel($this->
lng->txt(
'cancel'),
'view');
631 $this->confirmation_gui->addItem(
632 self::F_SELECTED_PROGRESS_IDS .
'[]',
633 (
string) $progress_id,
637 return $this->confirmation_gui->getHTML();
644 foreach ($pgs_ids as $idx => $pgs_id) {
646 $msgs->add(
false,
'no_permission_to_update_plan_of_user', (
string) $pgs_id);
649 $msgs->add(
true,
'', (
string) $pgs_id);
652 $this->
object->updatePlanFromRepository(
653 $pgs_id->getAssignmentId(),
654 $this->
user->getId(),
659 $this->
ctrl->redirect($this,
"view");
666 $this->assignment_db->get($progress_id->getAssignmentId())
668 return $this->ui_renderer->render(
677 $assignments[] = $this->assignment_db->get($progress_id->getAssignmentId());
679 return $this->ui_renderer->render(
689 $ass_ids = $this->http_wrapper->query()->retrieve(
691 $this->
refinery->custom()->transformation(fn($ids) => explode(
',', $ids))
707 foreach ($assignments as $ass) {
708 $ass_ids[] = $ass->getId();
709 $completed_crss = $prg->getCompletedCourses($ass);
711 foreach ($completed_crss as $opt) {
712 $nodes[] = [$opt[
'prg_obj_id'], $opt[
'crs_id']];
714 $prg->acknowledgeCourses(
721 $this->
ctrl->redirect($this,
"view");
729 $data = $form->getData();
735 foreach (
$data as $ack) {
736 [$assignment_id, $node_obj_id, $course_obj_id] = $ack;
737 if (! array_key_exists($assignment_id, $acknowledge)) {
738 $acknowledge[$assignment_id] = [];
740 $acknowledge[$assignment_id][] = [(
int) $node_obj_id, (
int) $course_obj_id];
742 foreach ($acknowledge as
$ass_id => $nodes) {
743 $this->
object->acknowledgeCourses(
751 $this->
ctrl->redirect($this,
"view");
756 $this->
ctrl->setParameterByClass(
757 'ilStudyProgrammeChangeDeadlineGUI',
762 $link = $this->
ctrl->getLinkTargetByClass(
763 'ilStudyProgrammeChangeDeadlineGUI',
767 $this->
ctrl->clearParameterByClass(
'ilStudyProgrammeChangeDeadlineGUI',
'prgrs_ids');
768 $this->
ctrl->redirectToURL($link);
773 $this->
ctrl->setParameterByClass(
774 'ilStudyProgrammeChangeDeadlineGUI',
779 $link = $this->
ctrl->getLinkTargetByClass(
780 'ilStudyProgrammeChangeDeadlineGUI',
784 $this->
ctrl->clearParameterByClass(
'ilStudyProgrammeChangeDeadlineGUI',
'prgrs_ids');
785 $this->
ctrl->redirectToURL($link);
790 $this->
ctrl->setParameterByClass(
791 'ilStudyProgrammeChangeExpireDateGUI',
796 $link = $this->
ctrl->getLinkTargetByClass(
797 'ilStudyProgrammeChangeExpireDateGUI',
798 'showExpireDateConfig' 801 $this->
ctrl->clearParameterByClass(
'ilStudyProgrammeChangeExpireDateGUI',
'prgrs_ids');
802 $this->
ctrl->redirectToURL($link);
807 $this->
ctrl->setParameterByClass(
808 'ilStudyProgrammeChangeExpireDateGUI',
813 $link = $this->
ctrl->getLinkTargetByClass(
814 'ilStudyProgrammeChangeExpireDateGUI',
815 'showExpireDateConfig' 818 $this->
ctrl->clearParameterByClass(
'ilStudyProgrammeChangeExpireDateGUI',
'prgrs_ids');
819 $this->
ctrl->redirectToURL($link);
836 $this->confirmation_gui->setFormAction($this->
ctrl->getFormAction($this));
837 $this->confirmation_gui->setHeaderText($this->
lng->txt(
'confirm_to_remove_selected_assignments'));
838 $this->confirmation_gui->setConfirm($this->
lng->txt(
'prg_remove_user'),
'confirmedRemoveUsers');
839 $this->confirmation_gui->setCancel($this->
lng->txt(
'cancel'),
'view');
841 foreach ($progress_ids as $progress_id) {
843 $this->confirmation_gui->addItem(
844 self::F_SELECTED_PROGRESS_IDS .
'[]',
845 (
string) $progress_id,
849 return $this->confirmation_gui->getHTML();
855 $not_removed = array();
856 foreach ($pgs_ids as $idx => $pgs_id) {
860 $not_removed[] = $pgs_id;
863 if (count($not_removed) === count($pgs_ids)) {
865 } elseif (count($not_removed) > 0) {
870 $this->
ctrl->redirect($this,
"view");
883 'No permission to manage membership of user' 889 if ($prg_ref_id !== $this->ref_id) {
890 throw new ilException(
"Can only remove users from the node they where assigned to.");
893 $prg->removeAssignment($ass);
901 $this->tpl->setOnScreenMessage(
"success", $this->
lng->txt(
"prg_$lng_var"),
true);
909 $this->tpl->setOnScreenMessage(
"info", $this->
lng->txt(
"prg_$lng_var"),
true);
918 "auto_complete_name" => $this->
lng->txt(
"user"),
919 "submit_name" => $this->
lng->txt(
"add"),
932 $this->ui_factory->link()->standard(
933 $this->
lng->txt(
'mail_assignments'),
934 $this->
ctrl->getLinkTargetByClass(
935 'ilStudyProgrammeMailMemberSearchGUI',
936 'showSelectableUsers' 948 if ($ref_id ===
null) {
960 case self::ACTION_MARK_ACCREDITED:
961 $target_name =
"markAccredited";
963 case self::ACTION_UNMARK_ACCREDITED:
964 $target_name =
"unmarkAccredited";
966 case self::ACTION_SHOW_INDIVIDUAL_PLAN:
967 return $this->individual_plan_gui->getLinkTargetView($ass_id);
968 case self::ACTION_REMOVE_USER:
969 $target_name =
"removeUser";
971 case self::ACTION_UNMARK_RELEVANT:
972 $target_name =
"markNotRelevant";
974 case self::ACTION_MARK_RELEVANT:
975 $target_name =
"markRelevant";
977 case self::ACTION_UPDATE_FROM_CURRENT_PLAN:
978 $target_name =
"updateFromCurrentPlan";
980 case self::ACTION_ACKNOWLEDGE_COURSES:
981 $target_name =
"acknowledgeCourses";
983 case self::ACTION_CHANGE_DEADLINE:
984 $target_name =
"changeDeadline";
986 case self::ACTION_CHANGE_EXPIRE_DATE:
987 $target_name =
"changeExpireDate";
989 case self::ACTION_UPDATE_CERTIFICATE:
990 $target_name =
"updateCertificate";
992 case self::ACTION_REMOVE_CERTIFICATE:
993 $target_name =
"removeCertificate";
999 $this->
ctrl->setParameter($this,
"prgrs_id", $prgrs_id);
1000 $link = $this->
ctrl->getLinkTarget($this, $target_name);
1001 $this->
ctrl->setParameter($this,
"prgrs_id",
null);
1015 return $this->messages->getMessageCollection($topic);
1020 $this->messages->showMessages($msg);
1026 $gui =
$dic[
'ilStudyProgrammeMailMemberSearchGUI'];
1029 fn(
$id) =>
$id->getAssignmentId(),
1033 $assignments = array_filter(
1035 fn($ass) => in_array($ass->getId(), $selected_ids)
1037 $gui->setAssignments($assignments);
1038 $this->
tabs->clearTargets();
1039 $this->
tabs->setBackTarget(
1040 $this->
lng->txt(
'btn_back'),
1043 $this->
ctrl->forwardCommand($gui);
1048 $this->confirmation_gui->setFormAction($this->
ctrl->getFormAction($this,
'confirmUpdateCertificate'));
1049 $this->confirmation_gui->setHeaderText($this->
lng->txt(
'header_update_certificate'));
1050 $this->confirmation_gui->setConfirm($this->
lng->txt(
'confirm'),
'confirmedUpdateCertificate');
1051 $this->confirmation_gui->setCancel($this->
lng->txt(
'cancel'),
'view');
1055 $this->confirmation_gui->addItem(
1056 self::F_SELECTED_PROGRESS_IDS,
1060 return $this->confirmation_gui->getHTML();
1065 $this->confirmation_gui->setFormAction($this->
ctrl->getFormAction($this,
'confirmUpdateCertificate'));
1066 $this->confirmation_gui->setHeaderText($this->
lng->txt(
'header_update_certificate'));
1067 $this->confirmation_gui->setConfirm($this->
lng->txt(
'confirm'),
'confirmedUpdateCertificate');
1068 $this->confirmation_gui->setCancel($this->
lng->txt(
'cancel'),
'view');
1072 $this->confirmation_gui->addItem(
1073 self::F_SELECTED_PROGRESS_IDS .
'[]',
1074 (
string) $progress_id,
1078 return $this->confirmation_gui->getHTML();
1089 $assignment = $this->assignment_db->get($prgs_id->getAssignmentId());
1090 $progress = $assignment->getProgressForNode($prgs_id->getNodeId());
1091 if (!$progress->isSuccessful()) {
1092 $msgs->add(
false,
'will_not_update_cert_for_unsuccessful_progress', (
string) $prgs_id);
1097 $prgs_id->getNodeId(),
1098 $prgs_id->getUsrId()
1100 $msgs->add(
true,
'', (
string) $prgs_id);
1102 $msgs->add(
false,
'error_updating_certificate', (
string) $prgs_id);
1107 $this->
ctrl->redirect($this,
"view");
1112 $this->confirmation_gui->setFormAction($this->
ctrl->getFormAction($this,
'confirmRemovalOfCertificate'));
1113 $this->confirmation_gui->setHeaderText($this->
lng->txt(
'header_remove_certificate'));
1114 $this->confirmation_gui->setConfirm($this->
lng->txt(
'confirm'),
'confirmedRemovalOfCertificate');
1115 $this->confirmation_gui->setCancel($this->
lng->txt(
'cancel'),
'view');
1119 $this->confirmation_gui->addItem(
1120 self::F_SELECTED_PROGRESS_IDS,
1124 return $this->confirmation_gui->getHTML();
1129 $this->confirmation_gui->setFormAction($this->
ctrl->getFormAction($this,
'confirmRemovalOfCertificate'));
1130 $this->confirmation_gui->setHeaderText($this->
lng->txt(
'header_remove_certificate'));
1131 $this->confirmation_gui->setConfirm($this->
lng->txt(
'confirm'),
'confirmedRemovalOfCertificate');
1132 $this->confirmation_gui->setCancel($this->
lng->txt(
'cancel'),
'view');
1136 $this->confirmation_gui->addItem(
1137 self::F_SELECTED_PROGRESS_IDS .
'[]',
1138 (
string) $progress_id,
1143 return $this->confirmation_gui->getHTML();
1150 foreach ($pgs_ids as $idx => $prgs_id) {
1155 $prgs_id->getNodeId(),
1156 $prgs_id->getUsrId(),
1161 $this->
ctrl->redirect($this,
"view");
1170 $this->
lng->txt(
'error_creating_certificate_pdf')
confirmRemoveUsers(array $progress_ids)
confirmedUpdateFromCurrentPlan()
const ACTION_UPDATE_FROM_CURRENT_PLAN
const ACTION_REMOVE_CERTIFICATE
const ACTION_UNMARK_RELEVANT
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilObjStudyProgramme $object
removeAssignment(PRGProgressId $pgs_id)
Remove user.
removeCertificateForUser(int $node_id, int $usr_id,)
markAccreditedByProgressId(PRGProgressId $prgrs_id, ilPRGMessageCollection $msgs)
Util around ilPRGMessageCollection factors and output collections.
static _lookupFullname(int $a_user_id)
confirmedRemovalOfCertificate()
Interface Observer Contains several chained tasks and infos about them.
acknowledgeCoursesMulti()
__construct(protected ilGlobalTemplateInterface $tpl, protected ilCtrl $ctrl, protected ilToolbarGUI $toolbar, protected ilLanguage $lng, protected ilObjUser $user, protected ilTabsGUI $tabs, protected ilPRGAssignmentDBRepository $assignment_db, protected ilStudyProgrammeRepositorySearchGUI $repository_search_gui, protected ilObjStudyProgrammeIndividualPlanGUI $individual_plan_gui, protected ilPRGMessagePrinter $messages, protected Factory $data_factory, protected ilConfirmationGUI $confirmation_gui, protected ILIAS\HTTP\Wrapper\WrapperFactory $http_wrapper, protected ILIAS\Refinery\Factory $refinery, protected ILIAS\UI\Factory $ui_factory, protected ILIAS\UI\Renderer $ui_renderer, protected GuzzleHttp\Psr7\ServerRequest $request,)
updateCertificateForPrg(int $obj_id, int $usr_id)
static getInstanceByRefId($ref_id)
mayCurrentUserEditProgressForUser(int $usr_id)
loadLanguageModule(string $a_module)
Load language module.
const ACTION_MARK_RELEVANT
getAssignmentsFromQuery()
setParentGUI(ilObjectGUI $a_parent_gui)
add(bool $success, string $message, string $record_identitifer)
getMessageCollection(string $topic)
static _lookupObjId(int $ref_id)
const ACTION_CHANGE_DEADLINE
deliverCertificate(int $obj_id, int $usr_id)
initMailToMemberButton(ilToolbarGUI $toolbar, bool $separator=false)
const OP_EDIT_INDIVIDUAL_PLAN
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
const ACTION_CHANGE_EXPIRE_DATE
getAddableUsers(array $users)
getLinkTargetForAction(string $action, string $prgrs_id, int $ass_id)
Get the link target for an action on user progress.
const ACTION_MARK_ACCREDITED
const ACTION_ACKNOWLEDGE_COURSES
static createFromString(string $id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
showInfoMessage(string $lng_var)
Shows ilUtil failed message.
Class ilObjectGUI Basic methods of all Output classes.
const ACTION_SHOW_INDIVIDUAL_PLAN
const ACTION_UPDATE_CERTIFICATE
trait ilPRGCertificateHelper
view()
Shows table with all members of the SP.
static specificDicFor(ilObjStudyProgramme $prg)
ilObjStudyProgrammeMembersGUI: ilStudyProgrammeRepositorySearchGUI ilObjStudyProgrammeMembersGUI: il...
getStudyProgramme(?int $ref_id=null)
Get studyprogramm object for ref_id Use this ref_id if argument is null.
const F_SELECTED_PROGRESS_IDS
confirmedUpdateCertificate()
const ACTION_UNMARK_ACCREDITED
Both role and OrgU-based permissions are relevant in many places of the PRG.
updateFromCurrentPlanMulti()
const F_COMMAND_OPTION_ALL
Custom repository search gui class for study programme to make it possible to get a handle on users s...
Assignments are relations of users to a PRG; They hold progress-information for (sub-)nodes of the PR...
showSuccessMessage(string $lng_var)
Shows ilUtil success message.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
confirmedAcknowledgeAllCourses()
static getRefIdFor(int $obj_id)
showMessages(ilPRGMessageCollection $msg)
ilPRGPermissionsHelper $permissions
addUsers(array $user_ids)
Assigns a users to SP.
unmarkAccreditedByProgressId(PRGProgressId $prgrs_id, ilPRGMessageCollection $msgs)
const F_SELECTED_USER_IDS
static fillAutoCompleteToolbar( $parent_object, ?ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
This is just the same as in the parent class, except for the hardcoded class name.
confirmedAcknowledgeCourses()
viewCompletedCourses(array $assignments)
Shows list of completed courses for each assignment.
Holds information about multi-actions, mainly in context of member-assignemnts and status changes...
downloadPdf(int $userId, int $objectId)