public function showSettingsObject()
 {
     global $tpl, $ilCtrl, $ilUser, $lng;
     require_once 'Services/Notifications/classes/class.ilNotificationSettingsTable.php';
     require_once 'Services/Notifications/classes/class.ilNotificationDatabaseHelper.php';
     $userTypes = ilNotificationDatabaseHandler::loadUserConfig($ilUser->getId());
     $lng->loadLanguageModule('notification');
     require_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
     $form = new ilPropertyFormGUI();
     $chk = new ilCheckboxInputGUI($lng->txt('enable_custom_notification_configuration'), 'enable_custom_notification_configuration');
     $chk->setValue('1');
     $chk->setChecked($ilUser->getPref('use_custom_notification_setting') == 1);
     $form->addItem($chk);
     $form->setFormAction($ilCtrl->getFormAction($this, 'showSettingsObject'));
     $form->addCommandButton('saveCustomizingOption', $lng->txt('save'));
     $form->addCommandButton('showSettings', $lng->txt('cancel'));
     $table = new ilNotificationSettingsTable($this, 'a title', $this->getAvailableChannels(array('set_by_user')), $userTypes);
     $table->setFormAction($ilCtrl->getFormAction($this, 'saveSettings'));
     $table->setData($this->getAvailableTypes(array('set_by_user')));
     if ($ilUser->getPref('use_custom_notification_setting') == 1) {
         $table->addCommandButton('saveSettings', $lng->txt('save'));
         $table->addCommandButton('showSettings', $lng->txt('cancel'));
         $table->setEditable(true);
     } else {
         $table->setEditable(false);
     }
     $tpl->setContent($form->getHtml() . $table->getHTML());
 }