restauration de cours et attribution de roles

Re: restauration de cours et attribution de roles

par Bruno Malaval,
Nombre de réponses : 0
Avatar Moodleurs particulièrement utiles

Bonjour,

J'ai finalement trouvé le changement qui a provoqué cette erreur :
Après avoir longtemps chercher dans mes roles, j'ai regardé le code.

Il y a une différence dans le fichier backup/restore_check.html entre la version 1.9.7 et la version 1.9.8 (nous avons upgradé notre serveur en juillet 2010)


Ce sont Les nouveaux controles effectués après le commentaire :
"// Re-check all the roles creation/mapping stuff"

En version 1.9.7, un utilisateur créant un cours dans une catégorie n'avait pas besoin d'avoir la capacité d'attribuer des roles dans la catégorie où il restaurait un cours en tant que nouveau cours. Maintenant si.

voici les instructions (je ne prends que les instructions concernant le pb) :

$contexttosearch = get_context_instance(CONTEXT_COURSECAT, $restore->restore_restorecatto);
==> récupération du contexte de la catégorie

$canassignroles = has_capability('moodle/role:assign', $contexttosearch);
==> vérifie si l'utilisateur a la capacité "assigner des rôles" dans la catégorie.

Le problème est identifié, la seule méthode de mon coté pour résoudre mon problème est de modifié le code.
Je n'aime pas trop faire cela, mais je ne vois pas trop d'autre solution.

Maintenant, mais ce n'est qu'un avis, je pense qu'il y a une petite incohérence dans ces tests
Sur notre plateforme, nous donnons le droit aux professeurs de créer eux-mêmes des cours, dans les catégories où ils enseignent

Un tel utilisateur peut donc créer un cours dans une catégorie, sans avoir la capacité d'attribuer des roles dans cette catégorie.
Par contre, il ne peut pas créer un nouveau cours par restauration d'une sauvegarde, sans avoir cette capacité.
Alors que la capacité d'attribuer des rôles dans cette catégorie ne lui pas utile, et que nous ne souhaitons pas la donner dans les catégories.

Je ne vois pas forcément toutes les implications et origines de ces nouveaux tests.
Il ne s'agit donc que d'un avis.

Si vous avez des réponses, je suis preneur ...

En attendant, merci pour réponses, cela m'a bien aidé.

Bonne journée.