19 declare(strict_types=1);
54 $back_cmd =
'participants';
56 $back_cmd =
'jump2UsersGallery';
60 $ilTabs = $DIC[
'ilTabs'];
61 $ilTabs->clearTargets();
62 $ilTabs->setBackTarget(
63 $this->
lng->txt(
'back'),
64 $this->
ctrl->getLinkTarget($this, $back_cmd)
68 $form = $list->initForm(
'printMembersOutput');
69 $this->tpl->setContent($form->getHTML());
75 return $this->request_wrapper->retrieve(
"back_cmd",
$r->byTrying([
$r->kindlyTo()->string(),
$r->always(
"members")]));
85 return $this->
access->filterUserIdsByRbacOrPositionOfCurrentUser(
101 if (count($user_ids) == 0) {
102 $this->
lng->loadLanguageModule(
'search');
103 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
'search_err_user_not_exist'),
true);
108 foreach ($user_ids as $new_member) {
109 $new_member = (
int) $new_member;
111 if ($members->isAssigned($new_member)) {
116 case $object->getDefaultAdminRole():
118 $members->sendNotification(
124 case $object->getDefaultMemberRole():
126 $members->sendNotification(
133 if (in_array($type, $object->getLocalLearningSequenceRoles(
true))) {
135 $members->updateRoleAssignments($new_member, array($type));
138 'Can not find role with id .' . $type .
' to assign users.' 140 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"lso_cannot_find_role"),
true);
144 $members->sendNotification(
154 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"lso_msg_member_assigned"),
true);
156 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'lso_users_already_assigned'),
true);
159 $this->
ctrl->redirect($this,
'participants');
171 "visible_member_ids",
176 if ($this->post_wrapper->has(
'notification')) {
177 $notification = $this->post_wrapper->retrieve(
184 if ($members->isAdmin($participant)) {
188 $members->updateNotification($participant,
false);
191 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'settings_saved'),
true);
192 $this->
ctrl->redirect($this,
'participants');
200 $this->obj_user_tracking,
201 $this->privacy_settings,
211 $obj = parent::getParentObject();
213 throw new Exception(
'Invalid class type ' . get_class($obj) .
". Expected ilObjLearningSequence.");
224 $this->privacy_settings
227 $table->setTitle($this->
lng->txt($this->getParentObject()->getType() .
'_header_edit_members'));
238 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.lso_edit_members.html',
'Modules/LearningSequence');
246 return $this->
getParentObject()->getLocalLearningSequenceRoles($translation);
288 $data = $this->member_data[$user_id];
289 if (array_key_exists(
'access_time',
$data)) {
314 $this->
ctrl->getLinkTarget($this,
'participants'),
321 $this->
ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
328 $this->
ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
338 'auto_complete_name' => $this->
lng->txt(
'user'),
341 'submit_name' => $this->
lng->txt(
'add'),
345 $search_params = [
'crs',
'grp'];
346 $parent_container = $this->obj->getParentObjectInfo(
347 $this->obj->getRefId(),
350 if (!is_null($parent_container)) {
351 $container_id = $parent_container[
'ref_id'];
352 $toolbar_entries[
'add_from_container'] = $container_id;
361 $this->
toolbar->addSeparator();
364 $this->ui_factory->button()->standard(
365 $this->
lng->txt($this->getParentObject()->getType() .
"_print_list"),
366 $this->
ctrl->getLinkTarget($this,
'printMembers')
readMemberData(array $usr_ids, array $columns=null)
updateNotification(int $a_usr_id, bool $a_notification)
Update notification status.
getPrintMemberData(array $members)
Base class for member tab content.
static getLogger(string $a_component_id)
Get component logger.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ChatMainBarProvider .
checkPermission(string $a_permission, string $a_cmd="")
Check permission If not granted redirect to parent gui.
ilObjectGUI $repository_gui
initEditParticipantTableGUI(array $participants)
addSubTabTarget(string $a_text, string $a_link, $a_cmd="", $a_cmdClass="", string $a_frame="", bool $a_activate=false, bool $a_dir_text=false)
getAttendanceListUserData(int $user_id, array $filters=[])
const TYPE_ADMISSION_MEMBER
Singleton class that stores all privacy settings.
Class ilObjectGUI Basic methods of all Output classes.
updateParticipantsStatus()
save in participants table
initParticipantTemplate()
Init participant view template.
initAttendanceList(bool $a_for_members=false)
ilParticipants $participants
showMailToMemberToolbarButton(ilToolbarGUI $toolbar, ?string $a_back_cmd=null, bool $a_separator=false)
Show mail to member toolbar button.
static fillAutoCompleteToolbar(object $parent_object, ilToolbarGUI $toolbar=null, array $a_options=[], bool $a_sticky=false)
array( auto_complete_name = $lng->txt('user'), auto_complete_size = 15, user_type = array(ilCoursePar...
__construct(ilObjectGUI $repository_gui, protected ilObject $obj, protected ilObjUserTracking $obj_user_tracking, protected ilPrivacySettings $privacy_settings, protected ilRbacReview $rbac_review, protected ilSetting $settings, protected ilToolbarGUI $toolbar, protected ILIAS\HTTP\Wrapper\RequestWrapper $request_wrapper, protected ArrayBasedRequestWrapper $post_wrapper, protected ILIAS\Refinery\Factory $refinery, protected ILIAS\UI\Factory $ui_factory)
showParticipantsToolbar()
filterUserIdsByRbacOrPositionOfCurrentUser(array $a_user_ids)
Filter user ids by access.
getLocalTypeRole(bool $translation=false)
assignMembers(array $user_ids, string $type)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
checkRbacOrPositionAccessBool(string $a_rbac_perm, string $a_pos_perm, int $a_ref_id=0)
setSubTabs(ilTabsGUI $tabs)
Class ilAbstractMailMemberRoles.
GUI class for learning sequence membership features.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
initParticipantTableGUI()