Manager automatisch in erstellte Kurse als Trainer/in einschreiben

Manager automatisch in erstellte Kurse als Trainer/in einschreiben

von Martin Leurs -
Anzahl Antworten: 2

Hallo zusammen,

bei uns an der Schule soll jeder Lehrer einen eigenen Unterkursbereich bekommen, in dem er als Manager schalten und walten kann, wie er möchte. Das Problem ist, dass ein Manager, wenn er einen Kurs anlegt, zunächst nicht selbst als Trainer/in in diesen Kurs eingeschrieben ist. Auch wenn ich auf Kursbereichsebene sowohl die Manager, als auch die Kursersteller Rolle zuweise, ist man nicht automatisch in die Kurse eingeschrieben. Wahrscheinlich wird bei mehreren Rollen die höherwertige genommen.

Gibt es eine Möglichkeit, festzulegen, dass ein Manager, wenn er einen Kurs erstellt, automatisch auch als Kursersteller/in bzw. Trainer/in eingeschrieben wird? Es muss ja eigentlich irgendwie gehen, aber ich würde lieber erst an der Managerrolle herumspielen, wenn mir jemand gesagt hat, wo ich spielen muss. ;)

Vielen Dank und viele Grüße
Martin

Anzahl der Bewertungen:  -
Als Antwort auf Martin Leurs

Re: Manager automatisch in erstellte Kurse als Trainer/in einschreiben

von Martin Leurs -
Ein möglicher Workaround wäre natürlich, einfach der Kurserstellerrolle das Recht zu geben, Kurse zu verwalten. Nutzer die dann weitere Rechte benötigen sind ja wahrscheinlich auch versiert genug, zu verstehen, dass sie sich selbst in ihre Kurse einschreiben müssen.
Als Antwort auf Martin Leurs

Re: Manager automatisch in erstellte Kurse als Trainer/in einschreiben

von Ralf Klein -
Ich habe mir mal den Quellcode angesehen und festgestellt, dass die Möglichkeit unterdrückt wird, sobald man das Recht hat 'moodle/course:view'. Das gilt natülrlich für den Manager, da er ja gerade das können soll. Für den SiteAdmin gibt es eine separate Prüfung.

Ich habe einfach knallhart die folgende Quellcode Datei angepasst:
<path-to-moodle>/course/edit.php
Dort dann in Zeile 177 die folgende Änderung durchgeführt:
//   $enroluser = !is_viewing($context, null, 'moodle/role:assign');
$enroluser = $CFG->creatornewroleid;

Das führt dazu, dass nicht auf 'moodle/course:view' geprüft wird sondern nur der globale Eintrag für die Rollenzuweisung, die für 'creatornewroleid' gesetzt ist, überprüft wird. Der passende Hinweis kam hierher:

Vielleicht hoft es ja, auch wenn die Antwort ggf. etwas spät kommt.