/** * 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; }