手動でコース登録をするときに姓と名以外にユーザ名を表示させる方法について

手動でコース登録をするときに姓と名以外にユーザ名を表示させる方法について

- Yuka Yoshi の投稿
返信数: 4

現在、教師ロールにて手動でコース登録を行わせています。

該当のコースをクリック→設定→さらに→ユーザ→登録済みユーザ→ユーザを登録する→ロールを割り当てる(学生)→登録したひとを検索→登録

の順でコース登録を行っています。

現状、「姓」「名」と「登録」しか表示されません。

ここにユーザ名を表示させる方法はありませんでしょうか?

*WindowsサーバにMoodleを構築しています。

Moodle バージョン 3.2.1+(Build:20170127)

database 5.5.54

php 5.6.30

Yuka Yoshi への返信

Re: 手動でコース登録をするときに姓と名以外にユーザ名を表示させる方法について

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

よろしければ、現在お使いのMoodleのテーマ (例 Boost) をお教えください。

Mitsuhiro Yoshida への返信

Re: 手動でコース登録をするときに姓と名以外にユーザ名を表示させる方法について

- Yuka Yoshi の投稿

いつもご回答ありがとうございます。

テーマセレクタのBoostは、default.scssとなっていました。

Yuka Yoshi への返信

Re: 手動でコース登録をするときに姓と名以外にユーザ名を表示させる方法について

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

下記プログラム修正ではいかがでしょうか。

修正対象プログラム:
enrol/manual/ajax.php

修正箇所:
76行目

[ 修正前 ]
    case 'searchusers':
        $enrolid = required_param('enrolid', PARAM_INT);
        $search = optional_param('search', '', PARAM_RAW);
        $page = optional_param('page', 0, PARAM_INT);
        $addedenrollment = optional_param('enrolcount', 0, PARAM_INT);
        $perpage = optional_param('perpage', 25, PARAM_INT);  //  This value is hard-coded to 25 in quickenrolment.js
        $outcome->response = $manager->get_potential_users($enrolid, $search, $searchanywhere, $page, $perpage, $addedenrollment);
        $extrafields = get_extra_user_fields($context);
        $useroptions = array();
        // User is not enrolled yet, either link to site profile or do not link at all.

[ 修正後 ]
    case 'searchusers':
        $enrolid = required_param('enrolid', PARAM_INT);
        $search = optional_param('search', '', PARAM_RAW);
        $page = optional_param('page', 0, PARAM_INT);
        $addedenrollment = optional_param('enrolcount', 0, PARAM_INT);
        $perpage = optional_param('perpage', 25, PARAM_INT);  //  This value is hard-coded to 25 in quickenrolment.js
        $outcome->response = $manager->get_potential_users($enrolid, $search, $searchanywhere, $page, $perpage, $addedenrollment);
        $extrafields = get_extra_user_fields($context);
        $extrafields[] = 'username';
        $useroptions = array();
        // User is not enrolled yet, either link to site profile or do not link at all.

備考:
ユーザ名を表示するため。
修正対象プログラム:
enrol/locallib.php

修正箇所:
384行目

[ 修正前 ]
        // Add some additional sensible conditions
        $tests = array("u.id <> :guestid", 'u.deleted = 0', 'u.confirmed = 1');
        $params = array('guestid' => $CFG->siteguest);
        if (!empty($search)) {
            $conditions = get_extra_user_fields($this->get_context());
            $conditions[] = 'u.firstname';
            $conditions[] = 'u.lastname';
            $conditions[] = $DB->sql_fullname('u.firstname', 'u.lastname');
            if ($searchanywhere) {

[ 修正後 ]
        // Add some additional sensible conditions
        $tests = array("u.id <> :guestid", 'u.deleted = 0', 'u.confirmed = 1');
        $params = array('guestid' => $CFG->siteguest);
        if (!empty($search)) {
            $conditions = get_extra_user_fields($this->get_context());
            $conditions[] = 'u.firstname';
            $conditions[] = 'u.lastname';
            $conditions[] = 'u.username';
            $conditions[] = $DB->sql_fullname('u.firstname', 'u.lastname');
            if ($searchanywhere) {

備考:
ユーザ名を検索対象にするため。
Mitsuhiro Yoshida への返信

Re: 手動でコース登録をするときに姓と名以外にユーザ名を表示させる方法について

- Yuka Yoshi の投稿

ご回答ありがとうございます。


こちらの環境で上記内容に編集したところ、コース登録時の画面にユーザ名(ログインID)が表示されるようになったことを確認致しました。


いつも本当にありがとうございます。