Instalando um plugin casca - Capability não encontrada.

Instalando um plugin casca - Capability não encontrada.

por Luiz Villela -
Número de respostas: 2

Olá, pessoal!

Ao instalar um plugin casca (badiucgrade) que estou escrevendo no moodle 2.8.6, recebi o seguinte erro :

" Capability "gradereport/badiucgrade:view" was not found! This has to be fixed in code.

  • line 389 of /lib/accesslib.php: call to debugging()
  • line 42 of /grade/report/index.php: call to has_capability()"

Porém, eu estou solicitando essa capability pela função require no arquivo index do meu pugin, e defini essa capability no meu código nos arquivos  da pasta language e db, conforme exigido pela documentação do moodle. 

Aonde mais eu poderia estar deixando passar?

Obrigado pela atenção!

Em resposta à Luiz Villela

Re: Instalando um plugin casca - Capability não encontrada.

por Lino Vaz Moniz -

Luiz,

Essa  mensagem significa que a permissão não foi criada. Na arquitetura do plugin do Moodle a permissão deve ser gerada no arquivo em db/access.php

 

Segue exemplo desse arquivo de um outro plugin badiugcurricular:

 
 array(

        'captype' => 'write',
        'contextlevel' => CONTEXT_COURSE,
        'archetypes' => array(
            'editingteacher' => CAP_ALLOW,
            'manager' => CAP_ALLOW,
            'admin' => CAP_ALLOW,
        )
    ),

    'enrol/badiugcurricular:manage' => array(

        'captype' => 'write',
        'contextlevel' => CONTEXT_COURSE,
        'archetypes' => array(
            'editingteacher' => CAP_ALLOW,
            'manager' => CAP_ALLOW,
            'admin' => CAP_ALLOW,
        )
    ),

    'enrol/badiugcurricular:unenrolself' => array(
        'captype' => 'write',
        'contextlevel' => CONTEXT_COURSE,
        'archetypes' => array(
            'student' => CAP_ALLOW,
        )
    ),

   'enrol/badiugcurricular:unenrol' => array(
        'captype' => 'write',
        'contextlevel' => CONTEXT_COURSE,
        'archetypes' => array(
            'editingteacher' => CAP_ALLOW,
            'manager' => CAP_ALLOW,
            'admin' => CAP_ALLOW,
        )
    ),

);

?>


Sugiro você olhar o código o plugin Badiu Grade Curricular. Baixe o plugin em anexo ou nesse http://www.badiu.net/download/badiugcurricular/badiugcurricular_1.1.zip localize o arquivo de permissão na pasta/arquivo  bd/access.php

Em resposta à Lino Vaz Moniz

Re: Instalando um plugin casca - Capability não encontrada.

por Luiz Villela -

Olá, Lino!

 

Obrigado pela atenção.

No caso, eu tinha suspeitado que esse fosse o problema e já tinha escrito essa permissão no arquivo acess.php, porém ainda estou tendo este erro

Meu código é este, inclusive: 

 

<?php


defined('MOODLE_INTERNAL') || die();

    $capabilities = array(

                       'gradereport/badiucgrade:view' => array(
                       'riskbitmask' => RISK_PERSONAL,
                       'captype' => 'read',
                       'contextlevel' => CONTEXT_COURSE,
                       'archetypes' => array(
                       'student' => CAP_ALLOW,
                       'manager' => CAP_ALLOW
)

)

);

 

Obrigado novamente pela atenção, fico no aguardo.