3declare(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')
An exception for terminatinating execution or to throw for unit testing.
This class provides processing control methods.
GUI class for learning sequence membership features.
setSubTabs(ilTabsGUI $tabs)
Set sub tabs.
getMembersObject()
Get member object.
getAttendanceListUserData(int $user_id)
getDefaultCommand()
Get default command.
__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)
updateParticipantsStatus()
save in participants table
readMemberData(array $user_ids, array $columns=null)
Required for member table guis.
printMembers()
Print members.
getLocalTypeRole($a_translation=false)
initParticipantTableGUI()
filterUserIdsByRbacOrPositionOfCurrentUser($user_ids)
Filter user ids by access.
initParticipantTemplate()
Init participant view template.
showParticipantsToolbar()
Show participants toolbar.
getPrintMemberData(array $members)
initEditParticipantTableGUI(array $participants)
assignMembers(array $user_ids, string $type)
const TYPE_ADMISSION_MEMBER
static getLogger($a_component_id)
Get component logger.
Base class for member tab content.
getParentGUI()
Get parent gui.
checkPermission($a_permission, $a_cmd="")
Check permission If not granted redirect to parent gui.
participants()
Show participant table, subscriber table, wating list table;.
checkRbacOrPositionAccessBool($a_rbac_perm, $a_pos_perm, $a_ref_id=0)
Check if rbac or position access is granted.
showMailToMemberToolbarButton(ilToolbarGUI $toolbar, $a_back_cmd=null, $a_separator=false)
Show mail to member toolbar button.
getParentObject()
Get parent object.
Class ilObjectGUI Basic methods of all Output classes.
Class ilObject Basic functions for all objects.
static getInstance($a_ref_id)
Get instance by ref_id.
Singleton class that stores all privacy settings.
class ilRbacReview Contains Review functions of core Rbac.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
addSubTabTarget( $a_text, $a_link, $a_cmd="", $a_cmdClass="", $a_frame="", $a_activate=false, $a_dir_text=false)
DEPRECATED.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc