protected function getItems($a_content_obj)
 {
     $items = ilObjCourseGrouping::_getVisibleGroupings($a_content_obj->getId());
     $data = array();
     foreach ($items as $grouping_id) {
         $tmp_obj = new ilObjCourseGrouping($grouping_id);
         $data[$grouping_id]['id'] = $grouping_id;
         $data[$grouping_id]['title'] = $tmp_obj->getTitle();
         $data[$grouping_id]['unique'] = $this->lng->txt($tmp_obj->getUniqueField());
         // Description
         if (strlen($tmp_obj->getDescription())) {
             $data[$grouping_id]['description'] = $tmp_obj->getDescription();
         }
         // Assigned items
         $assigned_items = $tmp_obj->getAssignedItems();
         foreach ($assigned_items as $condition) {
             $data[$grouping_id]['assigned'][] = ilObject::_lookupTitle($condition['target_obj_id']);
         }
     }
     $this->setData($data);
 }
 function initForm($a_create)
 {
     include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
     $form = new ilPropertyFormGUI();
     $form->setFormAction($this->ctrl->getFormAction($this));
     $title = new ilTextInputGUI($this->lng->txt('title'), 'title');
     $title->setRequired(true);
     $form->addItem($title);
     $desc = new ilTextAreaInputGUI($this->lng->txt('description'), 'description');
     $form->addItem($desc);
     $options = array('login' => 'login', 'email' => 'email', 'matriculation' => 'matriculation');
     foreach ($options as $value => $caption) {
         $options[$value] = $this->lng->txt($caption);
     }
     $uniq = new ilSelectInputGUI($this->lng->txt('unambiguousness'), 'unique');
     $uniq->setRequired(true);
     $uniq->setOptions($options);
     $form->addItem($uniq);
     if ($a_create) {
         $form->setTitle($this->lng->txt('crs_add_grouping'));
         $form->addCommandButton('add', $this->lng->txt('btn_add'));
     } else {
         $grouping = new ilObjCourseGrouping($_REQUEST['obj_id']);
         $title->setValue($grouping->getTitle());
         $desc->setValue($grouping->getDescription());
         $uniq->setValue($grouping->getUniqueField());
         $ass = new ilCustomInputGUI($this->lng->txt('groupings_assigned_obj_' . $this->getContentType()));
         $form->addItem($ass);
         // assignments
         $items = array();
         foreach ($grouping->getAssignedItems() as $cond_data) {
             $items[] = ilObject::_lookupTitle($cond_data['target_obj_id']);
         }
         if (count($items)) {
             $ass->setHtml(implode("<br />", $items));
         } else {
             $ass->setHtml($this->lng->txt('crs_grp_no_courses_assigned'));
         }
         $form->setTitle($this->lng->txt('edit_grouping'));
         $form->addCommandButton('update', $this->lng->txt('save'));
         $form->addCommandButton('selectCourse', $this->lng->txt('grouping_change_assignment'));
     }
     $form->addCommandButton('listGroupings', $this->lng->txt('cancel'));
     return $form;
 }