Skip to content

Commit

Permalink
Adds importSubscribeStatic option see BT#9328
Browse files Browse the repository at this point in the history
  • Loading branch information
jmontoyaa committed Feb 3, 2015
1 parent 75e3e9f commit b82a265
Showing 1 changed file with 71 additions and 2 deletions.
73 changes: 71 additions & 2 deletions main/cron/import_csv.php
Expand Up @@ -109,7 +109,10 @@ public function run()
$isStatic = strpos($method, 'Static');

if (method_exists($this, $method)) {
if ($method == 'importUnsubscribeStatic' || empty($isStatic)) {
if (($method == 'importUnsubscribeStatic' ||
$method == 'importSubscribeStatic') ||
empty($isStatic)
) {
$fileToProcess[$parts[1]][] = array(
'method' => $method,
'file' => $path.$fileInfo['basename']
Expand Down Expand Up @@ -144,8 +147,10 @@ public function run()
'teachers',
'courses',
'sessions',
'subscribe-static',
'unsubscribe-static'
);

foreach ($sections as $section) {
$this->logger->addInfo("-- Import $section --");

Expand All @@ -169,6 +174,7 @@ public function run()
'sessions-static',
'calendar-static',
);

foreach ($sections as $section) {
$this->logger->addInfo("-- Import static files $section --");

Expand Down Expand Up @@ -1215,6 +1221,67 @@ private function importSessions($file, $moveFile = true)
}
}

/**
* @param string $file
*/
private function importSubscribeStatic($file)
{
$data = Import::csv_reader($file);

if (!empty($data)) {
$this->logger->addInfo(count($data) . " records found.");
foreach ($data as $row) {
$chamiloUserName = $row['UserName'];
$chamiloCourseCode = $row['CourseCode'];
$chamiloSessionId = $row['SessionID'];
$type = $row['Type'];

$sessionInfo = api_get_session_info($chamiloSessionId);

if (empty($sessionInfo)) {
$this->logger->addError('Session does not exists: '.$chamiloSessionId);
continue;
}

$courseInfo = api_get_course_info($chamiloCourseCode);
if (empty($courseInfo)) {
$this->logger->addError('Course does not exists: '.$courseInfo);
continue;
}

$userId = Usermanager::get_user_id_from_username($chamiloUserName);

if (empty($userId)) {
$this->logger->addError('User does not exists: '.$chamiloUserName);
continue;
}
$status = null;
switch ($type) {
case 'student':
SessionManager::subscribe_users_to_session_course(
array($userId),
$chamiloSessionId,
$courseInfo['code'],
null,
false
);
break;
case 'teacher':
SessionManager::set_coach_to_course_session(
$userId,
$chamiloSessionId,
$courseInfo['code']
);
break;
}

$this->logger->addError(
"User '$chamiloUserName' with status $type was added to session: #$chamiloSessionId - Course: " . $courseInfo['code']
);
}
}
}

/**
* @param string $file
*/
Expand Down Expand Up @@ -1250,7 +1317,9 @@ private function importUnsubscribeStatic($file)
}

CourseManager::unsubscribe_user($userId, $courseInfo['code'], $chamiloSessionId);
$this->logger->addError("User '$chamiloUserName' was removed from session: #$chamiloSessionId, Course: ".$courseInfo['code']);
$this->logger->addError(
"User '$chamiloUserName' was removed from session: #$chamiloSessionId, Course: ".$courseInfo['code']
);
}
}
}
Expand Down

0 comments on commit b82a265

Please sign in to comment.