Valery Fremaux
Beiträge von Valery Fremaux
Il manque des capacités. Voici comment les ajouter simplement :
Dans le fichier /lib/db/access.php vers la ligne §633 :
'moodle/course:importmodule' => array(
'riskbitmask' => RISK_SPAM,
'captype' => 'write',
'contextlevel' => CONTEXT_COURSE,
'legacy' => array(
'editingteacher' => CAP_ALLOW,
'admin' => CAP_ALLOW
)
),
'moodle/course:exportmodule' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_COURSE,
'legacy' => array(
'editingteacher' => CAP_ALLOW,
'admin' => CAP_ALLOW
)
),
Dans le fichier /version.php
Augmenter de 1 unité la version de Moodle.
Aller activer les notification de l'administration (Attention, ça recharge les packs de langues installés administrativement).
Terminer la mise à jour (ne fera pas grand chose qu'inscrire les capacités)
Dans le fichier /lang/en_utf8/role.php §27
$string['course:exportmodule'] = 'Cut out a module';
$string['course:importmodule'] = 'Paste in a module';
Dans le fichier moodledata/lang/fr_utf8/role.php §27
$string['course:exportmodule'] = 'Couper un module d\'un cours';
$string['course:importmodule'] = 'Coller un module dans le cours';
Les capacités sont disponibles et on peut tester le déplacement de ressources par un enseignant éditeur.
Non, c'est un bug. Je l'avais imputé aux peu de cours que j'avais dans ma plate-forme de développement. Je vais regarder pourquoi je ne trouve pas "mes cours" en tant qu'enseignant.
C'est plutôt un problème de capacités. Le patch exploite deux nouvelles capacités système
moodle/course:exportmodule et moodle/course:importmodule
Je ne sais pour l'instant pas comment les mettre dans le patch. Je vais essayer quelques entrées manuelles dans mdl_capabilities et voir si je peux publier une injection pour ces capacités.
sinon, temporairement dans la nouvelle fonction module_change_course(...) on peut les désactiver dans le code :
// check capabilities if not admin
if (!isadmin()){
/*
$context = get_context_instance(CONTEXT_COURSE, $COURSE->id);
//require_capability('moodle/course:exportmodule', $context);
$context = get_context_instance(CONTEXT_COURSE, $courseid);
require_capability('moodle/course:importmodule', $context);
*/
}
Hi,
Is there a way to make a clean definition of additional capabilities when making a patch ?
I need to initiate properly
moodle/course:exportmodule and
moodle/course:importmodule
and have some default for legacy roles defined.
What is the best way and place to do that ? Thanks.