3 declare(strict_types=1);
32 $this->obj_user_tracking = $obj_user_tracking;
33 $this->privacy_settings = $privacy_settings;
37 $this->rbac_review = $rbac_review;
39 $this->obj = $repository_obj;
40 $this->toolbar = $toolbar;
47 $back_cmd =
'participants';
49 $back_cmd =
'jump2UsersGallery';
53 $ilTabs = $DIC[
'ilTabs'];
54 $ilTabs->clearTargets();
55 $ilTabs->setBackTarget(
56 $this->lng->txt(
'back'),
57 $this->ctrl->getLinkTarget($this, $back_cmd)
60 $list = $this->initAttendanceList();
61 $form = $list->initForm(
'printMembersOutput');
62 $this->tpl->setContent($form->getHTML());
67 $back_cmd =
$_GET[
'back_cmd'];
78 return $this->access->filterUserIdsByRbacOrPositionOfCurrentUser(
91 if (count($user_ids) == 0) {
92 $this->lng->loadLanguageModule(
'search');
98 foreach ($user_ids as $new_member) {
99 if ($members->isAssigned($new_member)) {
104 case $object->getDefaultAdminRole():
106 $members->sendNotification(
112 case $object->getDefaultMemberRole():
114 $members->sendNotification(
121 if (in_array($type, $object->getLocalLearningSequenceRoles(
true))) {
123 $members->updateRoleAssignments($new_member, array($type));
130 $members->sendNotification(
140 ilUtil::sendSuccess($this->lng->txt(
"lso_msg_member_assigned"),
true);
142 ilUtil::sendSuccess($this->lng->txt(
'lso_users_already_assigned'),
true);
145 $this->ctrl->redirect($this,
'participants');
155 $participants = (array)
$_POST[
'visible_member_ids'];
156 $notification = (array)
$_POST[
'notification'];
158 foreach ($participants as $participant) {
159 if ($members->isAdmin($participant)) {
160 $members->updateNotification($participant, in_array($participant, $notification));
163 $members->updateNotification($participant,
false);
166 ilUtil::sendSuccess($this->lng->txt(
'settings_saved'),
true);
167 $this->ctrl->redirect($this,
'participants');
175 $this->obj_user_tracking,
176 $this->privacy_settings,
190 $this->privacy_settings,
195 $table->setTitle($this->lng->txt($this->getParentObject()->getType() .
'_header_edit_members'));
206 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.lso_edit_members.html',
'Modules/LearningSequence');
211 return $this->
getParentObject()->getLocalLearningSequenceRoles($a_translation);
237 $member_data = $this->
getParentGUI()->addCustomData($member_data);
247 $data = $this->member_data[$user_id];
249 $data[
'progress'] = $this->lng->txt(
$data[
'progress']);
258 return $this->participants;
282 $this->ctrl->getLinkTarget($this,
'participants'),
289 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
296 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
306 'auto_complete_name' => $this->lng->txt(
'user'),
309 'submit_name' => $this->lng->txt(
'add'),
310 'add_search' =>
true,
314 $search_params = [
'crs',
'grp'];
315 $parent_container = $this->obj->getParentObjectInfo(
316 (
int) $this->obj->getRefId(),
319 if (!is_null($parent_container)) {
320 $container_id = $parent_container[
'ref_id'];
321 $toolbar_entries[
'add_from_container'] = $container_id;
330 $this->toolbar->addSeparator();
332 $this->toolbar->addButton(
333 $this->lng->txt($this->getParentObject()->getType() .
"_print_list"),
334 $this->ctrl->getLinkTarget($this,
'printMembers')
This class provides processing control methods.
getPrintMemberData(array $members)
Base class for member tab content.
addSubTabTarget( $a_text, $a_link, $a_cmd="", $a_cmdClass="", $a_frame="", $a_activate=false, $a_dir_text=false)
DEPRECATED.
__construct(ilObjectGUI $repository_gui, ilObject $repository_obj, ilObjUserTracking $obj_user_tracking, ilPrivacySettings $privacy_settings, ilLanguage $lng, ilCtrl $ctrl, ilAccess $access, ilRbacReview $rbac_review, ilSetting $settings, ilToolbarGUI $toolbar)
getAttendanceListUserData(int $user_id)
checkPermission($a_permission, $a_cmd="")
Check permission If not granted redirect to parent gui.
initEditParticipantTableGUI(array $participants)
readMemberData(array $user_ids, array $columns=null)
static getInstance($a_ref_id)
Get instance by ref_id.
showMailToMemberToolbarButton(ilToolbarGUI $toolbar, $a_back_cmd=null, $a_separator=false)
Show mail to member toolbar button.
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.
getParentGUI()
Get parent gui.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
filterUserIdsByRbacOrPositionOfCurrentUser($user_ids)
Filter user ids by access.
showParticipantsToolbar()
__construct(Container $dic, ilPlugin $plugin)
participants()
Show participant table, subscriber table, wating list table;.
assignMembers(array $user_ids, string $type)
static getLogger($a_component_id)
Get component logger.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
getParentObject()
Get parent object.
getLocalTypeRole($a_translation=false)
setSubTabs(ilTabsGUI $tabs)
checkRbacOrPositionAccessBool($a_rbac_perm, $a_pos_perm, $a_ref_id=0)
Check if rbac or position access is granted.
GUI class for learning sequence membership features.
initParticipantTableGUI()
class ilRbacReview Contains Review functions of core Rbac.