Dérogations aux permissions - quelles tables ?

Re: Dérogations aux permissions - table mdl_role_capabilities

par Séverin Terrier,
Nombre de réponses : 0
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

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

Moyenne des évaluations Utile (1)