Problemas em Availability API

Problemas em Availability API

por EAD Estágio 2 -
Número de respostas: 5

Gostaria de uma ajuda apenas para recuperar o porque não consigo acessar algum modulo do curso, eu usei isso para conseguir saber se tenho acesso ou não:

if ($cm->uservisible) {


    echo 'posso usar';

} else if ($cm->availableinfo) {

      echo $cm->availableinfo;

} else {

    // User cannot access the activity and they will not see it at all.

}


Porém no $cm->availableinfo só trás a seguinte mensagem: Disponível se: A atividade esteja marcada como concluída

Mas não traz qual o item que tenho que concluir para  poder acessar o determinado modulo, alguém tem a solução?


Contagem das avaliações:  -
Em resposta à EAD Estágio 2

Re: Dúvidas em Availability API

por Daniel Neis Araujo -
Imagem de Core developers Imagem de Plugin developers Imagem de Translators

Olá, Yuri


primeiro tomei a liberdade de alterar o título da discussão para "dúvida" pois isso não é um "problema" da API, é mais uma dificuldade de uso, ok?


Eu não sei responder diretamente sua dúvida, mas acredito que o bloco "barra de progresso" (https://github.com/deraadt/moodle-block_progress) deve ter alguma coisa nesse sentido que possa te ajudar.

Contagem das avaliações:  -
Em resposta à Daniel Neis Araujo

Re: Dúvidas em Availability API

por EAD Estágio 2 -

Ola Daniel,

Acredito sim que seja problema da API, pois conforme o próprio moodle sugere (https://docs.moodle.org/dev/Availability_API), ele retornaria essa mensagem assim como retorna no moodle que seria:

Disponível se: A atividade ALGUMA esteja marcada como concluída.

Que seria isto:


$modinfo = get_fast_modinfo($course);
$cm = $modinfo->get_cm($cmid);
if ($cm->uservisible) {
    // User can access the activity.
} else if ($cm->availableinfo) {
    // User cannot access the activity, but on the course page they will
    // see a link to it, greyed-out, with information (HTML format) from
    // $cm->availableinfo about why they can't access it.
} else {
    // User cannot access the activity and they will not see it at all.
}

porem no  no $cm->availableinfo ele apenas retorna-> Disponível se: A atividade esteja marcada como concluída.

Faltando o nome da atividade...

Contagem das avaliações:  -
Em resposta à EAD Estágio 2

Re: Dúvidas em Availability API

por Daniel Neis Araujo -
Imagem de Core developers Imagem de Plugin developers Imagem de Translators

Olá, Yuri


entendo sua dúvida, agora ficou mais claro.

Pensei que podia ser um problema na tradução e fui verificar no https://lang.moodle.org mas as strings que mostram o nome das atividades parecem estar ok nas versões recentes. Encontrei outras strings com problemas que corrigi, mas não eram relacionadas.

Qual versão do Moodle você está utilizando? Já testou com o Moodle em inglês para ter certeza que não é problema na tradução mesmo?

Contagem das avaliações:  -
Em resposta à Daniel Neis Araujo

Re: Dúvidas em Availability API

por EAD Estágio 2 -

Olá Daniel, 


Uso a versão 3.1.1, já testei em inglês e não tive resultado, a própria API já retorna sem o nome da atividade, Não sei onde está o problema :/ 

Contagem das avaliações:  -