初心者による質問フォーラム

管理者権限や教師権限での評定について

 
画像 Mitsuhiro Yoshida
Re: 管理者権限や教師権限での評定について
DevelopersTranslators

> Moodleのバージョン:3.3.1(私が利用しているバージョン)でも回避することはできないのでしょうか?

残念ですが、回避することはできません。

コース内でユーザにシステム管理者ロール、編集権限のある教師ロール、学生ロールが同時に割り当てられている場合、そのユーザは「システム管理者ロール」が優先されます。また、編集権限のある教師ロール、学生ロールが同時に割り当てられている場合、「編集権限のある教師ロール」が優先されます。

ちなみにコース内で学生ロールのみが割り当てられたユーザに対して、特定のフォーラム内でのみ編集権限のある教師ロールを割り当てることは可能です。

画像 Waki Shinji
Re: 管理者権限や教師権限での評定について
 

ありがとうございます。

了解しました。

画像 Waki Shinji
Re: 管理者権限や教師権限での評定について
 

「教師」と「学生」を兼務するユーザについては

ロールを切り替えることで、対応しようと検討しています。

・テストを受験する場合:「学生」権限

・テスト結果を確認する場合:「教師」権限


その中で、あるユーザが、「教師」と「学生」を兼務するコースと、「教師」のみを担当するコースが

ある場合、「教師」と「学生」を兼務するコースでのみ

画面右上の「ロールを切り替える」ボタンを表示させたいのですが

方法はあるのでしょうか?

①Aコース:「教師」と「学生」を兼務 ← 「ロールを切り替える」ボタンを表示

②Bコース:「教師」のみを担当    ← 「ロールを切り替える」ボタンは表示させない

ご教授をお願いします。

画像 Mitsuhiro Yoshida
Re: 管理者権限や教師権限での評定について
DevelopersTranslators

下記プログラム修正をお試しください。

修正対象プログラム:
user/lib.php

修正箇所:
942行目

[ 修正前 ]
    } else {
        // Build switch role link.
        $roles = get_switchable_roles($context);
        if (is_array($roles) && (count($roles) > 0)) {

[ 修正後 ]
    } else {
        // Build switch role link.
        if (has_capability('moodle/grade:view', $context, $user->id)) {
            $roles = get_switchable_roles($context);
        } else {
            $roles = [];
        }
        if (is_array($roles) && (count($roles) > 0)) {


画像 Waki Shinji
Re: 管理者権限や教師権限での評定について
 

ご教授頂いた内容を試したところ

「学生」権限の無いコースでは、「ロールを切り替える」ボタンを

非表示にすることができました。

ありがとうございました。