Step per replicare:
Amministrazione, E-Learning/E-Learning/Catalogo corsi.
In corrispondenza del catalogo che ci interessa, clicchiamo sul "più" verde.
Selezioniamo l'utente da iscrivere.
Logout, entriamo con quell'utente, vede il corso, ma non i menu Student Area, ecc.
L'errore è in \doceboLms\admin\controllers\SubscriptionAlmsController.php, nella funzione _subscribeUsersToCatalogue:
Code: Select all
foreach ($data as $value) {
list($id_user, $id_course, $id_edition, $id_date) = $value;
if ($id_date) {
if (!isset($already_classrooms[$id_date][$id_user])) {
//subscribe to classroom
$res = $date_man->subscribeUserToDate($id_user, $id_course, $id_date, $lv_user, $waiting);
if ($res) $count_d++;
}
} elseif ($id_edition) {
if (!isset($already_editions[$id_edition][$id_user])) {
//subscribe to edition
$res = $edition_man->subscribeUserToEdition($id_user, $id_course, $id_edition, $lv_user, $waiting);
if ($res) $count_e++;
}
} else {
if (!isset($already_courses[$id_course][$id_user])) {
//subscribe to course
$res = $subscribe_man->subscribeUserToCourse($id_user, $id_course, $lv_user, $waiting);
if ($res) $count_u++;
}
}
}
Credo sia un refuso di docebo 3, visto che normalmente si usa il model:
Code: Select all
$res = $_model->subscribeUser($id_user, $level, false);
if ($res) {
$docebo_course = new DoceboCourse($id_course);
$level_idst = & $docebo_course->getCourseLevel($id_course);
if (count($level_idst) == 0 || $level_idst[1] == '')
$level_idst = & $docebo_course->createCourseLevel($id_course);
//$this->acl_man->addToGroup($level_idst[$level], $id_user);
$this->_addToCourseGroup($level_idst[$level], $id_user);
}