Bonjour,
Pour la suppression des dérogations sur les permissions, j'ai utilisé cette requête (il suffit de remplacer la partie SELECT par celle du DELETE) :
DELETE -- Liste des (alias de) tables dans lesquelles supprimer des éléments rc FROM -- Liste des tables à utiliser mdl_course AS c ,mdl_course_modules AS cm ,mdl_questionnaire AS q ,mdl_modules AS m ,mdl_context AS ctx ,mdl_role_capabilities AS rc WHERE m.name = 'questionnaire' AND cm.module = m.id AND q.id = cm.instance AND cm.course = c.id AND q.name LIKE 'Questionnaire évaluation des enseignements%pair%' AND ctx.instanceid = cm.id AND ctx.contextlevel = 70 AND rc.contextid = ctx.id AND rc.capability IN ('mod/questionnaire:editquestions', 'mod/questionnaire:deleteresponses') AND rc.roleid IN (3,10,14,15) -- Lignes ajoutées pour tester uniquement sur un cours, voire un questionnaire -- AND c.id = 2084 -- AND cm.id = 74018 ;
Bien évidemment, si vous devez effectuer une opération similaire, il faudrait adapter la requête, en fonction des capacités et rôles ciblé, et également du type d'activité en question.
Séverin