示例#1
0
 /**
  * returns task prepared for json transport
  *
  * @param Tinebase_Record_Interface $_record
  * @return array record data
  */
 protected function _recordToJson($_record)
 {
     $recordArray = parent::_recordToJson($_record);
     // group data
     $groupData = $this->_groupController->get($_record->group_id)->toArray();
     unset($groupData['id']);
     $groupData['members'] = $this->_getCourseMembers($_record->group_id);
     // course type
     $recordArray['type'] = array('value' => $recordArray['type'], 'records' => $this->searchCourseTypes(NULL, NULL));
     return array_merge($groupData, $recordArray);
 }
 /**
  * import course members
  *
  * @param string $tempFileId
  * @param string $courseId
  * @return array
  */
 public function importMembers($tempFileId, $courseId)
 {
     $this->checkRight(Courses_Acl_Rights::ADD_NEW_USER);
     $tempFile = Tinebase_TempFile::getInstance()->getTempFile($tempFileId);
     // get definition and start import with admin user import csv plugin
     $definitionName = $this->_config->get(Courses_Config::STUDENTS_IMPORT_DEFINITION, 'admin_user_import_csv');
     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Using import definition: ' . $definitionName);
     }
     $definition = Tinebase_ImportExportDefinition::getInstance()->getByName($definitionName);
     $course = $this->get($courseId);
     // check if group exists, too
     $group = $this->_groupController->get($course->group_id);
     $importer = Admin_Import_User_Csv::createFromDefinition($definition, $this->_getNewUserConfig($course));
     $result = $importer->importFile($tempFile->path);
     $groupMembers = $this->_groupController->getGroupMembers($course->group_id);
     $this->_manageAccessGroups($groupMembers, $course);
     $this->_addToStudentGroup($groupMembers);
     return $result;
 }