3 declare(strict_types=1);
53 ILIAS\
HTTP\Wrapper\RequestWrapper $request_wrapper,
74 $back_cmd =
'participants';
76 $back_cmd =
'jump2UsersGallery';
80 $ilTabs = $DIC[
'ilTabs'];
81 $ilTabs->clearTargets();
82 $ilTabs->setBackTarget(
83 $this->
lng->txt(
'back'),
84 $this->
ctrl->getLinkTarget($this, $back_cmd)
88 $form = $list->initForm(
'printMembersOutput');
89 $this->tpl->setContent($form->getHTML());
95 return $this->request_wrapper->retrieve(
"back_cmd", $r->byTrying([$r->kindlyTo()->string(), $r->always(
"members")]));
105 return $this->
access->filterUserIdsByRbacOrPositionOfCurrentUser(
121 if (count($user_ids) == 0) {
122 $this->
lng->loadLanguageModule(
'search');
123 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
'search_err_user_not_exist'),
true);
128 foreach ($user_ids as $new_member) {
129 $new_member = (
int) $new_member;
131 if ($members->isAssigned($new_member)) {
136 case $object->getDefaultAdminRole():
138 $members->sendNotification(
144 case $object->getDefaultMemberRole():
146 $members->sendNotification(
153 if (in_array($type, $object->getLocalLearningSequenceRoles(
true))) {
155 $members->updateRoleAssignments($new_member, array($type));
158 'Can not find role with id .' . $type .
' to assign users.' 160 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"lso_cannot_find_role"),
true);
164 $members->sendNotification(
174 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"lso_msg_member_assigned"),
true);
176 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'lso_users_already_assigned'),
true);
179 $this->
ctrl->redirect($this,
'participants');
191 "visible_member_ids",
196 if ($this->post_wrapper->has(
'notification')) {
197 $notification = $this->post_wrapper->retrieve(
204 if ($members->isAdmin($participant)) {
208 $members->updateNotification($participant,
false);
211 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'settings_saved'),
true);
212 $this->
ctrl->redirect($this,
'participants');
220 $this->obj_user_tracking,
221 $this->privacy_settings,
231 $obj = parent::getParentObject();
233 throw new Exception(
'Invalid class type ' . get_class($obj) .
". Expected ilObjLearningSequence.");
244 $this->privacy_settings
247 $table->setTitle($this->
lng->txt($this->getParentObject()->getType() .
'_header_edit_members'));
258 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.lso_edit_members.html',
'Modules/LearningSequence');
266 return $this->
getParentObject()->getLocalLearningSequenceRoles($translation);
308 $data = $this->member_data[$user_id];
309 if (array_key_exists(
'access_time',
$data)) {
334 $this->
ctrl->getLinkTarget($this,
'participants'),
341 $this->
ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
348 $this->
ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
358 'auto_complete_name' => $this->
lng->txt(
'user'),
361 'submit_name' => $this->
lng->txt(
'add'),
365 $search_params = [
'crs',
'grp'];
366 $parent_container = $this->obj->getParentObjectInfo(
367 $this->obj->getRefId(),
370 if (!is_null($parent_container)) {
371 $container_id = $parent_container[
'ref_id'];
372 $toolbar_entries[
'add_from_container'] = $container_id;
381 $this->
toolbar->addSeparator();
384 $this->
lng->txt($this->getParentObject()->getType() .
"_print_list"),
385 $this->
ctrl->getLinkTarget($this,
'printMembers')
ILIAS HTTP Wrapper RequestWrapper $request_wrapper
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.
ilPrivacySettings $privacy_settings
ArrayBasedRequestWrapper $post_wrapper
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
ilRbacReview $rbac_review
__construct(ilObjectGUI $repository_gui, ilObject $obj, ilObjUserTracking $obj_user_tracking, ilPrivacySettings $privacy_settings, ilRbacReview $rbac_review, ilSetting $settings, ilToolbarGUI $toolbar, ILIAS\HTTP\Wrapper\RequestWrapper $request_wrapper, ArrayBasedRequestWrapper $post_wrapper, ILIAS\Refinery\Factory $refinery)
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...
ilObjUserTracking $obj_user_tracking
ILIAS Refinery Factory $refinery
showParticipantsToolbar()
filterUserIdsByRbacOrPositionOfCurrentUser(array $a_user_ids)
Filter user ids by access.
getLocalTypeRole(bool $translation=false)
__construct(Container $dic, ilPlugin $plugin)
assignMembers(array $user_ids, string $type)
ilObjectGUI $repository_gui
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()