Ho creato un profilo amministratore che non può iscrivere direttamente gli utenti ai corsi (richiesta la moderazione).
Ho notato che se iscrive un utente ad un corso mediante la fast subscribe, la richiesta non va a buon fine, o meglio vedo un messaggio di operazione completata con successo, ma poi l'utente non risulta iscritto (né è in attesa).
Se utilizzo invece l'iscrizione normale (aggiungi, cerco l'utente, successivi, seleziono il livello) il comportamento è corretto.
Riuscite a replicare e darmi riscontro?
Grazie.
Iscrizione rapida non funziona se moderata
Re: Iscrizione rapida non funziona se moderata
Ciao jasmines
ti dico passo per passo quel che ho fatto per capire se son riuscita a replicare la situazione.
Ho creato un amministratore che non può iscrivere gli utenti direttamente ai corsi.
In pratica, sono andata in Amministrazione/Principale/Amministratori/Profilo Amministratori e all'interno di "Impostazioni speciali" non ho vistato "Questo admin può iscrivere gli utenti direttamente (senza approvazione)"
Ho iscritto un utente ad un corso utilizzando tre modalità differenti:
1) Ho cliccato su "Iscrivi" nella pagina di Benvenuto dell'Amministrazione e, a quel punto, l'utente risulta iscritto al corso
2) Sono andata in Amministrazione/Elearning/Elearning/Corso e dopo aver cliccato sull'icona relativa a "Iscrizione", ho inserito nel campo a sinistra l'userid dell'utente da iscrivere e cliccato sulla croce verde e, a quel punto, l'utente risulta iscritto
3) Sono andata in Amministrazione/Elearning/Elearning/Corso e dopo aver cliccato sull'icona relativa a "Iscrizione", ho cliccato su "Aggiungi" e iscritto l'utente desiderato e anche in questo caso l'utente risulta iscritto
Morale della favola: Se ho capito bene come configurare l'admin che non può iscrivere l'utente direttamente al corso, non riesco a riscontrare la tua stessa situazione in quanto, qualsiasi procedura di iscrizione io scelga, io riesco cmq a iscrivere l'utente.
Quel che però mi chiedo è: se ho configurato l'admin in modo che NON possa iscrivere direttamente gli utenti ai corsi, com'è che invece ci riesco??
Io ho fatto i vari test su Forma, tu cos'hai utilizzato?
Vediam se ne saltiam fuori...
Luisiana
ti dico passo per passo quel che ho fatto per capire se son riuscita a replicare la situazione.
Ho creato un amministratore che non può iscrivere gli utenti direttamente ai corsi.
In pratica, sono andata in Amministrazione/Principale/Amministratori/Profilo Amministratori e all'interno di "Impostazioni speciali" non ho vistato "Questo admin può iscrivere gli utenti direttamente (senza approvazione)"
Ho iscritto un utente ad un corso utilizzando tre modalità differenti:
1) Ho cliccato su "Iscrivi" nella pagina di Benvenuto dell'Amministrazione e, a quel punto, l'utente risulta iscritto al corso
2) Sono andata in Amministrazione/Elearning/Elearning/Corso e dopo aver cliccato sull'icona relativa a "Iscrizione", ho inserito nel campo a sinistra l'userid dell'utente da iscrivere e cliccato sulla croce verde e, a quel punto, l'utente risulta iscritto
3) Sono andata in Amministrazione/Elearning/Elearning/Corso e dopo aver cliccato sull'icona relativa a "Iscrizione", ho cliccato su "Aggiungi" e iscritto l'utente desiderato e anche in questo caso l'utente risulta iscritto
Morale della favola: Se ho capito bene come configurare l'admin che non può iscrivere l'utente direttamente al corso, non riesco a riscontrare la tua stessa situazione in quanto, qualsiasi procedura di iscrizione io scelga, io riesco cmq a iscrivere l'utente.
Quel che però mi chiedo è: se ho configurato l'admin in modo che NON possa iscrivere direttamente gli utenti ai corsi, com'è che invece ci riesco??
Io ho fatto i vari test su Forma, tu cos'hai utilizzato?
Vediam se ne saltiam fuori...
Luisiana
Re: Iscrizione rapida non funziona se moderata
Ciao, sto usando Docebo 4.0.5, ma ho visto che la sostanza nel codice è la stessa.
Forse ne sto uscendo, devo fare qualche altro test e vi so dire se ho trovato il bug!
Forse ne sto uscendo, devo fare qualche altro test e vi so dire se ho trovato il bug!
Re: Iscrizione rapida non funziona se moderata
Dunque, facciamo un po' di analisi insieme, così mi dite le vostre impressioni.
File /doceboLms/admin/controllers/SubscriptionAlmsController.php
funzione fastsubscribe()
alla riga 854 circa, si legge:
qui secondo me c'è un primo errore, perché se $id_user è al primo posto dell'array $admin_users, avrebbe indice 0, per cui generebbe un false.
Correggerei con:
Le due righe seguenti:
Dovrebbero rappresentare un insuccesso, per cui correggerei con:
o un messaggio simile.
Infine, per far funzionare la moderazione, sostituirei le righe 859-860:
con:
Attendo vostre!
File /doceboLms/admin/controllers/SubscriptionAlmsController.php
funzione fastsubscribe()
alla riga 854 circa, si legge:
Code: Select all
if (isset($admin_users) && array_search($id_user, $admin_users) == false && Docebo::user()->getUserLevelId() != ADMIN_GROUP_GODADMIN) {
Correggerei con:
Code: Select all
if (isset($admin_users) && array_search($id_user, $admin_users) === false && Docebo::user()->getUserLevelId() != ADMIN_GROUP_GODADMIN) {
Code: Select all
$output = array('success' => true);
echo $this->json->encode($output);
Code: Select all
$output = array('success' => false, 'message' => $this->_getMessage("no permission"));
echo $this->json->encode($output);
Infine, per far funzionare la moderazione, sostituirei le righe 859-860:
Code: Select all
$waiting = false;
$result = $this->model->subscribeUser($id_user, $level, $waiting);
Code: Select all
$direct_subscribe = Docebo::user()->preference->getAdminPreference('admin_rules.direct_course_subscribe');
if ($direct_subscribe == 'on')
$waiting = false;
else
$waiting = true;
$result = $this->model->subscribeUser($id_user, $level, $waiting);
Re: Iscrizione rapida non funziona se moderata
Ciao Jasmines, grazie a priori per il fix
Però non ho capito qual'è il comportamento sbagliato, potresti spiegarmi meglio come replicare l'errore?
Però non ho capito qual'è il comportamento sbagliato, potresti spiegarmi meglio come replicare l'errore?
Re: Iscrizione rapida non funziona se moderata
In pratica, nel caso di amministratore che non ha il direct subscribe, se usa la fastsubscribe, l'utente non va in attesa, ma viene direttamente iscritto.
Se poi l'utente è il primo dell'array, non succede proprio nulla, nonostante il messaggio sia di success (e questo indipendetemente dalla direct subscribe).
P.s.: la fix risolve sicuramente il secondo problema. Il primo sto testando...
Edit: funziona anche per il primo!
Se poi l'utente è il primo dell'array, non succede proprio nulla, nonostante il messaggio sia di success (e questo indipendetemente dalla direct subscribe).
P.s.: la fix risolve sicuramente il secondo problema. Il primo sto testando...
Edit: funziona anche per il primo!
Re: Iscrizione rapida non funziona se moderata
Edit dell'ultimissima modifica:
Code: Select all
$direct_subscribe = Docebo::user()->preference->getAdminPreference('admin_rules.direct_course_subscribe');
if ($direct_subscribe == 'on' || Docebo::user()->getUserLevelId() == ADMIN_GROUP_GODADMIN )
$waiting = false;
else
$waiting = true;
$result = $this->model->subscribeUser($id_user, $level, $waiting);